The ad hoc mobile cloud (AMC) allows mobile devices to connect together through a wireless connection or any other means and send a request for web services from one to another within the mobile cloud. However, one of the major challenges in the AMC is the occurrence of dissatisfaction experienced by the users. This is because there are many services with similar functionalities but varying nonfunctional properties. Moreover, another resultant cause of user dissatisfaction being coupled with runtime redundancy is the attainment of similar quality computations during service selection, often referred to as “service selection ties.” In an attempt to address this challenge, service selection mechanisms for the AMC were developed in this work. This includes the use of selected quality of service properties coupled with user feedback data to determine the most suitable service. These mechanisms were evaluated using the experimental method. The evaluation of the mechanisms mainly focused on the metrics that evaluate the satisfaction of users' interest via the quantitative evaluation. The experiments affirmed that the use of the shortest distance can help to break selection ties between potential servicing nodes. Also, a continuous use of updated and unlimited range of users' assessments enhances an optimal service selection.

1. Introduction

Service-oriented computing (SOC) is an emanating interdisciplinary paradigm for realizing a distributed computation, thereby changing the traditional pattern of incurring the cost of access to unwanted software applications, thus depicting a better service delivery on various service request provisioning schemes [1]. The software applications that are made available in the SOC are primarily a product of fundamental resources which are services. The services are self-describing and computational resources that enhance an automatic, rapid, and low-cost provisioning of software applications in a distributed environment. Due to the explosive growth of various mobile applications, the Internet serves as a linking medium between the mobile clients and the service providers. Therefore, with the view to achieving agility and flexibility between provider and client interaction, the SOC has been generally adopted. The SOC assumed business functions as modular packages in the form of services that run on any service-oriented architecture (SOA) [2].

Moreover, the cloud computing paradigm is an example of the SOA that serves as an information technology servicing model where computing services are delivered on demand to customers over a network in a self-service fashion, independent of devices and locations [3]. Thus, the resources required to provide the requisite quality of service levels are shared, dynamically scalable, rapidly provisioned, and virtualized with minimal service provider interaction. Users pay for the service as an operating expense without incurring any significant initial capital expenditure, with the cloud services employing a metering system that divides the computing resources into appropriate blocks.

There are three basic processes that are involved in the provisioning of services in any service-oriented platforms which include service discovery, service selection, and service composition [2, 4, 5]. By the discovery of services, we refer to the process of identifying potentially available web services which can carry out a particular task. However, among the available web services, there would certainly be a particular service in the midst of the discovered web services which best satisfies the request of the present service user at the time of request based on the quality of service that was specified. This process is termed “web service selection.” The composition of web services involves the integration of two or more web services together to implement interconnected tasks. For example, this interconnected task can be a web service which searches for a flight schedule as well as another that locates a meter taxi or a hotel reservation. This kind of request is being carried out via a composite web service from the provisioning platform.

These three concepts are very important in any service provisioning platform and thus become one of the central focus to research scholars. Therefore, this calls for adequate mechanisms to be deployed to enable these processes to run smoothly in the course of providing optimal services on the aforementioned platforms. Addressing these three concepts poses various challenges in the modern service provisioning platforms today especially the concern with the enormous release of web services that are performing similar functionalities. In the same vein, when mobile devices were connected to the cloud platforms for service usage, it becomes imperative that optimal service selection is addressed to avoid the dissatisfaction with service responses to the intended users. A typical example of such a mobile service consumption scenario is the mobile cloud computing paradigm. This paradigm enables the use of mobile devices to consume resident web services within the cloud computing architecture [69]. The dissatisfaction becomes very tasking in a situation where the users eventually become the platform for service provisioning in the case of the AMC system, wherein mobile users are constantly in a move while consuming the web service [10].

Several parastatals such as military and other forms of organizations which are involved in emergency operations have been adopting the AMC technology towards addressing the pressing need for total avoidance of interconnectivity issues, both in less-developed areas as a result of bad infrastructure and even in developed places due to natural disasters, etc. [11]. For example, in an emergency operation which utilizes an AMC setup, the nearest mobile nodes with the required service must be the chosen node for the operation so that the task at hand will be carried out successfully and promptly within the limited allotted time frame. Moreover, the occurrence of service selection ties during the course of selection especially in a range of different service locations within the mobile devices needs to be addressed as this has a lot to speak to the measure of satisfaction that the users experience within such a system [12, 13].

A contemporary project that is currently under development, which looks into most of the aforementioned issues, is GUIISET (GRID-based utility infrastructure-infrastructure less for SMME-enabled technology) from the Centre of Excellence of the University of Zululand in South Africa. It is an advancement on the previous GUISET project through the incorporation of this infrastructure less (ad hoc model) platform into the system [1417]. The goal of this incorporation is to enable the developed platform to be able to render services to mobile devices especially in the context of m-Health, m-Learning, and m-Commerce.

Several works have been done which ranges from GUISET’s implementation [1820] to its performance evaluation [17, 21, 22] and security [15, 16, 23] as well as the Pricing strategy to be used on the platform [14]. However, little research has been conducted in relation to providing an optimally satisfactory service especially in the newly integrated ad hoc model system. In addition, issues relating to similar computation scores (selection ties) which often inform unsatisfactory service usage have not been fully addressed in most of the articles to the best of our knowledge. Hence, this article contributes to the existing knowledge via providing solutions to “service selection ties” in both mobile nodes and web service provisioning to various patronizing customers via deployable selection mechanisms. Moreover, service response delay is also addressed to reduce the time taken to deliver a selected service to intended users.

The remainder of this article is as organized as follows. Section 2 reviews various service selection approaches in different platforms to bring out the gap that is missing which is very important on the AMC. The section also reviews the earlier attempts to address the issue of service selection in various platforms. Section 3 discusses the QoS property resolution strategy, while Section 4 enumerates the modes of selection occurrence in the AMC. Section 5 addresses the selection ties in AMC mobile nodes using the multidynamic distance-based approach, where a typical surgical emergency service is used as a scenario. Section 6 discusses the feedback-based selection approach for optimal web service selection in an AMC, while Section 7 explains how the performance evaluation was conducted with some discussions. Section 8 explains the conclusion and future work.

2. Literature Review

This section elucidates the methodologies of the service selection process with a view to discussing various methods that can be deployed for selection of services in general from any service-oriented computing platform. Moreover, the selection approaches that are often deployed in an ad hoc environment were also discussed. Hence, we shall be explaining service selection methodologies and service selection approaches in the AMC. In addition, this section also attempts to review other approaches to optimal selection in the AMC.

2.1. Service Selection Methodologies

The selection methodologies are the various methods that are adopted for selection services within a service-oriented architecture platform. The methodologies used in service selection are generally classified into three according to the work of Swarnamugi [24].

These are explained below:(1)Functional-based method: This method selects the appropriate service based on the retrieval of a functional description of a service from the registries and then certifies that the description and requirement of the interfaces match each other. There is always a need to convert the web service into the semantic web to enhance the easy description of web service functionality. The semantic web service selection was implemented in the work of Klusch and Kapahnke using the hybrid version of the SAWSDL matchmaker called SAWSDL-MX [2, 25]. The drawbacks of the functional service selection approach make the service provider seek for a more informative alternative that could differentiate their products from others in relation to performance. Moreover, considering the AMC environment, the use of the highly logical algorithm and complex ontological data storage generate a challenge for memory-restrained mobile devices; therefore, the approach is considered unsuitable for deployment.(2)Nonfunctional-based method: It is a common experience in the service provisioning environment for services to provide similar functionalities with different nonfunctional properties. Hence, such services can only be differentiated by considering their nonfunctional attributes which can either be quality of service or context-based [24]. In [26], the author proposed the architecture for a web service selection using the QoS-based approach in a service provisioning environment where the service user searches the service registry (UDDI) for the list of all services that address the concerned request. The service broker here assists in differentiating the various services in the registry. Thus, the service registry becomes a complex task for an AMC-based environment. Xin and others in [27] considered a framework that combines QoS attributes with user preferences of a group of consumers to propose an algorithm and a mobile service selection model to solve the selection challenge. But the selection was based on a group of collective users which is not individually tailored as expected in an AMC environment. The work of Amoretti and others in [28] proposed a reputation-based selection framework which emphasizes on an intra- and inter-SOP (service-oriented peers) module interaction. The framework contains a component called SAFE that ensures that a mobile peer computes the reputation of a provider based on the previous experience. The SAFE component is assigned the task of “voting strategies” to ensure that proper record of the aggregated reputation influences selection decisions. However, this work was silent about the situation where web service attains similar computation aggregates (otherwise called selection ties) thereby leaving behind gap to fill. Furthermore, the study conducted by Akingbesote and others [18] proposed a quality of service aware Multilevel Ranking Model (MLRANK) for selecting an optimal web service in cloud computing. The study addressed the occurrence of ties within a number of services that are available in the UDDI. The study highlights the challenge of selecting an optimal web service when there are ties with the used criterion where performance alternatives have the same score. The study achieved optimal selection by comparing the service consumer’s QoS preference with the web service QoS offerings. The provider offering that best fits the QoS preference is taken as the optimal web service. The study used nondeterministic QoS metrics and concentrated on various information services to test the performance of the proposed model. However, this study serially considers each of the selected qualities one after the other and checks which one is higher than the other to make a selection. This approach is not reliable in the context of the AMC. This is because decisions are expected to be as fast as possible. In addition, the work never considered the possibility of the consumers having relatively equal priority for the specified QoS properties which makes the selection yardstick less efficient. Keidl and Kemper in [29] proposed a context processing framework to influence context-aware web service provisioning. However, the framework uses an insufficient number of context parameters among which are location and client addresses. The location specified by the SOAP message body of the web service is fixed; thus, it is not suitable for a dynamic environment like the AMC system. Since the mobile device keeps changing location, the use of fixed location as one of the parameters will be irrelevant to service selection. Keskes proposed the combination of context and QoS for service selection and considered the effectiveness and consistency of the method in relation to using an increasing number of service parameters more than six [30]. But, the use of the ontological context to decipher the information brings about the issue of ambiguity if deployed to memory-constrained mobile devices for service selection.(2)User-based selection method: The measure of the trustworthiness of a particular web service is termed “the Reputation.” This measure mainly depends on the end users’ experience of using the particular service. Various end users may have dissimilar views about the same web service. However, the reputation is expressed as an average ranking that is given to a web service by the end users, thus deriving a range of ranking from these end users. This system determines the QoS of a service provider through calculation of the difference between the published service provider value and the user feedback response. A higher difference value typically shows a lower QoS rating for that particular service provider or web service. The service users are allowed to provide a feedback through the use of a pair of keys [31]. The users authenticate with the aid of these keys, and they are allowed to update the QoS criteria based on their experience. However, the provider would not always be available to affirm and see to the proper updating of the QoS properties. The high possibility is that both the user and consumer would likely not be available at a similar time, therefore resulting into overloading of the system through unconsumed user requests.

2.2. AMC Service Selection Approaches

The approaches to service selection in the AMC require more criteria to be taken care of because of its inherent nature. This is because in an AMC, there might be the need for the selection of the nearest mobile node to provide a particular service, and at some other times, it could be the web service that is resident within the mobile node that needs to be shared among the AMC mobile devices. Considering the influx of mobile devices within an AMC, there could be a sudden increase in the number of connecting mobile devices which invariably increases the number of service requests; thus, we itemize the following concern with respect to AMC selection approaches: (1) any approach that must be used should cater for sudden increment in service requests [32]. (2) The approach must address the dynamic nature of the mobile environment, and (3). the approach should eradicate the arbitrary selection of mobile nodes and web services during the occurrence of service selection ties which is a major challenge in service provisioning in the AMC environment [18, 33].

According to [34, 35], service selection in the ad hoc mobile environment is carried out using the following approaches: (1) hop-based, (2) QoS-based, and (3) integrated/hybrid-based. The hop count has been used for time-constrained mobile service selection in wireless mesh networks and sensor networks, especially where the response time is very pivotal such as in critical and life-saving situations [36, 37]. This system considers time as a very important issue and therefore looks or searches for the closest node to the requestor. This has the advantages of (i) a lower risk of downlink with the least distances apart; (ii) a lower rate of battery consumption with the reduced distances between the nodes, and (iii) lesser possibilities for the two nodes, to be out of reach of each other [38].

The integrated approach combines the properties from the route/hop count with the QoS approach to arrive at the optimal solution for a particular request. Due to the nature of the request that a service user specified, there might be a need to prefer particular properties more than the other. For example, time constraint might be very imperative for a user in need of urgent medical attention or user who needed to catch up quickly on a flight, whereas for another user that is requesting for an educationally related service might not be as more urgent. Mobile devices enable the use of various services on transit through a wireless connection either to the cloud server or within themselves. Thus, the integrated (hop count, QoS properties, and feedback response) selection approach seeks to address users’ satisfaction by ensuring that the optimal service is being selected at every request.

3. QoS Property Resolution Strategy

The impact of quality of service cannot be overemphasized in the process of service selection. It serves as a building foundation upon which other service approaches can be integrated to enhance optimal service selection in any service-oriented provisioning. The selection of service is built by mapping the requests onto a web service among the available ones. The mapping process helps in locating the actual web service. The aggregation of the QoS for service selection is based on the individual preferences with regard to QoS properties. The following two steps assist in ensuring that this process is properly carried out.

3.1. The Scaling Process

This study uses a simple scaling or normalization technique. This concept of scaling ensures even distribution of QoS properties since these properties differ in value from each other with hardly any comparability among them. The range of values derived fully expresses the order and level of competitiveness among the available web services [39].  = set of ad hoc mobile services of with a set of qualities being . This implies that when a sample of the AMC web service is selected such as , it will have a corresponding set of qualities such as . Now, assume that the value of the minimum and maximum QoS properties within all the available services are and . For example, the general quality of some QoS properties decreases with an increase in the value of the property such as service cost and response time; thus, by scaling, we try to minimize the property as much as possible using the normalization equation (1) according to [40] as

In a similar manner, other services whose QoS properties increase with an increasing value of such a property such as availability and reliability are all normalized using the expression in (2) according to [38] as

An interval of the range of [0, 1] is produced from (1) and (2), where “1” represents the best QoS property, while “0” represents the least QoS property, thereby reflecting any form of changes that occur to the general quality of any of the services whether it decreases or increases. The algorithm for normalization process is as shown in Algorithm 1.

 A set of qualities of a Web Service S(t) = {s1, s2,….sm}
 that each describes a service
 A matrix of normalized QoS parameters
Step 0: Initialization, create m by 5 matrix P
Thus, having:

From Algorithm 1, a new matrix V was generated:

3.2. Weighted Summation Assignment

There is a need to assign weight to the respective normalized value of each of the service users so that the preferences and the importance of a particular quality can be expressed by the user when requesting a service. Therefore, treating the pool of services as a sample space with coordinates that are having origin as a vector, the services can be represented aswhere the service is represented by and , ; both represented normalized QoS properties as well as the unit vector along the axis of the normalized property. Supposing the mean quality of service is given by Smean and if represents the mean value of the ith QoS property, then,

Considering the mean value of the normalized qualities, we have the summation of the means ranging towards 0.5 as ; hence, we can rewrite the expression to be

Carrying out the dot product of the ith service of as it projects over the mean , then we have the expression

Hence, the summation of quality of service properties can be expressed as

Assuming the user request for a special preference in any of the qualities of service that are highlighted, the summation of the preference in terms of weight assignments could be expressed for the ith QoS property; thus,

The output generated from this normalization and weighted summation assignment often results in several web services and service nodes with similar aggregate scores [18]. This challenge shows that there is a need for a mechanism that helps to inform optimal service selection through breaking the occurrence of selection ties in the heterogeneous web service provisioning.

4. Modes of Selection Ties in the AMC

Selection ties occur in a situation where there are two or more “objects” that qualify to attend to a particular request from a service consumer [11, 18]. In the case of the AMC, a mobile node can be a service provider where it helps to forward a traffic via the shortest route mechanism to the traffic destination. In addition, the resident web services within the mobile nodes in an AMC can attain similar computation scores via the processes discussed in Section 3. The literature currently selects any of the mobile nodes or web services that attain similar computation scores to address the service request which in turn is usually not the optimal option. This invariably results in some level of dissatisfaction on the path of service consumers when at other times, a close friend was able to experience a better service delivery than them due to random selection at “ties” occurrence.

For example, let us consider a case where teachers and students formed an AMC within the school premises, in which they all consume similar educational resources. The experiences of the teachers and the students will virtually be different from one another in situations where there are similar computation scores in the selection process. Therefore, to avoid this kind of situation, this article addresses two major modes of “selection ties” occurrence in the AMC:(A)The mobile node selection ties(B)The web service selection ties

This article offers substantiated mechanisms with respect to these two modes towards the selection of an optimal service provider to various service requests that are issued in the context of the AMC environment.

5. Multidynamic Distance-Based Approach

The term multidynamic distance in this context refers to the use of QoS properties alongside with distances apart among the mobile nodes, otherwise referred to as the shortest route in the course of service provisioning. The approach here is deplorable in an emergency state especially in a typical m-Health situation as shown in Figure 1. The SUnodes is the principal service users.

The traffics are expected to take the shortest route to the destination while bearing in mind that the intended nodes have the capacity to offer the required services. The hypothetical quality of service parameters is as shown in Table 1, containing the prices, response time, reliability, and availability of the mobile nodes. The last column in the table also depicts the summation of route distances apart for the intended traffic. Suppose that a service user (SU15) in Figure 1 is issuing a request for a surgical emergency service (SEx) from any mobile nodes (all SEx) who can render such a service. We implemented the multidynamic algorithm that was depicted in Algorithm 2. We used the normalization algorithm to analyze the considered qualities of service (price, response time, reliability, and availability), which generated the normalization results that were depicted in Table 2. These outputs are the results that are fed into the weight assignment stage to determine the interest of the service consumer who requests for the service of the mobile nodes.

Set parameters (p, rt, r)
Input consumers required QoS
  Call normalization
  Set weights
Calculate score
  if Ss(Score) > 1 then
call DP
Print Ss(Sortestroot)
print Ss(score)
  end if

Algorithm 2 calls for the computation of the normalization and weight assignment and the calculation of aggregate scores. The occurrence of ties further initiates the call to Algorithm 3 which invariably differentiates the services with similar scores. The “Sortestroot” uses the dynamic programming algorithm to effect the choice of the shortest route that needs to be calculated in the process. It considers only the mobile nodes with the same computation or aggregate scores as shown in Table 3 and Figure 2. The algorithm selects the mobile nodes among those with similar computation and further selects the one closest to the requesting node for user consumption.

v = vertex and n = node
Input (v, n)
Shortestroot ← 0
Array Shortpernode ← 0
Shortestroot ← 0
Shortrootest ← 0
 For i = v − 1 to v
  For j = 1 to n
   For k = 1 to edgeno
  Shortpernode[k] = search min cost {u, v}
   Next k
   Sort Shortpernode[1 − k] in descending
      shortrootest > Shortpernode [1]
    shortrootest = Shortpernode [1]
  Next j
  Shortestroot ← Shortestroot + shortrootest
  v = v − 1
 Next i
Until v = 1
5.1. Selection of Optimal SE Service

The selection of the surgical emergency service (SE) that meets the requested QoS is selected by first providing ranges of weights that depict the amount of priority given to each QoS which ranges from 0 to 1. This weight represents the degree of importance associated with a specific QoS property, and they are fractions whose sum must be equal to 1. For example, if a consumer’s topmost priority is on price for surgical emergency service, then the higher weight is given to price. The other properties take lesser fractions, respectively, till the least of them. The service that provides the best utility level based on price becomes the chosen one provided that it is the only one. The weighted summation assignment generates the aggregate score as given in (9).

When the number of ad hoc surgical emergency services that have the maximum score is greater than one, then we consider the route to each of the destination. We then applied the dynamic programming as shown in Algorithm 3. This is done by describing our data elements needed in the form of cities and distances. We then formulate this as an optimization problem, and the minimum route is determined based on the minimum cost tour.

The idea in this section has been used in our previous paper [11], but we considered a larger number of mobile nodes in this experiment; thus, this solution becomes one of the solution approaches under the present article. The detailed comparison among the mobile nodes with aggregate scores was depicted in Figure 2. Other approaches with respect to this particular scenario select any of the mobile nodes among those that attain the request of the service user, but a better utility level is guaranteed with this mechanism in place for mobile service selection.

6. Feedback-Based Approach for Web Services

The user feedback has been an approach that is generally used for improving the performance of a system. This is due to the fact that it gives an updated and continuous information about the performance of an application (web services) with a view to making informed decisions about the behaviour of such an application. In this section, we deployed the use of user feedbacks to enhance better service selection that eradicates the occurrence of web service ties during dynamic service selection. Again, citing the case of teachers and students who team up to form a group as an AMC that exists within a school environment where both participants share educational materials, the challenge that is often experienced is that we want the system to be able to render the optimal web service that guarantees the highest level of satisfaction each time to the service user. Thus, we propose a middleware engine that collects the users’ view after consuming web services and use it to range the performance of the resident web services on the system to enhance an optimal selection in future requests. The diagram in Figure 3 shows the interrelated components for effective service selection within an AMC.

The main purpose of introducing the feedback mechanism is to eradicate the possibility of service selection ties within the AMC. The setup mechanism majorly contains the rater, the feedback composer, and the database wherein the feedback records are kept. Most of the previous steps such as the normalization and the weight assignment are already assumed to have been carried out in this stage. We also assumed that various users provide the system with truthful responses. The rating process follows two major steps which are the collection of the user feedback and the prediction of the appropriate services for the service requestor.

6.1. Collection of User Feedback

The influx of the AMC with various forms of web services ultimately results in the occurrence of similar ties within the environment. When the similar ties occur, the instruction is to select any out of those ones to carry out the task, and in the absence of such an instruction, the system goes into a temporary redundancy state in which indecision sets in. Eradicating the challenge of similar ties in service selection will enhance prompt response to users through overcoming the possibility of occurrence of redundancy states [41]. The user feedback system uses the credibility level system to collect, process, and rank the responses from the users. Thus, five categories of credibility trust on web services were assigned, namely, the most credible (l5), more credible (l4), credible (l3), less credible (l2), and the least credible (l1). The associated strength to each user response can be normalized in

Using this definition, the researcher assigned the value of 0.2 to express the least credibility value l1 which shows a lack of trust regarding the selected service. Other values starting from 0.4 to 0.6 are assigned to l2 and l3, respectively, where they both typify a low credibility trust. The last sets of values of 0.8 and 1.0 which represent l4 and l5 express reliable trust from the service users. Every rating selection made by the user is computed by finding the average or mean of the feedback values selected. This is used to update the system for the latest rating regarding a particular service. This credibility trust utilized in the proposed system is coupled with a recommendation technique that will assist to make the right decision for the service user [41]. The recommendation technique that is adopted is an item-based collaborative system which is a subset of the collaborative filtering approach. This recommendation system is important in this context for two major reasons:(1)It identifies the best of the peer of web services among those attaining similar aggregate scores.(2)It helps to compute final selection based on the services used by the requesting user, provided the user has invoked services in the system before.

The item-based collaborative approach helps addresses these two highlighted points thereby helping to carry out the prediction creation tasks on web services with the similar aggregate scores.

6.2. Prediction Creation

This section of the service recommendation predicts the best web services based on the previous ratings recorded by the system from earlier service users. The prediction proposed uses the binomial probability density distribution. In this approach, the following variables were used as expressed below:

Let be the context of service selection such as m-Learning.

is the user’s rating for a service in context .

is a user’s preference for a service in context .

The feedback composer rates each service to select the optimal service for users according to the following density for random variables Xk for which xk is a typical instance:where n = no. of mobile devices (nodes).

We deployed the user rating into the probability prediction for selection. By expressing the ranges over the binomial distribution, the summary was explained in two ways:(1)When the feedback is very low, the mean of the rating distribution should correspond to a very low value. For example, if the credibility from the user based on quality experienced is l2, then the feedback composer normalizes the probability to assign .(2)Contrariwise, when the feedback is high, is also expected to be high. Thus, the feedback composer chooses when the response is high.

This study implements the following variation on the mean ; thus,

Every service user draws a rating from the mean for every service that has been rated. These sets of all users’ ratings are the inputs to the composer for proper selection to take place. The result of (13) produces series of mean distributions with each of the provided users' ratings, thus aligning the results into a format of a binomial distribution curve. This is because it continually finds the mean of the ratings submitted by the users which always tends to reach the maximum value of ratings as given by a typical binomial distribution diagram curve. The ratings maintain their value if similar values are provided by the new users who make no difference from the earlier value in the feedback record. But whenever the value of the new ratings is more than the previous record, the rating increases. Thus, the feedback rating falls and rises along the binomial distribution curve. The peak of the dome-shaped top of the binomial curve corresponds to the least rating from the users, and such services are not often predicted to users for use because of the low value or rating which shows that the service performs poorly within the specified service functionality. The flattened edge tending towards 1.0 shows the best services to be predicted to the user for use, and the higher it moves from the dome-shaped curve towards the flattened end, the better the web services that are predicted for use in terms of QoS.

6.3. Environmental Specification

To test this proposed approach, this work deploys the use of the Sun Wireless Toolkit 2.5 Beta Version J2ME from the Sun Microsystems packages to test the behaviour of the selection mechanism. The SQLite database is shown outside of the physical connection setup according to Figure 4 to depict the three-layer network model setup (consumer layer, middle layer, and database layer); however, the DB was actually embedded within the server machine. The emulator interface design is developed to run on the J2ME-enabled devices such that it can be easily deployed on real smartphone mobile devices that support communication through the Hypertext Transfer Protocol interconnections.

The implementation of the server is accomplished by the use of J2EE-compliant servers such as Glassfish Application Server 3.1.2. The server-side components are configured to run on any server that conforms to the J2EE specification. The server handles messages from clients through the use of WMA Bridge API, which enhances message interaction during client service invocation from the server. The server contains the web component which runs within the servlet container and also uses the JAXP to communicate with the external data sources. The external data sources originate as information from the XML database, which is a collection of mobile web services.

The whole setup was tested using a mobile laptop running on Windows 7 Professional Edition as an operating system. The laptop had an Intel Core(TM) i7-4500U processor with a processing speed of 2.40 GHz and 8.00 GB RAM. The application consumed 10.4 MB of the hard drive storage which is favourable to the mobile computing environment due to low memory consumption. Figure 4 also contains the mobile emulators developed from the Netbeans IDE together with the Apache JMeter load generator. The emulator shows the typical interface of the nature of service requests which is similar to requests generated by a typical Apache JMeter for the purpose of testing the performance of the proposed selection model. Figure 5 shows a typical emulator interface for service specification and query interface. The Apache JMeter allows the setting of network parameters like latency and jitters, during the experiments. Therefore, this setup mimics the AMC service provisioning environment for testing the performance of the deployed mechanism.

7. Performance Evaluation

The performance of the selection mechanism on service selection ties was tested with a series of experiments to ensure that the concerned challenge is being addressed. This article first evaluated the selection system using certain parameters such as throughput and service availability to check up that the system is operating normally under a good condition. We later conducted experiments to determine the effect of user feedback on the selection process that involves selection ties and as well use a case of a real-life scenario where service selection ties occur to see how ties’ breaking of services might occur before offering the service to the users.

7.1. Service Availability Rates and Throughput Performance

There are many options for quantifying the rate of service availability within interconnected systems. One of the popular options is the use of statistical analyses [4244]. These approaches are more feasible in a very stable environment where mobility is not occurring too often. Thus, the constant dynamic nature of the AMC will not favour these approaches. However, in this experiment, we assigned some weight indicators to certain parameters (fundamental resource availability, i.e., HTTP authorization manager, response assertion, HTTP response default, and Hypertext Markup Language (HTML) link parser) in the Apache load generator which is indicated at runtime by assigning values ranging from 0 through 1 for each of the parameters. Based on these parameters, suppose represents the weight of set parameters , where sums up the indicator values and given thatthen the service availability of the AMC is therefore calculated using the expression:

As the number of mobile nodes in the AMC is increased, there is a relative increase in the number of requests and it invariably has the corresponding impact on the percentage number of service availability rates as shown in Figure 6. From the graph shown, it can be deduced that as the number of service provider nodes increases, the service availability climbed steeply at the initial stage but increased more at 20 nodes (i.e., as the nodes doubled). This can be interpreted to mean that all things being equal, the greater the number of service providers, the more the number of services available for consumption within the system. It was noticed that as the number of nodes increases within the AMC, their rate of service availability was not so significant in increment, due to relatively similar web services which also perform similar nonfunctional qualities. This can be assumed to be the result of similar recurring service requests which exist within the cloud. The central server PC is stabilized and the feedback records are properly aligned to enhance relatively optimal selection without excessive delay of the queries.

In a similar manner, the throughput measures the rate of successful service request delivery over the AMC communication channel. It determines the time it takes to perform a transaction (E) over a number of sessions. The throughput was measured through the JMeter simulator that was integrated via the Netbeans IDE tool. Since the proposed AMC system consists of connecting mobile devices, the experiment is vital to access the performance of the service selection mechanism. To compute the throughput of the system, the following expression is used:where the variable c represents the request index and k is the number of requests at a particular session. Figure 7 shows the results of the throughput for the load generator.

The number of mobile nodes represented the number of available mobile devices within the system at the time the experiment was conducted, while the number of simultaneously issued service requests showed the number of users that were making an HTTP request during the experiment. The throughput of a system clearly showed the number of completed service deliveries to the requesting service consumer. The results displayed on Figure 7 show that the throughput performance of the web service selection mechanism increases as the number of users increases. The proposed selection mechanism performed well when the test for throughput was conducted. The linear increment in the values of the throughput with the increasing number of node requests performs in a realistic way. Thus, the throughput averagely increases with the increasing number of requests, which confirms a good performance from the system. Therefore, having confirmed the performance of the AMC system with respect to provisioning of service availability as well as the rate of completed service delivery, we have achieved a good platform upon which the effect of feedback can be tested on the system as well as the contribution of the selection mechanism to the body of knowledge when compared with other AMC selection approaches under similar conditions (occurrence of selection ties).

7.2. User Feedback Effect Evaluation

The proof of the concept system here was implemented through deploying the Glassfish Web Server 3.1.2 platform on the central server PC within the AMC. This platform works together with the SQLite database which acquires the WSDL file as well as the QoS information provided by the various mobile service providers. The test deployed a total of 100 web services for this experiment to simulate a real-world selection challenge in terms of user dissatisfaction. To evaluate the feedback-enabled QoS selection, this experiment evaluated the number of service selections that coincide between feedback-enabled and nonfeedback service selections which were adopted from the existing works [45, 46]. The goal of this experiment is to determine how precise the two approaches are at ensuring that the most relevant service is selected.

In the first approach, the service was selected directly without the aid of feedback ratings of the ad hoc mobile selection mechanism (an approach that is already used in cloud computing), while in the other approach, the selection was carried out with the aid of the feedback selection ratings.

The same values of QoS parameters are requested with the increasing number of users. This evaluation revealed the kind of services retrieved after each service request and recorded the level of satisfaction ranging from a 1-star to a 5-star rating. Starting with the feedback-enabled approach, the expression for percentage precision is given as

This gives the percentage precision through calculating the mean of responses from the number of users at each level of the service request. This precision is expressed to determine the percentage level of satisfaction derived by each of the service users. Figure 8 shows that the feedback indicates highly satisfactory service selection at every incidence of service invocation when compared with selection based on the quality of service alone. At some point during selection ties, the nonfeedback effect can make a selection that coincides with the optimal service at that point, and this accounted for both approaches achieving a similar value only at experiment number four where the number of requests is 16. In addition, the feedback-enabled selection mechanism enhanced the selection of web services and also gave a high tendency to solve the issue of service selection ties, thereby providing an optimal service for users.

The user feedback effect experiment shows that the use of a continuous updated and unlimited range of users’ web service assessment only enhances the selection of optimal services for the service users. It should, however, be noted that the greater the number of services that attain the selection ties, the higher the effect of the feedback-enabled system in selecting appropriate and more satisfying services for the user. In a situation where there were few numbers of services, both approaches often, though not always, assumed the same output result. The feedback rating system, however, enhanced the selection of the highly rated service among the selection ties for the user at each point of service invocation where ever it occurs.

7.3. Feedback Mechanism on Real-Life Scenario

This experiment extracted data samples from the work of Al-Masri and Mahmoud in [45]. This gives us the QoS of seven different web services that were chosen from the same domain. These web services are e-mail web services that share the same functionalities. The data were provided in StrikeIron.com and XMethods.net. A total number of 20 web services were used in this experiment to actually see the effect of the proposed selection mechanism at solving the occurrence of web service ties. However, if more web services are deployed, then the possibility of web service ties increases in the system.

The QoS of the 20 web services is measured by WS-QoSMan. WS-QoSMan is a module that is responsible for collecting and measuring the QoS information of web services. The values of the QoS metrics are normalized and assigned weights accordingly as described in Section 3. The free spider simulator (FSS) tool is also an online tool that helps to get a free report about web service actionable insights. The feedback for over 2 weeks was collected and presented. The last column of Table 4 also specifies the feedback of each of the web services as derived from the FSS. The results of various web services were computed as shown in Table 4. We compare our approach with the two other approaches used in the literature which are the web service ranking function approach [45] and nonfeedback outputs from [47]. The values of the data collected under each approach were expressed in Table 5 which are the normalized and ranked outputs. More details can be found in [48].

7.4. Discussions

The results from Table 5 and Figure 9 showed a critical observation that both feedback and nonfeedback techniques achieved the same ordering of web services according to QoS-based selection although different values were obtained and the same ordering was realized. This confirmed that both techniques achieved similar results. However, the WsRF technique only selects at random from the set of services that attain similar QoS scores. The idea discussed in Section 4 helps to solve the challenge by carrying out the prioritization based on the trusted user feedback data that were generated by the AMC web service selection mechanism.

The e-mail validation web services of numbers 6, 9, and 16 (“ServiceObjects,” “Byteplant,” and “BulkEmailVerifier,” resp.) all achieved similar QoS computation. It is understood however that the normalization technique found in [31, 40, 42] ensures that it provides the three best web services amongst those considered. However, this information is not enough to justify the best of the three web services as the feedback rating system shows quite clearly that the web service number 9 (Byteplant) is rated above others of comparable performance. The rating of the Byteplant e-mail validation was seen to be relatively constant over a two-week period and maintained a rating of 100% from different service users. This final choice of the Byteplant over the other two is not only confirmed by the high range of computation selected based on the normalization during QoS computation but also affirmed by the extensive feedback range of quality maintenance. The binomial probability distribution used by the recommendation system predicts in such a manner that web services are arranged orderly even to the least significant value to bring about the needed differences to differentiate a web service from another one of similar computation. Hence, the whole experiments were focused on improving the user satisfaction in the AMC, as this will promote frequent patronage and regular interest in consumption of services on the GUIISET business platform.

Summarily, multidynamic and feedback mechanisms have contributed to the knowledge base of AMC service selection in the following ways:(1)Outrightly removal of the possibility of delay/redundancy as a result of selection ties(2)Breaking of service selection ties whenever they occur(3)Ensuring that an optimal service is selected in any service requisition(4)Promotes prompt service delivery via the multidynamic distance approach(5)Increasing the user satisfaction level in the course of service provisioning.

8. Conclusion and Future Work

Many services in the AMC platform are with similar functional qualities which open up the understanding that the effective and efficient use of a various combination of nonfunctional QoS will enhance higher user satisfaction through provision of optimal services. We performed a series of experiments within interconnected mobile network nodes as well as P2P mobile devices. Our experiments proved that distances within mobile networks can be an important QoS tool that will enhance the optimal selection process, which is typically useful in the case of emergency needs, for example, natural disaster, mining process, and health monitoring systems.

Moreover, the user feedback effect on web services can be computed to effect proper ordering of these services within the mobile devices in such a manner that eradicates selection ties. The outcome of the experiments showed that, out of seven selection samples, only one is likely to produce an optimal selection without the feedback mechanism with the calculated probability of 0.13. Thus, we can conclude that the use of the feedback mechanism section of the proposed system enhances better performance in users’ satisfaction in comparison with existing works such as WsRF [45] and nonfeedback [47].

Possible future works need to consider the context of the device and mobile environment. Thus, inculcating the environmental context as well as the device context into the selection process is a good note for the furtherance of this work with proper checks in place to avoid complexity issues. Another area for future work includes the implementation of an autoswitching system into the mechanism to switch to the new server during failure.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.


This work is based on the research support in part by the National Research Foundation of South Africa (Grant UID: tp11062500001 (2017-2018)). The authors also acknowledge funds received from the industrial partners Telkom SA Ltd., Huawei Technologies SA (PTY), and Dynatech Information Systems, South Africa, in support of this research.