By E. Michael Maximillien and Munindar P.Singh Soumya Bandalli Karen Doore Preeti Ganeshmohan Agenda: Introduction Motivation Web Service Agent Proxy Conceptual Model Conclusion Future Work Introduction: Current approaches of web services provide no basis for selecting a good service or comparing ratings of services. A conceptual model for reputation have been developed, using which reputation information can be organized and shared and service selection can be facilitated and automated. Motivation: Limitations of Current approaches Lack dynamic discovery and binding processes No memory of Service bindings and Interactions share their knowledge. require ratings Developer an architecture Uses software agents Service reputation and Endorsement are disseminated Key semantic questions? Addresses the semantic questions by developing a conceptual model of a service provider’s reputation for delivering quality services. Addition of WSAP (Web Service Agent Proxy) to access each service. Architecture of WSAP Agent is a software component that automates some task Communicate Accepts requests Acts as a proxy WSAP for each service Challenges: Can we define a generic conceptual model for attributes reusable across domains? The threshold of the values of the attributes that the user is willing to accept. The risk of tolerance of the user. Web Service Reputation: Conceptual Model A Web service represents a set of functions addressing a particular domain. Web Service Attributes: Generic Attributes: Domain Specific Attributes Reputation of a web service: Is a function of a web service that depends on attributes It depends on the relative importance of each attribute with respect to the agent using the service. WASP – Web Service Agent Proxy Conceptual Model of Web Service Reputation Conceptual Model UML Static Model Figures 2 & 3 1. A Web Service has 1 associated Reputation for an agent considering the service 2. A Reputation of a service is a vector of attribute values 3. 4. 5. 6. A Reputation is determined by a reputation algorithm that aggregates attributes that are selected to be considered by the agent. A Reputation is also affected by a History, that keeps previous ratings for a particular service The rating for a particular service is determined for a particular principal (agent) using the Rating Algorithm which takes into consideration the agent’s bias about the relative importance of each attribute. Endorsements by other Principals (agents) are also considered for determination of Reputation, the weighting given to an endorsement is dependant on the trust level of the Principal giving the endorsement. Conceptual Model of Web Service Reputation Conceptual Model of Web Service Reputation Attributes Model Domain are collections of attributes for a specific type of service Cross-Domain attribute: Domain specific attribute: Attributes: Each Attribute has a range, or set of allowed values: can be integer, percentage, Boolean, etc. Relative Weight of an Attribute Relative to Domain: User preferences: Characteristic function from Attribute value to Rating S-shaped: lower threshold and upper saturation level Monotonically Increasing: Step-wise function: Temporal Characteristic: Decaying value of an attribute: Example travel delay, if a plane is delayed 10 minutes is tolerable, however a delay of 45 minutes may be intolerable because it causes problems with connecting flights. Generic and Domain Specific Attributes Web Service Attribute Domains: For Web services that provide similar services, they will share common attributes, perhaps weighted differently For different domains. Example: Car rental service: Domains: Travel: Price, Flexibility of Reservation Changes Retail: Price, Inventory Flexibility of Reservation Changes – may be used by some services to differentiate their service. Determining Attributes for a Domain: Suggestion: let the attributes for a domain be determined by community of users and providers for each domain. Ideally, want a system where new attributes can be added to domains, and where services can distinguish themselves by focusing on certain attributes. So that service doesn’t need to have values for all attributes. Conceptual Model of Web Service Reputation Conceptual Model – Web Services Agent Proxy Client Desires Service: Client uses WSAP to access web services. Web Services Agent Proxy Consults with outside registries, reputation and endorsement agencies to find an appropriate provider of a desired web service. WSAP can use information about the user’s priorities with information in the form of reputation attributes and endorsements to determine the service which is optimum for the client. The WSAP can provide feedback to the reputation and endorsement agencies based on the WSAP and user experience to keep reputation and endorsement data up to date. Web Service Reputation: Important Factors Relative Weights given to attributes Dependant on Agent Biases, Dependant on Specific Domain Attribute Aggregation Algorithm • Simple Majority, Other Algorithms Endorsers of the Service • Trust level of Endorsers History of Service • Services that are new won’t have as many endorsers • Older services have more history data Dampening Factors for Ratings • Allows a web service’s reputation to increase with improved • More recent activity matters more than old activity service Model of Web Service Reputation Travel Reservation Web Application: Set up Business and Personal travel arrangement Select, Search and Reserve car rental as part of travel arrangement Attributes for Car Rental : Price Comfort and Reliability Color Travel Reservation Web Application: What does the application do? Set up business and personal travel arrangement Problem? Many car rental companies available. Each advertising its services on the web. Thus, an interface car rental Web Service is available. What does the agent do? Each car rental company would provide an implementation of its service. This allows the business to collaborate with other car rental companies. Travel Reservation Web Application: How is the WSAP proxying the car rental service to pick the best service for a particular client? WSAP picks the correct service implementation by looking at the reputation of the various services. What is Reputation? Function of historical ratings provided by previous users filtered to take into account the attribute values that WSAP’s principal needs. What does this mean? If user attribute Price is important cross domain attribute then services giving lower price might be selected over those giving higher prices. Multiple attributes would also be given more weight. Travel Reservation Web Application: Example where multiple attributes are given importance: Car rental Web service overlaps with Car selling Web Service Attribute of Car rental Web service: Price Comfort and Reliability Attribute of Car selling Web service : Color Comfort and Reliability Now color has more significance for a buyer than a renter. Travel Reservation Web Application: How does WSAP help? WSAP configures with all attributes that apply to the domain that the service belongs. Thus it takes all the subtleties into account. To decide the domain, it should satisfy all the pre conditions of the domain before agent configuration. WSAP is generic and allows the introduction of new attributes. So in our car rental example, if we add new attribute Safety, then any new agent that was configured with this attribute could take the attribute into account for its rating calculation. This can be obtained from user surveys or collecting information on accidents from the car types that the car rental company rented for certain periods and the relative safety outcome of the rentals. Outcomes of the method: Streamlining the attributes so that it is standardized. New attributes added on the fly New agencies can upgrade to the new attributes Add attributes that it had previously ignored Summary WSAP enables applications to connect to any suitable and accessible service provider. Challenge: Locate the service providers. What is out there already? Semantic Web such as OWL , RDF add ontology to the WWW and Web Services. What is new? WSAP discovers the service attributes dynamically without forcing all clients to know the set of attributes ahead of time. WSAP criteria of selection reflect the reputation of the given services wrt different attributes. Thank You !!!