200 likes | 421 Views
Definition of Metric Dependencies for Monitoring the Impact of Quality of Services on Quality of Processes. Christian Mayerl, Kai Moritz Hüner, Jens-Uwe Gaspar, Christof Momm, Sebastian Abeck
E N D
Definition of Metric Dependenciesfor Monitoring the Impact of Quality of Serviceson Quality of Processes Christian Mayerl, Kai Moritz Hüner, Jens-Uwe Gaspar, Christof Momm, Sebastian Abeck Cooperation & Management, Institute of Telematics,Faculty of Computer Science, Universität Karlsruhe (TH)76128 Karlsruhe, Germany {mayerl | huener | gaspar | momm | abeck}@cm-tm.uka.de
INTRODUCTION – Overview • Introduction • Related Work • Metric Dependency Model • Elements for modeling metric dependencies • Formalism for calculating metric dependencies • Example – Performance Metric Dependencies • Dependency model of response time • Application of response time metrics • Monitoring Architecture • Components processing metric definitions • Implementation experiences and evaluation • Conclusion and Outlook
ProcessLogic Business Process Activity ToRProcess.CollectStudentInformation MetricProcess related metricdependency functionaldependency Service Service Operation StudentDBService.getCompleteSet MetricService related metricdependency functionaldependency ApplicationLogic Component FunctionStudentDBAccess.getCompleteSet MetricComponent related INTRODUCTION – Scenario and Questions • Which elements needed to define dependencies between metrics • related to processes, invoked services and components implementing services? • How to define metric dependencies to allow • mapping of metric dependency definitions to an monitoring architecture?
RELATED WORK – Overview • Basics of quality definitions • UML Profile for Modeling Quality of Service • basic terminology and structure, no calculable quality dependencies • Quality of Web Services • raw and aggregated metrics, no dependencies between services and processes • Metric dependencies • Business-driven IT Management (BDIM) • optimize SLOs from business perspective, not monitoring dependencies at runtime • Dependencies between service and process metrics • e-business processes based on Web services, no management function to monitor Quality of Service (QoS) and to calculate the impact on Quality of Process (QoP) • Management architectures and applications • Common Information Model (CIM) – Metrics Model • metrics related to functional units, no definition of calculable metric dependencies
CIM_ManagedElement … * CIM_ManagedSystemElement * CIM_Metric-DefForME … CIM_LogicalElement-UnitOfWorkDef * * CIM_MetricForME CIM_BaseMetricDefinition CIM_BaseMetricValue CIM_LogicalElementPerformsUoW * CIM_SubUoWDef CIM_MetricDefinition Id : string {key} Name : string DateType : uint16 {enum} Calculable : uint16 {enum} Units : string BreakdownDimensions : string[] IsContinous : boolean ChangeType : uint16 {enum} TimeScope : uint16 {enum} GatheringType : uint16 {enum} * Id : string {key} MetricDefinitionId : string {required} MeasuredElementName : string TimeStamp : datetime Duration : datetime MetricValue : string BreakdownDimension : string BrekDownValue : string Volatile : boolean Validity : uint16 * CIM_UnitOfWorkDefinition * * * ID : string {key} Context : string TraceLevelTypeID : string 1 1..* CIM_StartedUoW CIM_UoWMetricDefinition * * CIM_LogicalElement * * CIM_UoWMetric * CIM_UnitOfWork ID : sint64 {key} UoWDefID : string {key, propagated} UserName : string StartTime : dateTime ElapsedTime : datetime Status : uint16 {enum} MutualContextId : string TraceLevel : uint32 CIM_UoWMetric 1 CIM_SubUoW Value : string * CIM_MetricInstance 0..1 RELATED WORK – Common Information Model (CIM) Metrics Model • Modeling of runtime management information • Metric dependencies associated with relation CIM_SubUoW between units of work
METRIC DEPENDENCY MODEL – Assumptions and Requirements • Assumptions • focus on one process activity and one invoked service operation • process implemented with Business Process Execution Language (BPEL) • services described with Web Service Description Language (WSDL) • services implemented by component-based applications • functional dependencies between services and processes are well-known • Requirements • provider monitoring Quality of Services (QoS) should be able to estimate impacts on Quality of Processes (QoP) • formal model of metric dependencies needed to be calculated • mapping on existing standard management information models (e. g. Common Information Model, CIM)
Process Activity 1..* 1 * * PartnerLink MetricValue * 1..* BasicActivity StructuredActivity 1 UnitOfWork 1..2 * * 1 Role InvokeActivity MetricDefinition * * * * depends on Service 0..1 1 0..1 UnitOfWorkDefinition 1..* 1 * Interface * 0..1 MetricCategory 1 1 * InterfaceOperation * * * MetricCharacteristic Component depends on * * 1 1..* * DependencyFunction MetricDimension 1..* ComponentFunction * * 1 METRIC DEPENDENCY MODEL – Metrics and Metric Dependencies Process Layer Metric Dependencies Service Layer Application Layer
Functional Entity Quality Value Metric Value METRIC DEPENDENCY MODEL – Formalizing Metric Dependencies
EXAMPLE – PERFORMANCE METRIC DEPENDENCIESIntroduced Example Scenario • Process activity invokes a service operation • Service implemented by application component functions ProcessLogic Business Process Activity ToRProcess.CollectStudentInformation functionaldependency Service Service Operation StudentDBService.getCompleteSet functionaldependency ApplicationLogic Component FunctionStudentDBAccess.getCompleteSet
EXAMPLE – PERFORMANCE METRIC DEPENDENCIESMetric Dependency Pattern for Performance requestsent requestreceived processingstarted responsesent responsereceived • Metric dependency patterns based on existing approaches • Pattern applied to specific SOA by assigning concrete architectural elements to each metric ProcessLayer ServiceLayer ApplicationLayer
: UnitOfWorkDefinition :Process :InvokeActivity :DependencyFunction :StructuredActivity :Service :MetricCharacteristic :Interface :Component :InterfaceOperation : UnitOfWorkDefinition :ComponentFunction :MetricCharacteristic :MetricCategory :DependencyFunction :MetricDimension :MetricCharacteristic :MetricDimension :UnitOfWorkDefinition :ComponentFunction :UnitOfWorkDefinition name = “LookupStudent” name = “useNetwork” name = “ToRProcess” name = “LookupStudent” name = “main” name = “StudentDBService” name = “IStudentDBService” name = “isStudent” name = “StudentDBAccess” name = “getCompleteSet” name = “ProcessingTime” name = “isStudent” name = “isStudentOp” name = “WaitingTime” name = “CalcResponseTime” name = “CalcDurationTime” name = “DurationTime” name = “TransmissionTime” name = “Performance” name = “isStudentF” name = “ResponseTime” EXAMPLE – PERFORMANCE METRIC DEPENDENCIESModel for StudentDBService and ToRProcess
EXAMPLE – PERFORMANCE METRIC DEPENDENCIESSimple Metric Dependency Function • Assumptions • Dependency functions
Deployed on BPEL Engine Management Port «component» BPEL Process «component» Process Manager Provide Report Get Metrics Notify Impact Establish Agreement «component» Agreement Monitor «component» Agreement Repository «delegate» «delegate» Provide Agreement «component» Metric Comparator «component» Report Generator «delegate» Provide Metrics Management Port «component» Metric Aggregator «delegate» «component» Application Server «component» Web service Implementation Provide Service (WSDL) «component» Metric Collector «deployed on» Implemented as CIM Provider Implemented as CIM Server «component» Storage Management Port Store & Provide Data MONITORING ARCHITECTURE – Component Overview
MONITORING ARCHITECTURE – Component Details • AgreementMonitor • MetricAggregator • calculating metric values based on functional and metric dependencies • MetricComparator • comparing SLOs with calculated metric values • MetricCollector • collection of metric values and transformation to management information standards (e. g. CIM) • Others • Storage • Archiving of measured values • Associating values with functional and metric entities • Instrumentation • manageability capabilities of functional elements • provision of sufficient management information
«device»:AlfiVM02 «device»:AlfiVM03 «executionEnvironment»:Axis2webApp ToRProcess.jar «executionEnvironment»:OracleBPELengine «artifact»AgreementService.aar «artifact»AgreementRepository.jar courseunitdata examinationdb … «device»:MySQLServer «artifact»AgreementMonitorService.aar «artifact»MetricDependencyMgmtService.aar «artifact»AgreementMonitor.jar «artifact»DimensionValueService.aar «device»:AlfiVM01 «artifact»ReportGenerator.jar CourseUnitDBService.aar ExaminationDBService.aar OrganizationDBService.aar StudentDBService.aar «executionEnvironment»:Axis2webApp CIM_UnitOfWork.mof QoS_ … … «executionEnvironment»:CIMMOM «artifact»CIMOMwrapper.jar «artifact»CIMOMwrapper.jar «artifact»MetricComparator.jar «artifact»MetricAggregator.jar IMPLEMENTATION EXPERIENCES – Demonstrator • 10.000 requests for collecting and aggregating metric values
IMPLEMENTATION EXPERIENCES – Evaluation of MetricCollector and MetricAggregator • Useful medians • 141 milliseconds for MetricCollector • 437 milliseconds for MetricAggregator
IMPLEMENTATION EXPERIENCES –Evaluation of Metric Dependencies (Component, Service, Process) milliseconds
IMPLEMENTATION EXPERIENCES – EVALUATIONSorted Measurement Data milliseconds
IMPLEMENTATION EXPERIENCES – EVALUATIONCorrelation of Measurement Data Service Component Process Process Component Service
CONCLUSION AND OUTLOOK • Conclusion • Modeling metric dependencies between elements of a SOA • Formalism to calculate metric dependencies • Example – response time dependencies • Monitoring quality impacts at run time • Development of a monitoring architecture • Evaluation of monitoring metric dependencies • Outlook • Definition of a UML profile to model metric dependencies • Support for development of manageable SOA elements • Integrated development of SOA and manageability capabilities • Extensions of the management instrumentations • Development of adequate management interfaces • Provision of management information for calculating metric dependencies