Analysis of QoS in cooperative services for real time applications

F. Buccafurri, P. De Meo, M. Fugini, R. Furnari, A. Goy, G. Lax, P. Lops, S. Modafferi, B. Pernici, D. Redavid, G. Semeraro, D. Ursino
2008 Data & Knowledge Engineering  
j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / d a t a k The Service Oriented Architecture (SOA) 2 is widely adopted for delivering composite services to end-users. Such composed services, modeled as processes, are obtained through the interactions of different actors and offer added-value features able to satisfy complex end-user requests. As an example, a Travel Agency can provide to its users the possibility of booking and paying a flight in combination with
more » ... hotel, as a unique service. In such case, QoS deviations should consider both the Web-Service QoS (e.g., response time) of the Travel Agency Web site and the quality of the associated objects, e.g., the quality of the selected flight (defined according to user preferences) or the quality of the selected hotel (e.g., its price w.r.t. offered hotel services) again according to user preferences. Complex services can be handled both as orchestrated services, and thus executed by an orchestration engine or, under a more loosely-coupled perspective, as choreographed services, expressing constraints on admissible ordering of messages [30] . A choreography specifies the cooperation among different actors, each following a globally defined interaction protocol, but with no central execution engine, run by one of the participants. In these cases, a deviation from the prescribed behavior can represent an anomaly in the behavior of the complex service defined by the choreography. A particular type of service which is gaining interest in advanced application is provisioning of Real Time content. The provisioning is often activated through Web-Service interactions, i.e., the global service combines Web-Service technologies and Real Time content provisioning, although the user perceives this combination as a single service. Also in this case it would be important to measure and control the QoS in a combined approach. The purpose of this paper is to propose an integrated approach to QoS measurement and adaptivity for Web-based provisioning of delivered objects, and in particular of Real Time contents. We deal both with the QoS of Web-Services and with the QoS of the delivered objects, namely, streaming contents (images, videos, text and sound, and so on). We model and monitor both the quality parameters of the service delivering the content (e.g., response time, price, availability, ordering of messages) and the parameters that characterize such content (such as, for streaming objects, bandwidth or frame rate). The two measurements are combined using a common description based on an ontology of both the Web-Service and the Real Time content. The control of QoS violations is then applied at both levels, through a combined monitoring, and repaired, through a combined application of recovery actions aimed at adjusting the QoS level of the delivery. We consider complex composed processes, organized at two communication levels: the level of Web-Services interaction, i.e., Web-Service layer, and the level of Real Time content provisioning, i.e., Real Time Service Provisioning (RTSP) layer. The layers are separate for what concerns service provisioning, and communicate when dealing with QoS aspects. We propose two different QoS models, one for Web-Service quality and one for RSTP quality, and mechanisms for monitoring the QoS and reacting to possible QoS violations, also through adaptiveness. For Web-Services, our concept of QoS is composed of a set of parameters customizable by means of contracts between a client (service consumer) and a server (service provider). These contracts define the level of QoS acceptable for the interaction between the given client and the given server for Web-Service delivery. If a contract is not respected, we introduce the notion of QoS fault; upon QoS faults, recovery mechanisms can be employed to repair the fault, each with a given cost. For the RSTP level, QoS is modeled through suitable parameters, monitored and then repaired through adaptation mechanisms that aim at adjusting some parameters (e.g., the bandwidth) in order to keep the QoS compliant with the user preferences. To such aim, the preferences are stored and managed in private user profiles. We assume such profiles are constructed at design time and updated by the system in a partially automatic way, but the details of user profiling are beyond the scope of the paper. Being the global service provisioning considered as a unique composition of a Web-Service part and a streaming part, the provided mechanisms can lower the layer separation producing effects also in the layer where the QoS fault is not (still) raised. In the Web-Service world, a system supporting these features is called a Self-Healing System [25, 31] . These systems are composed of different cooperating nodes, each equipped with different modules in order to handle the application context, the QoS variations, the monitoring functions, and the recovery mechanisms. We consider that a QoS fault detection module (in our approach called Controller; see Section 3) and a Recovery Manager module are present to face QoS mismatches. The former is devoted to catch a fault, while the second works to choose the proper set of recovery actions to be performed to recover from a QoS violation. An advanced function provided by our approach is the prediction of future QoS violations. The prediction is obtained at the Web-Service layer and is associated with a probability. Its output is used to activate some actions able to face a priori the predicted faults. A choreography monitor is also exploited, namely, a Web-Service able to trace the message exchanges and detect possible anomalies at the communication level (e.g., interaction protocol violations). Thus, the framework at the Web-Service layer works both under a choreography perspective, used to face the global coordination aspects, and under an orchestration perspective, which considers a single orchestrated node where the single actor can handle its business process, and its interactions with the other Web-Services participating in the choreography, as an orchestration. In the paper, we also describe some architectural aspects related to the design of a software architecture devoted to develop a tools framework to support adaptive systems. Such architecture is proposed in the context of the Quadrantis Project, the Italian PRIN project wherein we have studied and developed the present QoS analysis models and tools. The paper is structured as follows. Section 2 presents the QoS models for Web-Services and for the RSTP, respectively. Section 3 describes the QoS monitoring model and the basic system characteristics necessary to implement it. Section 4 illustrates how the proposed models deal with the issue of reaction to QoS faults, in particular using adaptation mechanisms at the RTSP layer. Section 5 compares our approach with the existing literature. Finally, Section 6 draws our conclusions and future work.
doi:10.1016/j.datak.2008.08.004 fatcat:fuvsn4op2bguvjjqot4f5m4hmq