• No results found

A Model-driven Framework for Managing the QoS of Collaborative P2P Service-based Applications

N/A
N/A
Protected

Academic year: 2021

Share "A Model-driven Framework for Managing the QoS of Collaborative P2P Service-based Applications"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

A Model-driven Framework for Managing the

QoS of Collaborative P2P Service-based Applications

Michele Angelaccio, Andrea D’Ambrogio

Dept. of Computer Science S&P

University of Roma TorVergata, Roma (Italy)

{angelaccio,dambro}@info.uniroma2.it

Abstract

1

Distributed and collaborative applications are rapidly converging towards the adoption of a computing paradigm based on service-oriented architectures, according to which an application results from the composition of a set of services in execution on networked server hosts.

In this context, a major challenge for collaborative businesses and application service providers is to provide services with high levels of QoS to geographically dislocated consumers. In order to enable better QoS, service providers may employ overlay networks to bring applications closer to their consumers, overcoming slow backbone paths, network congestions and physical latencies.

This paper introduces a model-driven QoS management framework that provides both a standard (UML-based) notation to describe QoS-aware collaborative P2P service-based applications and a method for adaptive QoS management based on the automated building of performance models.

1.

Introduction

Distributed and collaborative applications are rapidly converging towards the adoption of a computing paradigm based on service-oriented architectures, according to which an application results from the composition of a set of services in execution on networked server hosts.

A service is a self-describing, open component that supports rapid composition of distributed applications. Web Services are a well-known and widely used technology for implementing the service concept.

A collaborative service-based application can be seen as a set of services that cooperate to execute a

1 Work partially supported by funds from the FIRB project on Performance Evaluation of Complex Systems and from the University of Roma TorVergata CERTIA Research Center.

process that defines the collaboration workflow. The service-oriented architecture provides the necessary support for the consolidation of multiple services into a single composite service corresponding to the overall process.

The quality of service (QoS) of service-based applications executed on top of conventional client/server platforms may rapidly degrade when the number of concurrent client requests scales up or when the server experiences a failure. Simple solutions, such as the use of additional servers or clusters of servers, may be either economically unfeasible or not sufficient to satisfy the agreed QoS.

Peer-to-peer (P2P) environments have gradually emerged as a viable alternative to traditional client/server environments. The introduction of P2P overlay networks of service providers offers an efficient, scalable, fault-resilient and self-organizing substrate for building service-based applications.

P2P overlay networks abstract from the details of the physical deployment of services and provide a virtual execution environment that includes decentralized service location and deployment.

However, service providers have still to face the problems of predicting the level of QoS that can be offered to service consumers and dynamically managing the QoS at execution time.

The two problems are strictly related. Indeed, the ability to predict the level of QoS can be exploited both to provide QoS assurances at design time, in order to deliver applications that meet the user QoS requirements, and to manage QoS at execution time, to dynamically re-deploy or re-configure the application to maintain the agreed QoS level.

This paper introduces a model-driven QoS management framework that can effectively be used to cope with both situations. A collaborative P2P service-based application allows its constituent services and resources to be used in a coordinated fashion to deliver various QoS characteristics, relating for example to

(2)

performance, reliability, availability, security, etc. [8]. This paper specifically addresses performance-related QoS attributes, such as response time, utilization, throughput, etc.

The proposed framework is founded on the principles of model-driven development and exploits the set of related standards and technologies to introduce:

- a standard (UML-based) notation to describe QoS-aware collaborative P2P service-based applications;

- a method for adaptive QoS management based on the automated building of performance models.

The rest of the paper is organized as follows: Section 2 illustrates the reference context and shows how businesses can benefit from the adoption of QoS-aware collaborative P2P service-based applications. Section 3 describes the model-driven framework for managing the QoS of collaborative P2P service-based applications and illustrates both the proposed notation for modeling QoS-aware P2P applications and the method for the automated building of performance models, which is at the core of the QoS management framework. An application for home mortgage approval, inspired by [6], is used throughout the paper as an example of collaborative P2P service-based application.

2.

Collaborative business P2P perspective

A major challenge for businesses and application service providers is to provide high quality services to geographically dislocated consumers at a reasonable cost.

The increasing availability of interactive services available over the Internet give small and medium scale businesses an opportunity to offer innovative value-added services by collaborating over the global integrated communication infrastructure, without the risks and investments required for setting-up large communication infrastructures.

Collaborative environments are one of the infrastructures needed to create a real business force in which a large number of diversified suppliers may group themselves and create a virtual company.

In this context, service consumers and service providers are strategically interested to provide a high level of QoS, which is essential to gain strategic advantage in the global marketplace. In order to enable better QoS, service providers may employ overlay networks to bring applications closer to their consumers, overcoming slow backbone paths, network congestions and physical latencies.

An overlay network is a collection of interconnected application servers that supports high-performance and high-scalability at a low cost. Efficient allocation of services to the overlay network servers reduces the operational cost and improves the overall QoS. This becomes more crucial as the scale of services extend to a large number of consumers over geographically distributed sites, where communication costs as well as network latencies are high.

To better characterize QoS, the concepts of service level agreement (SLA) has been introduced to replace the traditional concept of best effort in service delivery. A SLA includes not only a statement about the service that is provided but also a commitment to a defined level of QoS.

The problems then arise of monitoring the QoS of the service at execution time and introducing an adaptive control to dynamically managing the QoS (i.e., to maintaining the negotiated QoS levels).

The QoS management activity may imply a set of remedial measures such as application re-configuration and services re-deploying.

QoS management support is usually based on knowledge repositories that apply empirical rules. A more complete support should be based on the use of performance models to predict the effect of various decisions.

This is the main contribution of the proposed model-driven framework for managing the QoS of collaborative P2P service-based applications, as described in the next section.

3.

Model-driven QoS management

framework

A service-based application consists of a set of services that collaborative organizations can aggregate in various ways. The service-oriented architecture defines standard mechanisms for creating, naming, and discovering service instances deployed on the set of networked servers that make up the execution environment.

The difference between a traditional service-based application and a P2P service-based application is that in the first case the allocation of service to servers is statically determined at design time and is not modified at execution time. In a P2P service-based application instead each node of the overlay network can be considered as a server that can potentially host one or more services. In such a case, the allocation of service to servers (i.e., nodes of the overlay network) is initially determined at design time and then dynamically changed at execution time, when operational conditions change (i.e., new nodes enter the network, some nodes fail, some other nodes are

(3)

over utilized, etc.). It is assumed a decentralized service discovery feature is available to dynamically locate which nodes host a given service and the QoS characteristics of such nodes.

The significant benefits of such a solution are clearly outlined in [1, 7], even though the use of a P2P service-based applications in the collaborative business field requires proper security mechanisms and a larger number of stable nodes than in today’s P2P networks, thus leading to the concept of trusted P2P networks.

Figure 1 describes the proposed model-driven framework for managing the QoS of collaborative P2P service-based applications.

Figure 1. Model-driven QoS management framework

Horizontal partitions correspond to different layers, namely the application layer, the model layer and the P2P layer. Rounded boxes represent actions that may take items (straight boxes) as input and may yield other items as output.

Initially, the application is designed by aggregating a set of appropriate services according to a high-level application description. As an example, in a service-based application for home mortgage application, the application user (i.e., the home buyer) provides pertinent information for the loan application and then selects a bank service provider that provides loans for home purchases. The bank service locates a credit service that provides a credit rating for the user. If the

credit is approved, the bank uses an appraisal service that electronically provides the bank with the appraised value of the property. The bank approves the loan and communicates this to the user. The buyer then locates an insurance provider that provides home insurance for the property. The insurance provider in turn communicates with the bank with insurance information for the user.

At design time, QoS requirements are specified as part of the SLA. As an example, a QoS requirement on the response (i.e., the time to complete the overall transaction) could be defined. The response time depends on several factors, such as the number of concurrent users, the time needed to complete single interactions, the utilization of the servers that host the services as well as of the network links, etc.

A model of the application is then built. Such a model is denoted as abstract model, because it describes the application from a deployment-independent point of view. After an initial discovery of services offered by the nodes of the overlay network, the abstract model is transformed to a concrete model with actual deployment details, as better described in Section 3.1.

The concrete model is then automatically transformed into a performance model by use of the method described in Section 3.2. The so-obtained performance model is evaluated and the results are the predictions that are used to check if the service-based application is going to satisfy the established QoS requirements. In the positive case, a SLA can be stipulated with the predicted QoS levels. In the negative case (i.e., requirements cannot be satisfied), a decision must be taken about the opportunity of revising the QoS requirements and negotiate different QoS levels in the service level agreement.

At execution time, when the operational conditions of the P2P network change (i.e., new nodes enter the network, nodes fail, nodes exceed the utilization threshold, etc.) a new discovery is carried out and the model-driven approach is applied again to find the service configuration and deployment that allows to maintain the agreed QoS levels. Such QoS management loop is continuously applied until the application is in execution.

Performance models have traditionally been used as an off-line approach to system evaluation. The proposed framework, on the contrary, is founded on the on-line use of the model. In other words, the performance model is part of the QoS management loop at application execution time (see Figure 1).

The efficiency of model building and evaluation activities is in this case essential to conduct the decision process in due time. Indeed, the model-driven framework requires the QoS management process to

(4)

identify in (quasi) real-time how to re-configure the application in order to maintain the agreed QoS level. In this respect, the most critical activity is undoubtedly the model building activity, which can be time-consuming and error-prone if performed manually, by use of experience and intuition. The time efficiency of the model evaluation activity is instead readily achieved by use of commercial or academic evaluation tools based on efficient solution techniques. To meet the time efficiency and correctness requirements of the model building activity, the proposed framework integrates an automated method for building performance models from models of the P2P service-based applications, as detailed in Section 3.2.

The integration of such methods into QoS management tools is a key factor to effectively support collaborative P2P service-based applications.

3.1. Modeling P2P service-based applications In order to manage the inherent complexity of P2P service-based applications it is necessary to introduce standard abstractions for describing and building such applications. This section introduces a UML-based notation that overcomes the general lack of such abstractions.

The proposed notation uses and extends a subset of the UML2 metamodel [13], namely the activity diagram and the deployment diagram.

The activity diagram provides the behavior specification of the application by describing the flow of activities carried out in a given execution scenario. Each activity corresponds to an operation exposed by a service provider. The purpose of the activity diagram is to provide a means of integrating a number of distributed and heterogeneous services together, by interfacing with each service in such a way that the collective set forms a single application.

Figure 2 describes the activity diagram for the home mortgage application described in the previous section. The leftmost activity partition groups the activities carried out by the user application that invokes the operation provided by the services modeled by activity partitions stereotyped as «service». Activities are annotated by use of the UML Profile for Schedulability, Performance and Time (SPT hereinafter), which is used to extend UML models with performance-related QoS annotations [12]. Specifically, the «PAstep» stereotype gives the total delay to execute the activity (PArespTime tag), the execution probability (PAprob tag) and the number of times the activity is repeated (PArep tag).

Figure 2. Activity diagram for the example home mortgage approval application

The deployment diagram describes the configuration of the services hosting platform, which consists of a set of interconnected devices, with the allocation of services implementations onto such devices. Figure 3 describes the deployment diagram for the home mortgage application described in the previous section. The deployment devices are annotated according to the SPT profile by use of the «PAhost» stereotype, which gives performance related characteristics such as the utilization (PAutilization tag) and the rate at which the resource performs its function (PAthroughput tag). Such devices are typically owned by different, in principle independent, organizations and correspond to physical nodes of the overlay network, as denoted by the ID tag of the «P2Pnode» stereotype associated to deployment devices that host a service. The links that connect the devices are annotated with a communication cost that takes into account the devices proximity in terms of number of hops.

It is worth noting that the deployment diagram only shows a flat view of the overlay network nodes onto

(5)

which the set of services are deployed. In this respect, it can be considered as a snapshot of the overlay network status, because the mapping between a deployment device and a node of the overlay network is modified as soon as the status of the overlay network is updated by a new discovery.

According to what stated in Section 3, an abstract model of the collaborative P2P service-based application consists of the activity diagram with annotations expressed as unassigned parameters. The concrete model instead is obtained after the initial discovery and introduces the deployment diagram. At this time, the annotated parameters on both the activity and the deployment diagrams are given actual values corresponding to the QoS characteristics of the overlay network. Such parameters are then updated each time a new discovery is carried out.

Figure 3. Deployment diagram for the example home mortgage approval application

3.2. Automated Performance Model Building This section describes the automated method for building a performance model from a concrete model of the P2P service-based application. The method exploits the precepts recently introduced by the OMG’s (Object Management Group) MDA (Model Driven Architecture), which supports the development of software systems through the transformation of abstract models to executable components and applications. MDA emphasizes the role of models as the primary artifacts of development by providing a set of guidelines for structuring specifications expressed as models and the transformations between such models. The transformation maps the elements of a source model that conforms to a specific metamodel to elements of another model, the target model that conforms to the same or to a different metamodel [9].

The proposed method focuses on the transformation of a source model, i.e., the UML-based concrete model of the service-based application, to a target performance model ready to be analyzed by a performance evaluation tool. In this paper, the method is applied to performance models of layered queueing network (LQN) type. A LQN model is a high-level abstraction of queueing network models, introduced for modeling the contention of software servers and hardware devices [15].

The method makes use of the set of MDA-related standards to obtain a high degree of automation, so that interoperable model transformation tools can be implemented in a timely and efficient way. The Meta Object Facility (MOF) is the OMG standard that defines an abstract language and a framework for specifying, constructing, and managing technology neutral metamodels, or models used to describe other models [10]. A side standard of MOF is the OMG's XML Metadata Interchange (XMI) specification, which provides a set of rules that are applied to model elements to produce an XML document. These rules can be applied to any model instance of a MOF metamodel [14]. Finally, the MOF 2.0 Query/View/Transformation (QVT) specification is the OMG standard for executing model transformations [11].

At the heart of the proposed method is the QVT-based model transformation that takes as input the XMI files corresponding to the activity diagram and the deployment diagram of the UML-based concrete model and produces as output the XMI file corresponding to the LQN model. A detailed description of the QVT-based model transformation is given in [2].

Figure 4. Performance model for the example home mortgage approval application

Figure 4 illustrates the LQN model obtained from the activity diagram and the deployment diagram in Figures 2 and 3, respectively. The so-obtained model can then be given as input to a model evaluation tool

(6)

that yields as output the performance indices (e.g., the response time to complete the home mortgage approval transaction) that give the QoS prediction.

In order to effectively process all the models in Figure 2 by use of heterogeneous tools and model repositories (i.e., UML-based tools and repositories, performance evaluation tools, model transformation tools) it is necessary to provide a technology specific representation at model layer, which in turn would enable an actual tool interoperability [3]. To this purpose, XMI provides a vendor and middleware neutral open interchange format that plays a key role in achieving a significant degree of interoperability at model layer.

Besides the model transformation of UML models to performance models, a QVT-based model transformation approach can also be used to automatically update the UML concrete model at execution time. To this purpose, the Common Information Model (CIM), an XML-based standard published by the Distributed Management Task Force, can be used to describe the nodes of the overlay network by use of characteristics, or attributes, that gives the specific parameters associated to each node. A node, for example, would have characteristics describing its processing capabilities, memory capacity, disc storage, name of hosted services, and other attributes. A service would have characteristics describing its requirements for processing, storage, network resources and QoS. A CIM extension to model P2P networks and services is given in [4]. The model provides a view that includes the enumeration of participating nodes, the virtual topology and organization and the amount of available resources, communication elements and services. The model has then been applied on the well-known Chord P2P infrastructure and extended to the performance management of distributed hash tables (DHT), which are the core of several P2P applications and provide reliable routing and discovery functionalities [5].

4.

Conclusions

This paper has introduced a model-driven QoS management framework for managing the QoS for P2P service-based applications. The framework is centered on an automated method for building performance models that enables adaptive QoS management.

The paper has also introduced a standard (UML-based) notation for describing QoS-aware collaborative P2P service-based applications.

The framework has been demonstrated using a case-study taken from a business application example of home mortgage transactions in which the target

performance model is built on the Chord DHT infrastructure. Work is in progress to carry out experimental evaluations and to develop tools that enable P2P service providers to effectively apply the proposed framework.

5.

References

[1] M. Amoretti, F. Zanichelli, G. Conte, SP2A: a Service-oriented Framework for P2Pbased Grids, Proc. of the 3rd International Workshop on Middleware for Grid Computing (MGC’05), Grenoble, France, Nov 28-Dec 2 2005.

[2] A. D’Ambrogio, A Model Transformation Framework for the Automated Building of Performance Models from Software Models, Proc. of the 5th International Workshop on Software and Performance (WOSP 2005), July 11-15, 2005, Palma de Mallorca, Spain. [3] A. D’Ambrogio, G. Iazeolla, Metadata-driven Design

of Integrated Environments for Software Performance Validation, Journal of Systems and Software, Vol. 76/2, pp. 127–146, May 2005.

[4] G. Doyen, O. Festor, E. Nataf, A CIM Extension for Peer-to-Peer Network and Service Management, Proc. of the Int. Conference on Telecommunications (ICT'2004), Fortaleza, Brazil, Aug. 2004.

[5] G. Doyen, E. Nataf, O. Festor, A Performance-Oriented Management Information Model for the Chord Peer-to-Peer Framework, Proc. of the IFIP/IEEE International Conference on Management of Multimedia Networks and Services (MMNS'2004), San Diego, California, USA, October 2004.

[6] S. Goela, S.S. Talya, M. Sobolewski, Service-based P2P overlay network for collaborative problem solving, Decision Support Systems Journal, 2006 (to appear).

[7] A. Imanitchi, I. Foster, A Peer-to-Peer Approach to Resource Location in Grid Environments, in Grid Resource Management, Kluwer Publishing, 2003. [8] ISO/IEC 13236-1998. Information

Technology-Quality of Service: Framework.

[9] Object Management Group, MDA Guide, version 1.0.1, June 2003.

[10] Object Management Group, Meta Object Facility (MOF) Specification, version 1.4, April 2002.

[11] Object Management Group, MOF 2.0 Query/View/Transformation Specification, Final Adopted Specification, November 2005.

[12] Object Management Group, UML Profile for Scheduling, Performance and Time, version 1.0, September 2003.

[13] Object Management Group, Unified Modeling Language (UML): Superstructure, version 2.0, August 2005.

[14] Object Management Group, XML Metadata Interchange (XMI) Specification, version 2.0, May 2003.

[15] J.A. Rolia, K.C. Sevcik, The Method of Layers, IEEE Transactions on Software Engineering, 21(8):689-700, August 1995.

References

Related documents