Keywords

1 Introduction

Computer networks have been in existence for over past three decades worldwide. Different environments including offices, campuses, military bases, governmental institutions, etc., have had their electronic devices connected to each other to enable the communication and sharing of different services and resources. Consequently, Wireless Mesh Networks (WMNs) continue to play a crucial role in these environments by supporting seamless connectivity, Wide Area Networks (WANs) coverage , mobility features, etc. WMNs can be seen as an extension of multi-hop Mobile Ad hoc Networks (MANETS) wherein each node can communicate directly or indirectly with one or more peer nodes. However, the nodes in WMNs, have the ability to relay data on behalf of other nodes. Therefore, WMNs can be defined as decentralized network structures wherein nodes have the potential to relay messages on behalf of others. This facilitates the creation of a self-configuring system that extends its coverage range and increases its available bandwidth. Currently, there are two types of WMN topologies, namely; Full Mesh and Partial Mesh. In addition, WMNs can be subdivided into three different types of architectures, namely; infrastructure\backbone, client, and hybrid. In general, WMNs often comprise of Mesh Routers (MRs) and Mesh Clients (MCs) . MRs have limited mobility and thus form a multi-hop wireless mesh backbone between MCs and Mesh Gateways (MGs) [13]. MRs have the potential to provide the routing capability for both gateway and bridging features and, thus, can be used as MGs. MCs comprise of end-user devices such as desktop computers, laptops, Personal Digital Assistants (PDAs) , mobile phones, printers, etc. On the other hand, MGs facilitate the integration of WMNs with other wired/wireless networks such as the Internet, cellular, Wireless Sensor Networks (WSNs) , etc.

The attractive qualities of WMNs include low-cost deployment, robustness and the inheritance of useful characteristics from both ad hoc networking and the traditional wired infrastructure paradigms [22]. Furthermore, the services and resources are always available on these networks. However, discovering services and resources on these networks is still challenging [1]. For this reason, a lot of work has been done in the field of service discovery. Service discovery refers to the process whereby devices (mobile or stationary) are able to discover without any intervention, appropriate services requested by users. In most cases, this process consists of three entities, namely; services, service registries, and clients. A service is any tangible or intangible facility a device provides to other devices as long as it is useful [18]. Furthermore, services fall into two categories: software and hardware services. Software services include MP3 files, audio convention, electronic mailing (emailing), etc. On the other hand, hardware services include printers, scanners, Voice over Internet Protocol (VoIP) phones , etc. Moreover, service registries are entities that store information about available services and/or advertise information about available services to other service registries or service receivers. Clients represent both service receivers and service transmitters. Therefore, clients have the potential to provide services to or request services from other clients through service discovery models.

Moreover, there are three service discovery approaches for flooding the network with information: directory-based, non-directory-based, and hybrid approaches. The most suitable approach for WMNs is the directory-based approach, as it does not involve the broadcasting or multicasting of information. However, most recent service discovery models for WMNs perform broadcasting or multicasting when flooding the network with information, resulting to network overhead [1]. Apart from that, the number of users in WMNs continues to increase, leading to competitions for available services and resources. These competitions further lead to clogging as more users request services simultaneously [20].

In this study, therefore, we propose Ndlovu Okuthe Manoj (NOM) service discovery model that aids in optimizing the performance of service discovery in WMNs. In the proposed model, we integrate the Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) algorithms. The PSO algorithm is used to define and give different priorities to the services on the network. The prioritization is based on varied workflow procedures. On the other hand, the ACO is used to determine the most cost-effective path between transmitters whenever each transmitter has to be searched to identify if it possesses the requested service(s). Furthermore, we design and implement the Link Collision Reduction (LCR) algorithm to define the number of service receivers to be granted access to the services simultaneously. We simulate the proposed model using Network Simulator 2 (NS2) against Ant Colony based-multi constraints QoS-aware service selection (QSS) model by Kumar et al. [16] and FLEXIble Mesh Service Discovery (FLEXI-MSD) model by Krebs [14]. The NS2 tool is a discrete-event network simulation tool that facilitates users to model the behavior of wired/wireless and satellite networks. Compared to those of QSS and FLEXI-MSD, the results of the proposed model show reduced link congestions and fewer data collisions and link interferences as well as an improved average service discovery throughput of 80%, service availability of 96%, service selection of 89%, and service discovery delay of 1.8 s.

The rest of this Chapter is organized as follows: In Sect. 2, we present a brief discussion of WMNs. In Sect. 3, we present an overview of the PSO and ACO. In Sect. 4, we discuss related works. The design and architecture of the proposed WMN are discussed in Sect. 5. In Sect. 6, we present the model, with simulation results and discussion, is presented in Sect. 7. Lastly, we discuss future works and conclude the Chapter in Sect. 8.

2 Wireless Mesh Networks

In this Section, we provide a deeper insight into WMNs. We discuss the topologies and different types of WMNs. We also discuss the characteristics of these networks. Furthermore, we look into the critical factors to be considered in designing these networks. We then discuss the application areas of these networks. Later, we present a brief overview of the PSO and ACO algorithms. Thereafter, we discuss service discovery, its components, as well as the steps involved in this process. Lastly, we provide an insight into existing service discovery models and the various gaps available in these models.

However, mesh networks are categorized into two types of topologies, namely; Full mesh and Partial mesh. We show the differences of these topologies in Figs. 1 and 2. As shown in Fig. 1, a Full mesh topology occurs when every node is connected to every other node on the network. This topology yields the greatest amount of redundancy, so if a node fails, network traffic can be directed to other nodes. Full mesh is usually reserved for backbone networks. While, on the other hand, with partial mesh, some nodes are organized in a full-mesh topology, but others are connected to only one or two nodes on the network. Looking at Fig. 2, Partial mesh topologies are less expensive to implement but yields less redundancy compared to Full mesh topologies.

Fig. 1
figure 1

Typical full mesh topology

Fig. 2
figure 2

Typical partial-mesh topology

2.1 Overview of Wireless Mesh Networks

In the last decade, computer networks have become a never-ending quest. The availability of services and resources has made WMNs be the most recognized with the growth of wireless fidelity and outdoor wireless networks. Furthermore, mobile devices such as laptops, cell phones, Personal Digital Assistants (PDAs) , and tablets have become available at an affordable cost [19]. These networks provide services independent of both the network owners and equipment vendors and further enable users to introduce self-tailored services within their devices. These networks support services such as the Internet, e-commerce, audio streaming, Voice over Internet Protocol (VoIP), Video on Demand (VoD) , file and printer sharing, etc. Ndlovu et al. [21] defined WMNs as heterogeneous and decentralized network structures whereby pervasive nodes are able to relay data over the network. On the other hand, Zeng et al. [29] defined WMNs as communication networks consisting of wireless devices organized in a mesh topology.

In its most general form, a WMN consist of MRs and MCs wherein MRs have limited mobility to form a multi-hop wireless mesh backbone between MCs and Mesh Gateways (MGs) . Furthermore, some MRs have the potential to provide routing capabilities for gateway/bridge functions simultaneously and, thus, can be utilized as MGs. The purpose is to enable the integration of WMNs with other networks such as the Internet, etc. MCs are desktop computers, laptops, PDAs, mobile phones, printers, etc., sharing services and resources on the network. Furthermore, there are three types of WMNs, namely; Infrastructure\Backbone, Client, and Hybrid. The differences between these types are briefly discussed in the next Section.

2.2 Types of Wireless Mesh Networks

There are three types of WMNs and are discussed as follows:

  1. A.

    Infrastructure/Backbone WMN

This type of architecture comprises of MRs forming a backbone for wired/wireless MCs. This architecture can also be built by integrating various radio technologies in addition to the IEEE 802.11 technologies used to interconnect nodes within WMNs. The benefit of this architecture is that MRs form a mesh of self-configuring as well as self-healing links among themselves [2]. As shown in Fig. 3, MRs are responsible for the communication between MCs as well as other networks such as the Internet through MGs functionalities. As mentioned in Sect. 2.1, MGs are responsible for integrating WMNs with other networks.

Fig. 3
figure 3

Typical infrastructure/backbone WMN

  1. B.

    Client WMN

This type of architecture comprises of MCs only, which are communicating with each other in a peer-to-peer technique. As shown in Fig. 4, in this type of architecture, client nodes constitute the actual network to perform routing and configuration functionalities and to provide end-user applications to customers [2]. However, this, in turn, increases the workload to client nodes leading to poor QoS when the network size increases.

Fig. 4
figure 4

Typical client WMN

  1. C.

    Hybrid WMN

This is an integration of Infrastructure/Backbone and Client WMNs. For this reason, in this type of WMN, MCs can access the network through MRs or by directly meshing with other MCs [2]. As shown in Fig. 5, the Infrastructure/Backbone architecture allows the integration of WMNs and other networks. This architecture yields an improved QoS compared to Infrastructure and Client WMNs.

Fig. 5
figure 5

Typical hybrid WMN

2.3 Characteristics of Wireless Mesh Networks

The research work by Akyildiz et al. [2], discussed the essential characteristics of WMNs as follows:

  1. A.

    WMNs are multi-hop wireless networks.

    WMNs are considered as multi-hop networks which aid in achieving higher throughput without sacrificing effective radio range via shorter link distances, less interference between the nodes, and more efficient frequency reuse.

  2. B.

    WMNs support for ad hoc networking, and capability of self-forming, self-healing, and self-organization.

    Introducing WMNs topology in any network enhances that networks’ performance. This is because WMNs are flexible, easy to deploy and configure, fault tolerance, and self-healing. By having such features, WMNs have low upfront investment requirement, and the network can grow gradually as needed.

  3. C.

    The mobility in WMNs depends on the type of mesh nodes.

    As mentioned in Sect. 2.1, the mobility depends on the type of node. Nodes such as MRs have limited mobility. However, MCs can either be stationary or mobile.

  4. D.

    WMNs support multiple types of network access.

    WMNs permit both backhaul accesses to the Internet and client to client network communication. WMNs can also be integrated with other networks and that is achieved through MGs.

  5. E.

    The power consumption constraint in WMNs depends on the type of mesh nodes.

    In most case, MRs do not have strict constraints on power consumption. However, due to the fact that MCs are mobile, and may, therefore, require power efficient routing protocols.

  6. F.

    WMNs are compatible and interoperable with other existing networks.

    Since WMNs are built on IEEE 802.11 technologies, therefore, they must also be compatible with the IEEE 802.11 standards by supporting both the mesh capable and conventional Wi-Fi clients.

  7. G.

    WMNs have wireless infrastructure/backbone.

    In most cases, WMNs have wireless infrastructure/backbone, which is composed of MRs providing large coverage, connectivity, as well as robustness on the network.

  8. H.

    WMNs support the integration of WMNs and conventional networks.

    The integration of WMNs and other networks is easily supported in WMNs. This is because MRs provide the gateway and bridging functions, which enables users from a particular network to access services and resources located on another network.

  9. I.

    The routing and configurations are dedicated to particular nodes in WMNs.

    In WMNs, MRs are responsible for routing and configurations, which reduces the load for MCs compared to other types of networks such as MANETs , whereby routing and configurations are performed by clients.

  10. J.

    Multiple radios.

    In most cases, MRs are equipped with multiple radios to perform routing and access functionalities, which aids in the separation of two main types of traffic on the network.

  11. K.

    Lastly, WMNs are able to self-heal.

    Whenever a fault is experienced within the entire network, the network is able to reconfigure itself.

2.4 Benefits of Wireless Mesh Networks

The benefits of WMNs include [5, 14, 22]:

  1. A.

    WMNs are considered as highly flexible and scalable networks.

  2. B.

    The routers in WMNs have limited mobility for the purpose of forming a multi-hop communication.

  3. C.

    WMNs provide a large coverage area and lower costs of backhaul connections.

  4. D.

    WMNs also include low-cost deployment, robustness and inherit the useful characteristics from both the ad hoc networking paradigm and traditionally wired infrastructure paradigms.

  5. E.

    WMNs are the right solution for metropolitan area networks, providing last few miles connectivity.

2.5 Critical Design Factors in Wireless Mesh Networks

Pathak and Dutta [22] presented a survey of network design problems and joint design approaches in WMNs. The purpose was to discuss the critical design factors to be considered before WMNs can be designed, deployed, and operated. These factors are briefly discussed as follows:

  1. A.

    Interference measurement and modeling—how to estimate and model the interferences in the dynamic wireless environment.

  2. B.

    Power control—how to assign transmission power levels to nodes having transmission requirements.

  3. C.

    Topology control—how to control the topology by choosing or avoiding certain links on the network.

  4. D.

    Link Scheduling—how to schedule link transmissions to achieve feasible and conflict-free transmission schedule.

  5. E.

    Channel/radio assignment—how to assign multiple channels to single or multiple radios at mesh nodes.

  6. F.

    Routing—how to choose routing paths to satisfy the end-to-end traffic demands between mesh nodes.

  7. G.

    Network planning and deployment—how to deal with the topological and deployment factors such as the placement of a gateway.

  8. H.

    Performance modeling and capacity analysis—how to understand the best and worst case theoretical capacity.

  9. I.

    Joint power control, topology control, link scheduling, routing or channel/radio assignment—how to deal with cross-layer optimization of more than one problem simultaneously.

2.6 Applications of Wireless Mesh Networks

WMNs have been seen as the cost-effective type of networks supporting seamless connectivity, WAN coverage, and mobility features. These benefits and the availability of services and resources have led WMNs to be the best solution for many applications. Some of the applications that motivate the research and development of WMNs include [25]:

  1. A.

    Broadband internet access—many companies realize the potential of WMNs as an internet access solution and produced a broad range of related products. This is because WMNs offer considerable advantages as an internet broadband access technology.

  2. B.

    Indoor WLAN coverage—many companies leveraged the multi-hop capabilities of WMNs to eliminate the need for cables. In such a deployment, at least one of the routers is connected to the external network and, hence, becomes a gateway. Other routers double up as Access Points (APs) in order to forward data from (and to) wireless clients to the gateway.

  3. C.

    Mobile user access—most mobile users seeking connectivity outside the sparse coverage of WLAN hot spots have to settle for the slow and expensive 19.2 kbps cellular digital packet data (CDPD) or, more recently, for GPRS (usually 20–30 kbps—theoretical maximum 171.2 kbps). Properly designed WMNs can easily deliver higher bandwidth than the best 3 g technology.

  4. D.

    Connectivity—Sometimes, providing network connectivity can be cumbersome, expensive, time-consuming or unsightly. network users should consider constructing WMNs specifically geared toward providing connectivity whereby routers form a wireless “cloud” that can be seen from outside as one big Ethernet switch.

3 Overview of Particle Swarm Optimization and Ant Colony Optimization Algorithms

In this Section, we discuss the PSO and ACO algorithms. These are algorithms used to eradicate the various gaps found in the conventional service discovery models for WMNs. Later, we then discuss the benefits and drawbacks of these two models.

3.1 Particle Swarm Optimization

Selvi and Umarani [23] stated that both the PSO and ACO algorithms are the most important and recent methods and optimization methods in networking. PSO algorithm was proposed for the optimization of continuous nonlinear functions [10]. The algorithm defines three behaviors of flocks in a swarm: cohesion—(sticking together), separation—(not coming too close) and alignment—(following the general heading of the flock). Its responsibility is to simulate a random search in the design space for the maximum value of the objective. Furthermore, it was implemented on two paradigms: one globally oriented (GBEST) and one locally oriented (LBEST).

It works more similar to the Genetic Algorithms (GAs) . However, the information sharing in these two algorithms differs in the sense that any entity can share information in GAs while only GBEST and LBEST entities can share information with other entities in the PSO algorithm. PSO can be used to search for optimal solutions and to efficiently face the classification of multiclass databases as discussed by Selvi and Umarani [23], which is one reason why it is employed in this work.

As previously discussed, this algorithm is better than GAs as it is easily programmable, is faster in convergence, and provides effective solutions. However, in this study, we employ the PSO algorithm mainly for the classification and prioritization of services on the network.

3.2 Ant Colony Optimization

The ACO is a technique used to calculate an optimized path between two positions in a space. This algorithm was proposed by Dorigo in 1992 as a multi-agent approach to difficult combinatorial optimization problems such as the traveling salesman problem and the quadratic assignment problem [9]. The algorithm mimics the cooperative behavior of real-time ant colonies, which are able to find the most cost-effective path between the nests and food sources.

The basic idea of the ACO is taken from the real-time ants when they are searching for food. As they search for food ants deposit a chemical called pheromone, which is meant for marking the route from their colony to the food source. Other ants are attracted by the pheromone and start following its trails. However, as time goes on the pheromone evaporates making ants lose interest in following that route.

In any ACO technique, packets represent ant agents, traveling across the network to find the most cost-effective routes. The selection of the route is based on the concentration of pheromones. Unlike GAs, the ACO is able to run continuously and adapt to network changes in real time and this facilitates network routing and urban transportation systems [23]. In most cases, the process of ACO has random paths at the beginning that converge into a single most effective path to reduce time, energy, and collisions.

3.3 Benefits and Drawbacks

The benefits and drawbacks of PSO and ACO include [23]:

  1. A.

    PSO is based on intelligence.

  2. B.

    It can be applied in both scientific research and engineering use

  3. C.

    It cannot work out problems of scattering and optimization.

  4. D.

    ACO provides positive feedback accounts for the rapid discovery of good solutions.

  5. E.

    The probability distribution changes after iteration.

4 Overview of Service Discovery

In this Section, we present an overview of service discovery by discussing services and their different types. We also briefly discuss the process of service discovery, the components of service discovery. Lastly, we discuss the steps involved in the process of service discovery.

4.1 Services

A service is an act or process whereby a device is serving other devices. A service can be anything such as printing, emailing, scanning, user account management, etc. Consequently, Mian et al. [18] defined a service as any tangible or intangible facility a device provides to other devices that are useful. On the other hand, Kogeda [12] discussed a service as more of an abstraction of the network-element-oriented or equipment-oriented view. Furthermore, identical services can be provided by different network elements, and different services can be provided by the same network element [18]. There are two types of services known as software and hardware services. Software services can be anything such as MP3 files while hardware services can be printers, etc. [18].

However, some services rely on other services to perform their duties and this is known as Network Service Dependency . Kogeda [12] discussed Network Service Dependency as the process whereby one component requires a service performed by another component to execute its functions. For instance, a printing service depends on the network and power supply; otherwise, it cannot perform its duty. However, in this Chapter, we do not dwell much on Network Service Dependency.

4.2 Service Discovery

Service discovery is the process whereby devices whether mobile or stationary are able to discover appropriate services as requested by users without any intervention. It involves the ability to discover and recognize the available services in a network [4]. The purpose of service discovery is to reduce human effort such as configuring and maintaining hundreds of devices in large networks, especially WMNs as MCs join and leave the network anytime.

In order to benefit from the process of service discovery, service discovery models enable these capabilities. Their responsibility is to autoconfigure the network to discover services without any user intervention. Therefore, if there is no service discovery model then services cannot be discovered without user involvement and their existence remains unknown to service receivers [8].

There are two ways to discover services; (a) discovery-advertisement whereby service transmitters advertise their services to service receivers. (b) discovery-search whereby service receivers advertise their requests to service transmitters [6].

Furthermore, there are three types of service discovery approaches for flooding information to the network and are known as directory-based, non-directory-based, and hybrid approaches. The most suitable approach for WMNs is a directory-based approach as there are service directories (servers) wherein service providers can locate or register their services to them. The advantage is that there is no frequently disconnection while accessing services on the network. While non-directory-based approaches apply broadcasting or multicasting of messages, which harm the network performance.

Nevertheless, recent approaches perform broadcasting or multicasting for flooding messages on the network, which leads to network overhead [1]. Consequently, we have based the proposed model on a directory-based approach.

4.3 Entities of Service Discovery

The process of service discovery includes entities such as clients, service registries, and services, which are discussed as follows:

  1. A.

    Clients are entities representing both service receivers and service transmitters. These entities either provide services or expect to discover services from other entities with the help of service discovery models.

  2. B.

    Registries are entities that store information about available services advertised by service transmitters within the network. Its responsibility is to advertise services to service receivers so that they can be aware of services that are available on the network.

  3. C.

    Services refer to support provided by entities to other entities within the network in order to perform their tasks. There are two types of services in networking and are known as software and hardware services.

4.4 The Steps Involved in Service Discovery

Ahmad and Khalid [1] stated that service discovery involves steps such as bootstrapping , service registration , service discovery, and network resilience . However, we have considered the first three steps and provide a discussion as follows:

  1. A.

    Bootstrapping refers to the process performed by nodes, which aids in the identification of neighbor nodes and available services. The bootstrapping node uses unicast and multicast communication techniques to declare its existence on the network and to advertise the available services on the network.

  2. B.

    Service registration which refers to the process which enables the service transmitters to register their services to one of the nearest servers. The purpose of storing the information about available services is to advertise this information via unicast or multicast to service receivers.

  3. C.

    Service discovery which is defined as the process performed by end-user devices to discover appropriate services requested by a user and without manually configuring devices and programs. The purpose of this process is to reduce human effort and precious time spent during the network configuration especially when looking for available services.

  4. D.

    Network resilience which deals with the ability to provide and maintain an acceptable level of service on the network especially in the face of faults and challenges.

4.5 The Challenges in Service Discovery

In the past years, a lot of work has been proposed in the field of service discovery in computer networks, which resulted in the development of several service discovery models. These models include Sun’s Jini technology, Microsoft’s Universal Plug and Play (UPnP) , Salutation, Service Location Protocol (SLP) [11], Apple’s Bonjour, Bluetooth Service Discovery Protocol (SDP) , etc. The most dominant ones included UPnP, Bluetooth SDP , Apple’s Bonjour, and Sun’s Jini [6].

However, most of these models were developed mainly for small office, and home or enterprise networks [1, 14, 15, 31]. For this reason, these models are not scalable enough to be employed in WMNs. Furthermore, the work by Villaverde et al. [26] discussed that these protocols were not designed to be power efficient and consequently introduce significant overhead when adapted to wireless networks composed of devices with limited power supply.

With the aim of trying to diminish the drawbacks mentioned above, a Mesh-enhanced Service Location Protocol (mSLP) was presented by Zhao et al. [30]. However, this model too does not scale well in WMNs as service registration must be replicated between all the servers [1, 15].

On the other hand, other models were employed for MANETs whereby energy consumption and message dissemination were the two major concerns. Consequently, these models were found not scalable enough for WMNs [14, 15]. The primary reason is that these models apply flooding techniques as there are no dedicated servers on MANETs, which leads to network overhead [14]. Additionally, flooding of query messages consumes a lot of bandwidth, computation resources, and battery resources [28]. The work by Deepa and Swamynathan [7], Zakarya and Rahman [28], further discussed node mobility as another challenge experienced in MANETs. The primary reason is that it affects service availability because of frequent disconnection between service transmitters and receivers [3, 7].

In this study, therefore, we proposed NOM model in order to solve the mentioned drawbacks and optimize the performance of service discovery in WMNs. The proposed model provides an improved service discovery throughput, service availability, service selection probability, and reduced service discovery delay.

5 Related Work

Several types of research have been ongoing currently in various ways to optimize the performance of service discovery in WMNs. In this Section, we discuss briefly some of these researches.

5.1 QoS Aware Service Selection (QSS) Model

Kumar et al. [16] developed a QoS-aware service selection (QSS) model in order to provide QoS in the presence of constraints such as delay, jitter, and service availability. The research discovered that most of the existing models were mainly concerned about energy consumption which should not be the concern in WMNs as mesh nodes have limited mobility. In the model, services were discovered based on a defined cost-effective (CE) metric which guides ants regarding the path to choose between the source and destination. Compared to other models, ants in the model are not launched randomly but based on the Guided Search Evaluation (GSE) criterion . The GSE criterions also aid in decision-making when two paths have the same CE metric. The authors claim that the model provided better performance than other conventional models with respect to convergence, end-to-end delay (jitter), and service availability. However, the authors did not consider having a definite number of users given access to services simultaneously which yields to link congestions, data collisions, interference, etc. Additionally, in the model, different services are not given priorities, which affect QoS. Similarly, NOM model uses ACO to choose the most cost-effective path whenever each transmitter has to be searched to identify if it possesses the requested service.

5.2 FLEXI-Mesh Service Discovery (MSD) Model

Krebs [14] developed a cross-layer service discovery model called the FLEXI-Mesh Service Discovery (MSD) model . The proposed model was employed to ensure that wireless MRs dynamically established a virtual backbone. In the model, nodes automatically reorganize themselves in order to adapt to network changes in terms of structure and stability. The model uses the Optimized Link State Routing (OLSR) protocol and Domain Name System Service Discovery (DNS-SD). The OLSR protocol aids in finding most cost-effective routes. Meanwhile, the DNS-SD is used to offer clients an opportunity to discover, using standard DNS-messages, a list of named instances of the requested service. The authors claim that an adaptive (hybrid) service discovery mechanism which switches between ad hoc and supernode-based backbone systems outperforms a static operation mode system. This is because WMNs vary in network stability, device capabilities, and different mobility patterns. However, the problem with OLSR is that it requires a lot more bandwidth and Central Processing Unit (CPU) power to compute optimal paths on the network than does the ACO. Additionally, DNS-SD limits message forwarding to a maximum of hops, which makes it unfit for WMNs. Moreover, authors did not take into account factors such as clogging, which could be caused by many users given access to services at the same time. In this study, we have carefully considered such bottlenecks. We have also given different priorities to services to improve QoS.

5.3 A Model to Assure a Certain Level of QoS

Ahmad and Khalid [1] presented a service discovery model that assured certain levels of QoS. The model was proposed to avoid flooding and broadcasting of packets, which leads to discovery overhead. The aim was to reduce the routing update overhead by using different exchange periods for different entries in the routing table. In the model, a combination of Fisheye State Routing (FSR) and OLSR are used to minimize the flooding and broadcasting of packets. This new routing protocol aided in dividing the network into different scope levels for service advertisement and discovery. Meanwhile, the Normalized Link Failure Frequency (NLFF) metric is used to randomly select backbone nodes to be service directories based on the networks’ stability constraints. The authors claim that the model would achieve a reduced network load; reasonable mean time delay by the requests initiated by the clients, a great average hit ratio of successful attempts, and reduced battery power consumption. However, this model did not take into account factors such as service response and availability, nor did the research did consider defining the number of service receivers to be granted access to services simultaneously. Additionally, the authors did not provide any experimental evaluations. On the other hand, in our proposed model, we give different priorities to the available services, which assure a certain level performance during service discovery.

5.4 A Scalable Two-Layered Approach for Distributed Service Discovery

Krebs and Krempels [15] developed a scalable two-layered approach for distributed service discovery in WMNs. The authors proposed the model after realizing that other models were optimized for highly dynamic environments. The model uses OLSR to apply anycast functionality. This aids in increasing service cache reliability, client transparency, and locality improvements, which further enables clients to communicate with the best service cache to register or query for services. This model integrated two replicate techniques that are exponential backoff and sends control in order to prevent severe duplicate information dissemination. The authors claim that this technique reduced delay and increases successful anycast queries. However, in this model service records are not consistent within service caches at any time. Additionally, the model does not have a definite number of receivers to be given access to service at the same time, which leads to clogging. Moreover, services are not given different priorities. On the other hand, we use ACO rather than OLSR.

5.5 Distributed-Hash Table Localized Service Discovery (DLSD)

Wirtz et al. [27] developed a Distributed-Hash Table Localized Service Discovery (DLSD) in order to maintain high transmission performance and minimize interference in WMNs. The study discovered that services and data discovery using undirected broadcast or multicast messages significantly degrade network performance because of link interferences and data collisions. In the model, Distributed-Hash Tables (DHTs) are used to offer consistent mapping of services and data, which permits directed unicast discovery and access. This aids in minimizing multi-hop transmission and ensured global reachability. The authors’ claim that by searching in local sub-address spaces, their model reduces the number of overlays and underlay hops compared to Mesh-DHT and Chord. However, Mesh-DHT experiences delay in the event whereby the requested item is not found within the most local provider because it has to be searched within other providers through broadcasting or multicasting, which leads in traffic congestions and data collisions. Additionally, we argue that the authors did not consider limiting the number of receivers to be given access to services simultaneously. We further considered choosing the most cost-effective path whenever transmitters are to be searched for the requested services.

5.6 Existing Service Discovery Routing Protocols

A number of routing protocols have been proposed. However, routing protocols have been designed for specific network sizes. The aim has been to establish the most cost-effective path between the source and destination, which is achieved by allowing the exchange of routing tables or known networks between routers. Additionally, there are two types of routing protocols: static and dynamic routing protocols. However, the work by Manvi et al. [17] presented a performance analysis of an Ad hoc On-Demand Distance Vector (AODV) , Dynamic Source Routing (DSR) , and swarm intelligence routing protocols. Their objective was to evaluate, using extensive simulation experiments, the routing performance of these routing protocols for Vehicular Ad Hoc Networks (VANETs) . For the movement of vehicles, they used the random waypoint model. In order to analyze the performance of these protocols, the following performance measures were considered: Throughput, Latency, Delivery ratio, and Delivery cost. Through experiments, the authors discovered that swarm routing protocols provide more promising results than do AODV and DSR. Additionally, Shruthi and Hemanth [24] concurred that swarm intelligence routing protocols outperform the standard MANET routing protocols like AODV, DSDV, DSR. Consequently, we have used ACO, which is a swarm-based routing protocol and aided in choosing the most cost-effective path whenever transmitters are to be searched for the requested services.

Unfortunately, various existing service discovery models have been more concerned about energy consumption and message dissemination. Some of these models applied flooding and broadcasting of query messages, which led in link congestion, data collisions, link interferences, etc. In these models, services were not given different priorities based on their varied workflow procedures, which does not assure a certain level of performance during service discovery. Additionally, these models did not consider having a definite number of receivers to be given access to services simultaneously. These gaps yielded to poor QoS. In this study, we propose NOM service discovery model in order to optimize the performance of service discovery in WMNs by prioritizing services, defining a number of receivers to be given access to services simultaneously, as well as choosing the cost-effective path between transmitters when each transmitter has to be searched to identify if it possesses the requested services.

6 System Architecture

In setting up the proposed WMN architecture various resources are pooled as shown in Fig. 6. These components include Layer 3 switches, secured MGs, servers, Linksys wireless router/Access Points (APs) representing MRs, and end-user devices such as PDAs representing MCs. The network consists of 3 MRs connecting clients to the network. Recent Linksys wireless routers include the Linksys EA9500 Max-Stream™ AC5400 MU-MIMO Gigabit Router, Linksys RE6500 AC1200 Dual-Band Wireless Range Extender, Linksys EA6900 AC1900 Dual-Band Smart Wi-Fi Wireless Router, Linksys RE4100W N600 Dual-Band Wireless Range Extender, and Linksys EA6350 AC1200+ Dual-Band Smart Wi-Fi Wireless Router. These MRs connect to the Layer 3 switch configured as the Transmitter, since it has the capacity to handle large amounts of traffic, possess different interface ports including Gigabit interface that connects to the secure server.

Fig. 6
figure 6

Typical WMN proposed by Ndlovu et al. [20]

The recent Layer 3 switches now on the market include the Cisco SG300 series, Cisco 3650, 4500, and 6500, NETGEAR M4100, SG500-28P, and others. The transmitter provides centralized network management and configurations. Its responsibility is to facilitate the communication between service transmitters and receivers. Furthermore, the advantages also include: the combination of routing and bridging features simultaneously, multiple Ethernet interfaces, ease of configuration, and lower cost-effective than purchasing and installing a router. Additionally, it supports advanced QoS features such as the prioritizing, classifying, policing, marking, queuing, and scheduling of packets. Consequently, in this study, it aids in the prioritization of services according to their varied workflow procedures.

The secured gateway is statistically configured with an Internet Protocol (IP) address. It facilitates the connection to remote sites and\or other networks. The server is configured with a static IP address used as a Domain Name System (DNS) address. Its purpose is to host files and databases as well as to deal with configurations and security issues. Consequently, it serves to store information about available services. The MRs are statistically configured with unique IP addresses. Lastly, MCs are configured with dynamic IP addresses through the Dynamic Host Configuration Protocol (DHCP) .

In the proposed NOM model, we have mathematically modeled the network by a directed graph, which is represented by \( G = \left( {V,E} \right) \) whereby \( V = \left( {v_{1} ,v_{2} , \ldots ,v_{n} } \right) \) represents the number of mesh nodes on the network and \( E = \left( {e_{1} ,e_{2} , \ldots ,e_{n} } \right) \) represents the number of links for both internal and external communications such as connections to the Internet. As mentioned in Sect. 1, WMNs are comprised of MRs and MCs. Any MR has the potential to provide routing capability for gateway/bridge functions. Therefore, among V nodes, \( J \) may represent the gateway, so \( \left| V \right| - J \) represents ordinary MRs.

As shown in Fig. 6, on WMNs, Linksys wireless router or APs, have the potential to relay messages to and/or from mesh clients in a single hop or multi-hop manner. These APs further relay messages to and from the Internet through MGs. Clients (MCs) are end-user devices such as desktop computers, laptops, PDAs, mobile phones, etc., connected to MRs using wireless or wired links. Additionally, MCs represent both service transmitters and receivers.

In this study, therefore, we propose a model for facilitating service receivers to discover services without any user intervention. Consequently, any receiver joining the network expects the network to have n services available. Thus \( s = \left( {s_{1} ,s_{2} , \ldots ,s_{n} } \right) \) wherein \( s \) represents the set of services and \( s_{i} \) represents each service on the network. Consequently, \( s_{i} \in s \) and \( i = 1,2,3, \ldots ,\infty \). Since services have different workflow procedures, int this study, all available services are given different priorities in order to guarantee a certain level of performance. These priorities are represented by \( s_{n} > s_{n - 1} > s_{n - 2} > \cdots > s_{1} \).

7 Modelling and Simulation

In this Section, we present the proposed NOM service discovery model and simulations. We discuss in depth the implementation stages involved.

7.1 Model Implementation

Based on Fig. 6, we use the PSO algorithm to dynamically define and give different priorities to services on the network. Its purpose is to guarantee a certain level of performance to data flow during service discovery. On the other hand, we use the ACO algorithm to effectively establish the most cost-effective path between transmitters whenever each transmitter has to be searched to identify whether it possesses the requested service(s). Its purpose is to reduce end-to-end delay and minimize packets loss during transmission. In the model, every transmitter maintains its routing table whereby ants are launched from one Transmitter to another in search for the requested service(s). Furthermore, we design and implement the LCR algorithm to define the number of service receivers to be granted access to services simultaneously. The purpose is to have a definite number of receivers to be granted access to service in order to solve congestion problems.

In the model, we begin by determining and defining the numbers of Transmitters, \( T_{x} \) and Receivers, \( R_{x} \) in the wireless network as given by Eq. (1):

$$ R_{x} \ge T_{x} $$
(1)

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

$$ \begin{aligned} & X_{r}^{l} \le X_{r} \le X_{r}^{u} \quad \forall r \\ & X_{t}^{l} \le X_{t} \le X_{t}^{u} \quad \forall t \\ \end{aligned} $$
(2)

where: X represents 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, and this is denoted by Eq. (3):

$$ r_{n} \in t $$
(3)

Furthermore, we define and prioritize services supported by the network using the PSO algorithm as given by Eq. (4).

$$ X_{s}^{l} \le X_{s} \le X_{s}^{u} \quad \forall s $$
(4)

where: X represents the priority given to each service. But L and U represent the lowest and highest priority given to each service.

Each transmitter and receiver must be able to receive or send a service request or acknowledgment. This is represented by Eq. (5):

$$ s_{n} \exists t\;\&\; s_{n} \exists r $$
(5)

No particular receiver can request more services than are on the network and that the \( t_{n} \) can offer and provide.

Furthermore, the ACO is employed to determine the most cost-effective path whenever each transmitter has to be searched to identify whether it possesses the requested service. This is represented by the following equation:

$$ P_{{t_{1} t_{n} }}^{\left( r \right)} = \left\{ {\begin{array}{*{20}l} {\frac{{\tau_{{t_{1} t_{n} }}^{ \propto } }}{{\mathop \sum \nolimits_{{t_{n} \in N_{{t_{1} }}^{\left( r \right)} }} \tau_{{t_{1} t_{n} }}^{ \propto } }}} \hfill & {{\text{if}}\;\;t_{n} \in N_{{t_{1} }}^{\left( r \right)} } \hfill \\ 0 \hfill & {i{\text{f}}\;\;t_{n} {\nexists }N_{{t_{1} }}^{\left( r \right)} } \hfill \\ \end{array} } \right. $$
(6)

Any receiver/requester, r, located at transmitter t1, use pheromone trail \( \tau_{{t_{1} t_{n} }}^{ \propto } \) to compute the probability, P, of choosing tn as the next transmitter. \( \propto \) denotes the degree of importance of the pheromones and \( N_{{t_{1} }}^{\left( r \right)} \) indicates the set of neighborhood transmitters of the receiver when located at the transmitter \( t_{1} \). The neighborhood of transmitter \( t_{1} \) contains all the transmitters directly connected to the transmitter \( t_{1} \) except for the predecessor transmitter. This limits the receiver from returning to the same transmitter visited immediately before transmitter \( 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^{r} \) of pheromone on arcs, it has visited. The pheromone value \( \tau_{{t_{1} t_{n} }} \) on the arc (t1, tn) traversed is updated using Eq. (7), which gives us the total delay to get the service:

$$ \tau_{{t_{1} t_{n} }} \leftarrow \tau_{{t_{1} t_{n} }} + \Delta \tau^{\left( r \right)} $$
(7)

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

Also, we have to consider that whenever a receiver moves to the next transmitter in search of services, the pheromone evaporates from all the arcs according to the following relation:

$$ \tau_{{t_{1} t_{n} }} \leftarrow \left( {1 - p} \right)\tau_{{t_{1} t_{n} }} ;\forall \left( {t_{1} ,t_{n} } \right) \in A $$
(8)

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

After all the receivers have returned to the home transmitter, the pheromone information is updated using the relation given in Eq. (9):

$$ \tau_{{t_{1} t_{n} }} = \left( {1 - p} \right)\tau_{{t_{1} t_{n} }} + \sum\nolimits_{r = 1}^{N} {\Delta \tau_{{t_{1} t_{n} }}^{\left( r \right)} } $$
(9)

where: \( p \in \left( {0,1} \right) \) represents the evaporation rate (pheromone decay factor) and \( \Delta \tau_{{t_{1} t_{n} }}^{\left( r \right)} \) is the amount of pheromone deposited on arc \( t_{1} t_{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 \( t_{1} t_{n} \) by the best receiver is given by Eq. (10):

$$ \Delta \tau_{{t_{1} t_{n} }}^{\left( r \right)} = \frac{Q}{{L_{r} }} $$
(10)

where: Q represents a constant and Lr is the length of the path traveled by the receivers.

However, for every service request, a maximum of five receivers are allowed to request services simultaneously and then leave the media for the next receivers. This is because none of the existing models specified or defined the number of receivers to be granted access to service simultaneously causing congestion problems. Consequently, in the proposed model, we apply the LCR to eliminate such bottlenecks.

In discovering any service by the \( r_{n} \), the 1st five receivers in priority order can request the available services on the network. The above iteration is implemented for the remaining receivers on the network until all get to receive the requested services.

Lastly, a maximum of ten services can be requested at any particular time in the model, and those ten services must be in priority order. This improves the QoS, which further improves service discovery throughput, service availability, service selection, and service discovery delay.

7.2 Simulation Set up

The simulations were carried out using NS2 Version 2.35 (NS-2.35) with a developed model of IEEE 802_11b/g. We employed this tool because it is freely available on the Internet; it works on different operating systems, and as it has many users, so help from others is readily available. The simulation scenario of the topology used to carry out the simulations is shown in Fig. 7. This topology represents the proposed WMN to carry out the simulations. The setup consists of 43 nodes. There are 30 mobile nodes (service receivers) randomly placed on a network and numbered 13–43. For the mobility, a random waypoint is used wherein each node moves—around until its mobility-time ends.

Fig. 7
figure 7

WMN simulation scenario

We use Omni-directional Antenna for wireless transmission and reception of data. We also use Link Layer (LL) to process and transmit the messages. Furthermore, we use Queue/DropTail/PriQueue to give different priorities to service requests based on the priorities assigned to service transmitters by the PSO algorithm , thus improving QoS. The bandwidth is 512 Kb with the delay of 5 ms, and message length of 64 bytes. We have 3 transmitters and each labeled “Transmitter” with 600 meters coverage. The transmitters are placed at (413, 517), (1045, 700), and (1345, 174). Furthermore, we have 10 services labeled with service names such as Voice-on-Demand, etc. The services are randomly placed nearby each transmitter. The proposed model is implemented on the distribution (transmitter) layer of the network.

We then run the simulations 100 s for each evaluation. The evaluations were performed a minimum of 5 times in order to obtain convincing results. The primary reason is that NS2 is not scalable, so simulation results might not be reliable. The results are recorded in trace files and used to calculate throughput, delay, service availability, as well as service selection. The R Programming is used to graphically display the analyzed results obtained. However, in order to calculate the average discovery throughput, service available, service selection, and discovery delay, we have to code, compile and run AWK programs. We observe packet losses in the simulations. Lastly, we evaluate NOM model against QSS and FLEXI-MSD.

As mentioned in Sect. 1, in the model, we integrate the PSO, ACO, and LCR algorithm. The PSO algorithm is used to define and prioritize services on the network. The purpose is to give different priorities to different services in order to assure a certain level of performance during service discovery in WMNs. ACO is used to find and choose the cost-effective path between transmitters. The purpose is to determine the shortest path between transmitters whenever each has to be searched to identify if it possesses the requested service. ACO is an adaptive nature inspired routing technique applied to routing protocols in wired/wireless networks. Its responsibility is to find the shortest path between the source and destination nodes.

When compared to other routing protocols such as Routing Information Protocol (RIP) and Open Shortest Path First (OSPF) , this technique can be attached to data, supports the frequent transmission of ant agents, reduces routing overhead, and updates an entry in a pheromone table independently.

There is quite a number of routing protocols that apply the ACO technique. However, these ACO-based routing algorithms are designed for different network sizes. In this work, we employ AntHocNet , a routing protocol proposed for wireless networks such as MANETs , with less or more than 50 nodes compared to other protocols. Furthermore, AntHocNet is more efficient and scalable to deliver packets than other MANETs routing protocols such as AODV, OLSR, etc. In the proposed model, the goal of ants is to travel from one transmitter to another using the shortest path in search for the requested service(s) while depositing pheromones and updating the routing tables. Once one of the ants finds the requested service, all other ants are notified about that path through pheromone trails. Additionally, rather than OLSR, AntHocNet does not rely on bandwidth and energy which reduces bandwidth usage and energy consumption.

NS2 which is an object-oriented discrete-event network simulator targeted at networking research. The purpose is to evaluate the behavior and performance of communication networks. The proposed model has generated service discovery throughput, service discovery delay, service availability and success probability of service selection results as shown and discussed in Sect. 8.

8 Results and Discussions

In order to test and evaluate the performance of the proposed service discovery model, we had set up a framework that evaluates the factors of QoS in NS2. Simulations have been conducted for the NOM, QSS, and FLEXI-MSD models. The two models were chosen mainly because they were also proposed to improve discovery rate, discovery delay, and success probability of service selections. The results are recorded to ascertain the objectives of this study.

8.1 Service Discovery Throughput

We observe an incline in service discovery throughput between 10 and 20 s in the proposed model as shown in Fig. 8. More and steady service discovery throughput is observed between 20 and 50 s. However, the service discovery throughput drops a bit between 60 and 100 s. The model has achieved an average service discovery throughput of 80% thereby reducing link congestion, data collisions, and link interferences while improving QoS.

Fig. 8
figure 8

Service discovery throughput

The proposed NOM model improved service discovery throughput compared to QSS and FLEXI-MSD models as shown in Fig. 8. This is because we defined a maximum number of service receivers to be granted access to the services simultaneously and then leave the media for the next service receivers. This reduces link congestion, data collisions, and link interferences. We also permit a maximum number of services, in priority order, to be accessed by the defined number of service receivers simultaneously, which improves QoS.

8.2 Service Availability

More services become unavailable at 10 and 20 s and this is because the simulation is at the initialization state wherein nodes (whether mobile or stationary) are busy locating themselves available in the entire network. However, as time goes on, the service availability becomes improved in the NOM model as shown in Fig. 9. That is why between 30 and 60 s, the service availability elevates to 85, 95, 94 and 93% respectively, realizing an average service availability of 92%. This shows the need and importance of considering mobility issues for future service discovery models. The service availability is further affected by the number of requests processed simultaneously.

Fig. 9
figure 9

Service availability

In the proposed model, the service availability is improved compared to QSS and FLEXI-MSD models. However, looking at Fig. 9, the service availability at the start of the simulation is very low. This is because of the mobility of nodes while joining the network. The service availability then rises up and drops after sometimes and that is because, at some point, all the services become unavailable as a result of being in use by service receivers. This means as the services become available, the service availability rises up. Furthermore, the service availability is also affected by the mobility of nodes on the network.

8.3 Service Selection

NOM model has an improved success probability of service selection being witnessed compared to QSS and FLEXI-MSD models. Through Fig. 10, we can observe an incline in service selection for the proposed model. This observation is attributed to having a definite number of service receivers to be given access to services simultaneously, which ensures that all service receivers get to access available services while reducing packet losses caused by link congestions, data collisions, as well as link interferences.

Fig. 10
figure 10

Service selection

Here we present the success probability of service selection obtained by NOM model compared to QSS and FLEXI-MSD models. Through Fig. 10, we observe a promising success probability of service selection in NOM compared to QSS and FLEXI-MSD. This is because the proposed model ensures that all service receivers get to be given access to the services. This is achieved by having a definite number of service receivers given access to services simultaneously, which aids in reducing packet losses that could be caused by link congestions, data collisions, as well as link interferences.

8.4 Service Discovery Delay

NOM model has the least service discovery delay of 1.8 s being witnessed compared to QSS and FLEXI-MSD models, that witness more service discovery delay of 3.5 and 6.8 s respectively, as shown in Fig. 11. A maximum of 2.3 s of service discovery delay is witnessed in the proposed model. The observation is attributed to reduced link congestions, data collisions, and link interferences.

Fig. 11
figure 11

Service discovery delay

Through Fig. 11, we present the service discovery delay obtained throughout simulations by NOM model compared to QSS and FLEXI-MSD models. It is clear that NOM provides a reduced service discovery delay. These promising results are achieved as link congestion, data collisions, and link interferences are reduced. We reduced such by defining a number of service receivers to be given access to services simultaneously, which also minimizes bandwidth usage.

9 Conclusion and Future Work

In most of the existing service discovery models, energy consumption and message dissemination seem to be two major concerns that were most taken into consideration. Furthermore, various existing models perform flooding and broadcasting of messages, leading to link congestions, data collisions, and link interferences in WMNs. Apart from that, these networks continue to experience the increasing number of consumers competing for available services and resources. These competitions degrade QoS and form a major contribution to the poor performance of service discovery on these networks. Consequently, the quick and timely discovery of services and resources becomes an essential parameter in optimizing the performance of service discovery on these networks.

In this Chapter, we introduced and presented various factors affecting the performance of service discovery in WMNs. An overview, benefits, critical design factors and application areas of WMNs were also presented. Furthermore, we discussed existing service discovery model and various gaps found in these models. Thereafter, we presented a detailed implementation, simulation, testing, and evaluation of the proposed model. On the other hand, we analyzed and discussed the results obtained through simulations.

In the model, we integrated the PSO, ACO, and LCR algorithms to optimize the performance of service discovery in WMNs. We used the PSO algorithm to dynamically define and prioritize services on the network in order to guarantee a certain level of performance to data flow during service discovery. We used ACO algorithm to choose the cost-effective path whenever each transmitter has to be searched to identify if it possesses the requested service(s) or resource(s). Furthermore, we designed and implemented the LCR algorithm to define the number of service receivers that must be granted access to the available services simultaneously.

We demonstrated by Network Simulator 2 (NS2) that the proposed model outperforms QSS and FLEXI-MSD models. NOM improves service discovery throughput, service availability, service selection success probability, and reduces service discovery delay compared to QSS and FLEXI-MSD. The model yielded an average service discovery throughput of 80%, service availability of 96%, service selection of 89, and service discovery delay of 1.8 s from the simulation and testing results in NS2.

Furthermore, research could focus on applying the improved PSO known as Accelerated Particle Swarm Optimization (APSO) . Considering the advances of the Internet of Things (IoT) , security is also an important area of research to be considered in the field of service discovery in WMNs. Lastly, we recommend these finding for enterprise telecommunication and networking industries.