Service-Oriented Computing Service-Oriented Computing Every computing resource is packaged as a service Services are application building blocks unit of functionality unit of integration unit of composition Individual services can be composed to create more composite services Service have dependencies on other constituent services Consumer service does not have any knowledge of dependencies of services it consumes
Service-Oriented Computing Service-Oriented ComputingChallenges Services composition (binding) is a design time activity based on functional properties meeting consumer requirements, not quality attributes functional properties: service types, published as WSDL contract quality attributes: throughput, response time, availability.. Service quality varies by service instance and over time service quality may change unpredictably
Contributions Contributions Probabilistic trusted-aware service selection and composition model takes into account service consumers requirements (e.g. qualities of service) takes into account service composition patterns considers service qualities as they apply to service instances quality component service may affect the whole composition Example: reliability rewards & punishes constituent services dynamically
Service Composition Patterns Service Composition Patterns (BEPL Primitives) SWITCH chooses exactly one component based on some criteriaMAX composes quality by inheriting from child with highest quality valueMIN composes quality by inheriting from child with lowest quality throughput for sequenceSUM yields composite quality value as sum of quality values obtained from all constituent servicesPRODUCT yields composite quality value as product of quality values obtained from all constituent services.
BEPL Services Diagram BEPL Services Diagram
Trust-Aware Service Selection Model Trust-Aware Service Selection Model
Trustworthiness of a service is estimated based on direct experience previous QoS received from service Consumer maintains its own local model to determine if to reward or penalize services based on direct experience selects services and composes them into a composite service evaluates composite service with respect to service quality attributes applies a learning method to update its model for the services Special case: when selecting atomic service, consumer has less information to learn from
Trust-Aware Service Selection Models Trust-Aware Service Selection Models Two Alternatives Bayesian Model models compositions via Bayesian networks in partially observable settings captures dependency among composite and constituent services adaptively updates trust to reflect the most recent quality uses online learning to track service behavior and shows how composite services quality depends upon its constituents quality Beta mixture Model can learn not only distribution of composite quality, but also responsibility of a constituent service in composite quality without actually observing the constituents performance. learns quality distribution of the services provides how much each constituent service contributes to overall composition
Trust-Aware Service Selection Models Trust-Aware Service Selection Models Two Alternatives
Service Composition Bayesian Model P(T) Probability of obtaining satisfactory quality from service T Trust CompositeService atomic
Service Composition Bayesian Model Conditional probability table associated with each node provides a basis for determining how much responsibility to assign to constituent services Conditional probabilities represent level of trust consumer places in constituent services in composition
Service Composition Dealing with Incomplete Data model variables may not be observable data is often incomplete Variables w/o data considered latent variable Expectation Maximization (EM) is used to optimally estimate distribution parameters which are then used to calculate the expected values of latent variables
Service Composition Dealing with Incomplete Data
Service Composition Beta-Mixture Model
Service Composition Beta-Mixture Model Mixture distribution estimated by maximizing log- likelihood function using EM algorithm
Service Composition Beta-Mixture Model Estimation EM Algorithm Steps EM is a sequential online learning algorithm: it is repeated whenever the consumer makes new observations.
Composition Operator Service Quality Metrics and Interaction Types SWITCH chooses exactly one of its children based on a predefined multinomial distribution simulates composite quality based on one childrenMAX composes quality by inheriting from child with highest quality value relates to latency for flow.
SWITCH chooses exactly one children based on predefined multinomial distribution simulates composite quality based on one childrenMAX composes quality by inheriting from child w/ highest quality value represents latency for flowMIN composes quality by inheriting from child with lowest quality throughput for sequenceSUM yields composite quality value as sum of quality values obtained from all children relates to throughput for flowPRODUCT yields composite quality value as product of quality values obtained from all children. relates to failure for flow
Experimental Results Bayesian Appraoch
Composite Service C Trust Estimation SWITCH Operator
Composite Service C Conditional Trust (SWITCH Operator) Good ServiceBad Service
Bayesian vs. Naïve Prediction Errors (80% missing data)
Conditional Trust in Composite Service MAXMIN 40% data missing
Dealing with Dynamic Behavior
Random Walk Service Cheating Constituent Service
Actual and Estimated Parameters
Estimated Beta-mixture & Actual Distribution and samples of trust (SWITCH composition) Beta-mixture learns accurate distributions of both component services. One provides good service (left peak); the other provides bad service (right peak).
Kolmogorov-Smirnov Test FCM-MM vs. Beta-mixture
Prediction Error Nepal et al. vs. Beta-mixture
Powerful means of estimating quality distribution of a composite service w/o knowing quality of constituents Accurately estimates responsibilities of each constituent service Limitations Difficult to learn component distributions when composite distribution is unimodal. Accuracy may be improved if constituent services qualities are partially observable. Difficult to learn constituent services that rarely contribute due to lack of evidence; beta-mixture can correctly identify those services. Cannot track dynamic behavior. Beta Mixture Model
Limitations lack of unconditional trust in the constituent services assumption of a least partial observability Bayesian Model
Key features Two probabilistic models for trust-aware service selection and composition can handle variety of service composition patterns Can capture relationships between qualities of service offered by composite service and qualities offered by its constituents Trust is learned sequentially from directed observations then, combined with indirect evidence in terms of service qualities Can handle incomplete observations Summary
Key features Each consumer must monitor quality attributes of services it interacts with & maintain own model local knowledge Model evaluation technique: simulation Future research idea Apply Structural EM, instead of parameter estimation, to learn not only trust information but also service dependency graph structure: learned structure can be used as a basis for suggesting new service compositions Summary