Autonomic Software Component Qos Matchmaking Algorithm Based on Fidelity Factor in Agent-based Autonomic Computing System

Autonomic software component (ASC) QoS matchmaking problem for autonomic element has been taken as one of the most important issue in field of autonomic computing based on agent. Aimed at overcoming drawbacks such as subjec-tiveness and unfairness, and improving the self-configuration capability for autonomic element, we introduce evaluation mechanism of confidence of individual QoS attributes during ASC QoS matchmaking, i.e., fidelity factor for each attribute, and propose an ASC QoS matchmaking algorithm based on fidelity factor. Simulation experiments demonstrate that our proposed algorithm performs best performance in terms of QoS than other existing algorithms, and has better compromise between attribute quality and users' evaluation when selecting ASC.


Introduction
In mid-October 2001, aimed at the problem of looming software complexity crisis, IBM Company innovatively proposed autonomic computing [1] technology -computing systems that can manage themselves given high-level objectives from administrators.An autonomic software component (ASC, or element, in IBM parlance) [1] is-"The fundamental atom of autonomic applications and systems-a modular unit of composition with contractually specified interfaces, explicit context dependencies, and mechanisms for self management, responsible for providing its own services, constraints (e.g., system resource requirements, performance requirements, etc.), managing its own behavior in accordance with context, rules, and policies, and interacting with other autonomic components.[1]" Autonomic software components will have complex life cycles, continually carrying on multiple threads of activity, and continually sensing and responding to the environment in which they are situated.Autonomy, proactivity, and goal-directed interactivity with their environment are distinguishing characteristics of software agents.Viewing autonomic software components as agents and autonomic systems as multi-agent systems makes it clear that agent-oriented architectural concepts will be critically important [2].
In order to efficiently accomplish the self-configuration and self-management between ASCs, one of the most important issues is how to design an efficient autonomic software component matchmaking algorithm to find appropriate provider(s) for a consumer according to the providers' advertising description.
However, most of the existing algorithms are only concerned with functional matchmaking on software component.Few of them focused on non-functional factors, such as software component cost, time, reliability, satisfaction, i. e. quality-of-service (QoS) of software component.Therefore, when more ASCs than one can provide a functional component, these algorithms just randomly selected one from these ASCs, and could not be obtained optimal ASC with high QoS performance.Moreover, only a few existing algorithms are considered QoS factors during software component matchmaking.However, these algorithms were paid regard to QoS level as a whole, ignoring confidence of individual QoS attributes.Due to QoS data was often advertised by software component providers, it suffered from the drawbacks such as subjectiveness and unfairness.And these Factor in Agent-ased Autonomic Computing System algorithms didn't be considered the user's feeling and satisfaction.
Aimed at overcoming the above difficulties, we introduce evaluation mechanism of confidence of individual QoS attributes during ASC QoS matchmaking, i.e., fidelity factor for each attribute, and propose an ASC QoS matchmaking algorithm based on fidelity factor, which will improve the facility and fairness concerned with QoS attributes, and objectively select optimal ASC with QoS performance.
The rest of the paper is organized as follows.Some of the existing work related to this paper is described in Section 2. Section 3 gives our proposed ASC matchmaking algorithm in detail.A case study and simulation results are presented in Section 4. Section 5 concludes the paper.

Related Work
In recent years, much research has been devoted to the development of software component matchmaking algorithms for agent or autonomic element [3,4,5,6,7,8].Wickler [3] addressed the problem of capability brokering agent, and proposed a new capability description language (CDL) for the representation of agent capabilities.Sycara [4] defined a language called LARKS for agent advertisements and requests, and presented a flexible and efficient matchmaking process that used LARKS.LARKS performed both syntactic and semantic matching, and in addition allowed the specification of concepts (local ontologies) via ITL, a concept language.The establishment for semantic distance consumed much workload, so that their matching algorithm had limitations on practicability and reliability.Arisha et al. [5] provided approximate software agent service matchmaking by using semantic distance.Whereas, the algorithm could not support definition of data type and descript software component efficiently.However, neither of the above algorithms considered the factors of quality-of-service attribution, such as cost, time, and reliability.Zhang [6] and Jiang [7] analyzed the drawbacks in previous papers, i.e., the matchmaking was only based on the advertised capabilities of provider agents or software components.They considered the matchmaking influenced by QoS of software components, and individually presented software components matchmaking algorithm based on QoS.In [6], it was argued that the practical performance of provider agents had a significant impact on the matchmaking outcomes of middle agents.The authors' proposed algorithm could pick up the provider agents based on the history information in accomplishing similar tasks in the past rather than choosing randomly.At the launching of an agent system, the proposed algorithm provided initial values of the track records.With agents' history information and the initial values of the track records, the quality of matchmaking algorithms could be improved significantly, and the returned results were more accurate and reasonable.Jiang [7] pointed out that there were two drawbacks using the track records in [6], i.e., the value of track records was too subjective, and track record model is too simple to judge agent services' performance more accurately.So, the authors in [7] presented QoS-driven matchmaking algorithm, which aimed at matching the best satisfying agent for user.It is pity for the above two algorithms that the authors didn't consider the user's feeling and satisfaction when selecting agents or software components.The authors in [8] studied agent service selection and matchmaking in manufacturing industry field.They applied the idea of rough sets theory and fuzzy information filter to reclaim agent selection problem and realized reasonable evaluation for recycling quotient.Their algorithm was easy to select optimum reclaiming agent for manufacturer.However, their method belonged to specific field and non-universal.
Besides software component or agent service matchmaking, some researchers took software component or agent as web service, and proposed many QoS-aware web services matchmaking or selection algorithms [9,10,11,12,13,14].Some theoretic methods or principle in these algorithms can be used for reference when matchmaking software component, due to many similarities between software component and web service.Ma [9] proposed a semantic QoS-aware framework for semantic web services discovery, and presented a selection algorithm to obtain the optimal offer from clients' viewpoint under complex QoS conditions through confirming the compatibility of concepts.Hu et al. [10] proposed a novel and extended web service QoS model (attributes include time, cost, reliability and interest) by adding an interest degree property, and then put forward to a QoS matchmaking algorithm based on this model.Aimed at resolving such conflicts to ensure consensus on the QoS characteristics in the selection of web services, Wei [11] proposed a QoS Consensus Moderation Approach (QCMA) in order to perform QoS consensus and to alleviate the differences on QoS characteristics in the selection of web services.QCMA enhanced the moderation for opinion similarity and preference on QoS attributes and was been designed a mechanism for providing group consensus moderation on QoS.Giallonardo et al. [12] used ontology to describe QoS-based WS specifications and reasoners to perform the matchmaking.They addressed QoS semantics to improve the recall of the matching process by exploiting ontology knowledge, and their QoS specification approach used metrics to understand, describe, and control the QoS in the matching Factor in Agent-Based Autonomic Computing System  process.However, they didn't offer useful results for over-constrained demands.In addition, although they were capable of, they did not perform semantic QoS metric matching.Guo et al. [13] proposed three-dimensional QoS model of web services, and designed a web services selection algorithm.In their algorithm, the concept and measure method of web service effectiveness were proposed, and then a web service ranking algorithm based on the effectiveness of web service was designed.The comprehensive experiment showed their proposed model possessed high precision, high response rate and better influence on the load balance of web service.Liang Kai-jian [14] studied QoS support problem in Service-oriented Grid system, and presented a new parameter called GSQN(Grid Service Quality Number) to depict the profile of qualitative characteristics of a grid service.Based on this idea, the author proposed a strategy of matchmaking with a price model to match grid service.The first four QoS attributes are often published by ASC providers themselves, and describe the basic QoS performance of an ASC, so most of the authors took them as quality criteria for an ASC.However, such criterion is too subjective to reflect actual quality of ASC.In this paper, we introduce attribute "reputation" to measure users' satisfaction degree.On the other hand, fidelity vector is added to the QoS model to improve the impartiality and objectivity.Fidelity is treated as a vector composed of fidelity attributes.Each fidelity attribute refers to the confidence or fidelity of above first four QoS attributes, i.e., (2)

Matchmaking Algorithm Description
In our proposed QoS matchmaking algorithm, the drawbacks in [6] and [7] such as subjectiveness and unfairness are overcame through introducing evaluation mechanism of confidence of individual QoS attributes, i.e., fidelity factor for each attribute, which can improve the self-configuration capability for autonomic element.
The basic idea of our algorithm is as follows: firstly, normalizing each attribute in QoS description to range [0,1] for each ASC in initial set; then fidelity of each attribute is considered to evaluate QoS overall performance for every ASC comprehensively and objectively; finally, an ASC whose total QoS value is maximal is picked out from all candidates.
Concretely, suppose that there is a set of ASC providing a certain software function, i.e.
 denote confidence fidelity of the first four QoS attributes for pasc i .There are two phases as follows: 1) Scaling phase.Some of the QoS attributes could be negative, i.e., the higher the value, the lower the quality, such as time, cost.Other QoS attributes are positive, i.e., the higher the value, the higher the quality, such as reliability, maintainability, and reputation.For negative attributes, values are scaled according to (3).For positive criteria, values are scaled according to (4).
In the above equations, and are the maximal and minimal value of the jth QoS attribute, respectively.Let , i j be normalizing matrix according to Q, where , i j M denotes normalizing value of the jth QoS attribute for ASC provider pasc i .
Proof.In scaling phase, the time complexity of getting normalizing matrix for all attributes is O(kn), where k is the number of attributes (constant), in this work, k=5.Then, weighting phase takes O(n).So, the worst time of algorithm is O(n).

A Case Study
A case study of our proposed matchmaking algorithm will be given for explaining the effect of our proposed algorithm.The following experiment method will be used to select the most satisfactory ASC.Suppose the initial providers have 10 ASCs, i.e., PASC    , , , pasc pasc pasc  0 .It means that these ten ASCs can provide the same or closely similar capabilities.
2) Weighting phase.The following formula is used to calculate the overall quality score of ASC provider pasc i .
The QoS values of 10 ASCs are generated through the following simulation.Assume that there are 50 similar tasks (or ASC requests).For each request, we randomly delegate it to an ASC, pasc i , from PASC, and randomly generate QoS attribute values and their fidelity values, denoting QoS value of pasc i in this request.In these attributes, t is randomly distributed between 70 and 100 ms; c is uniformly distributed [10,100] The QoS values in matrix Q and the confidence fidelity matrix of the first four QoS attributes for ASC pasc i are the mean value of the results produced by its provided software component number, respectively.The QoS values matrix Q, confidence fidelity matrix F, and normalizing matrix M are as follows.
It is easy to see from Table 1 that pasc10 has maximal QoS score among all ASCs, and this ASC will be selected as optimal one with QoS performance.
The matchmaking result ASCs and their normalizing matrix are shown in Table 3 by using traditional algorithm, Zhang's algorithm [6] and Jiang's algorithm [7], respectively.
We can see from normalizing matrix M in Table 2, QoS performance (0.82, 0.85, 1.00, 0.89, 0.77) of pasc 10 gives slightly worse than performance (1.00, 0.70, 0.99, 1.00, 0.81) of pasc 4 .But, fidelity performance of QoS attributes of pasc10 (0.51, 0.65, 0.45, 0.47) is evidently better than that of pasc 4 (0.41, 0.76, 0.38, 0.26).This phenomenon shows that some ASC providers usually claim their higher QoS attribute performance like pasc4, but if the confidence fidelity or users' feeling degree is also considered when selecting ASC, the overall quality or performance for these ASCs is not necessarily optimal.This point accords with the practical situation on Internet, such as e-business, online shopping, in which, people have always compromised selection need software function between quality and users' evaluation.Therefore, our proposed QoS matchmaking algorithm is effective and reasonable.

Simulation Experiment
To evaluate the impact of fidelity on the final matchmaking results, we conduct the following simulations and compare the matchmaking results of our algorithm with Jiang's algorithm.
For the sake of simple, suppose that there are 10 initial ASCs.At each experiment, we randomly generate QoS attributes and fidelity values of each ASC according to the following strategy: t is randomly distributed between 10 and 100 ms; c is uniformly distributed [70, 100] $; rel, m, rep is randomly generated in [0,1].The fidelity for the first four attributes is in [0,1].At each experiment point, we record average values M of normalizing matrix M and average fidelity values F of matrix F of selected ASC with highest score by using Jiang's algorithm and our algorithm, respectively, i.e., 5 4 , , 1 ( ) , ( ) 5 4 where, i is numbering of ASC with highest QoS performance selected by using Jiang's algorithm or our algorithm.Let Q ei (i) in Formula ( 10) denote QoS evaluation index for current algorithm, in order to measure final QoS evaluation of selected ASC.The higher the Q ei , the greater the comprehensive quality performance.In which,  ( ) ( ) ( ) Simulations are divided into three groups for different weight values of the QoS attributes in Formula (5) considering different users' quality preference.
Group 1: , denoting unbiasedness;   For each group, we run the experiments for different evaluation weights pair, i.e., 1  from 0.9 down to 0.1, Factor in Agent-Based Autonomic Computing System

Conclusions
In this paper, we discuss the autonomic software component QoS matchmaking problem for autonomic element, which has been taken as one of the most important issue in field of autonomic computing, especially in agent-based autonomic computing system.A QoS model for ASC is built, and on basis of which, an ASC QoS matchmaking algorithm based on fidelity factor is proposed.Main work in this paper has following characteristics: 1) Our proposed QoS model for ASC is simple and effective, and it does not limit type, amount, and value of QoS attributes, which shows better scalability and flexibility.
2) During ASC matchmaking process, we introduce evaluation mechanism of confidence of individual QoS attributes, i.e., fidelity factor for each attribute, which can overcome drawbacks such as subjectiveness and unfairness, and improve the self-configuration capability for autonomic element.
3) Simulation experiments demonstrate the effective and correction of our algorithm for matchmaking, and perform best performance in terms of QoS than other existing algorithms.
4) Simulations show also that our algorithm has better compromise between attribute quality and users' evaluation when selecting ASC.Our proposed algorithm is suitable for many situations on Internet, such as e-business, online shopping, in which, people have always compromised selection need software function between quality and users' evaluation.

1 .
where, is the weight value of the jth QoS attribute,.End users express their preferences regarding QoS by providing values for the weight w j .In worse case, the time complexity of our proposed algorithm is O(n), where n is the total number of ASC providers.

1  and 2 
are evaluation weight for QoS attribute and fidelity factor.
for t and c;

3.1 Problem Description Definition 1. Autonomic software component match- making based on QoS problem
. Given the set of ASC providers , an ASC requester rasc, autonomic software component matchmaking based on QoS problem is to find an ASC such that their QoS level is maximized.rep mainly depends on end user's experiences of using the ASC.Different end users may have different opinions or satisfaction degree on the same ASC.Usually, the end users or requesters are given a range to rank or score ASCs, for example, in Amazon.com, the range is [0,5].In this paper, the range is [0,1].
$; rel, m, rep is randomly generated in [0,1].The fidelity for the first four attributes is in [0,1].The QoS values of 10 ASCs for 50 requests are shown in Table1, where pn denotes provided ASC number of pasc i for all requests.