Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontogrid’s Negotiation Service – WS-Agreement Negotiation

Similar presentations


Presentation on theme: "Ontogrid’s Negotiation Service – WS-Agreement Negotiation"— Presentation transcript:

1 Ontogrid’s Negotiation Service – WS-Agreement Negotiation
Paving the way for Knowledgeable Grid Services and Systems Ontogrid’s Negotiation Service – WS-Agreement Negotiation Shamima Paurobally, Valentina Tamma and Michael Wooldridge University of Liverpool, UK WS-Agreement Workshop 10 September 2006, GGF 18

2 Provisioning of Grid services
The ownership and use of Grid resources has economic value since resource owners may choose to charge rather than freely share and provision their resources. Service consumers and providers have different preferences and constraints that can be reconciled through the negotiation of SLAs. SLAs state the terms of the agreements between the consumer and the provider as a contract for the provider to perform a task or to provide agreed resources. Agreements on resource provisioning may not only include the provider’s commitment to execute a task or provide the resources but also include terms about performance levels and penalties (provisioning).

3 Negotiation Phases Discovery Monitoring Service-Level Agreement
“What resources are relevant to interest?” Finds service providers Monitoring “What’s happening to them now?” Compare service providers Service-Level Agreement “Will they provide what I need?” The core Resource Management problem Process can iterate due to adaptation Karl Czajkowski The Globus Project

4 Ontogrid and Negotiation
Negotiation may take place between a consumer and a provider to determine whether and how the service provider can fulfill the request, to allow the consumer to change its requirements and finally for both to agree on a SLA. In order to negotiate and set up agreements, web services need protocols that govern and structure interactions between them. There are a number of negotiation protocols developed in the multi-agent systems domain. Contract net protocol: encompasses the three stages - discovery, monitoring, service level agreement More specific examples of where negotiation may be used in drawing up SLAs for resources include resource management about provision capability to perform some task for consumer, advanced reservation, on-demand access, sheduling and coordinating on-demand agreements, and policy based dynamic negotiations for Grid services authorisation.

5 State of the Art for WS and Negotiation
Well-defined template for specifying agreements Service description terms Guarantee terms WS-Agreement specifies an XML-based language for creating contracts, agreements and guarantees from offers between a service provider and a client. An agreement may involve multiple services and includes fields for the parties, references to prior agreements, service definitions and guarantee terms. WS-Agreement does not support negotiation and considers negotiation outside its scope of work. The WS-Agreement template allows us to represent such SLAs about how the service should be performed, provisioned and paid for.

6 State of the Art for WS and Negotiation
Messages are limited to two types, constrained according to a template a service provider publishes: offer agree The WS-Agreement specification is only used at the last stage in a transaction where the parties close their interaction with a contract specified as a WS-Agreement. Given the differences in consumers’ and providers’ goals, it may not be straightforward for the service provider to satisfy a request given the current resource utilisation. Ontogrid goal: Negotiate and set up WS-Agreements through negotiation protocols that govern and structure interactions between web services. Contract net protocol .

7 Ontogrid’s Architecture
Is-a Middleware layer Application layer Insurance settlement Satellite quality analysis

8 Contract Net Protocol - CNP
Contract net: alternative form of service discovery wrt to service matchmaking Contract net stages: Recognition; Announcement; Bidding; Awarding; Expediting.

9 Contract Net: 1. Recognition + 2. Announcement
Recognition: A component recognises it has a problem it wants help with. The component has a goal, and either. . . realises it cannot achieve the goal in isolation — does not have capability; realises it would prefer not to achieve the goal in isolation (typically because of solution quality, deadline, etc) Announcement: The service requester with the task sends out an announcement of the task which includes a specification of the task to be achieved. Specification must encode: description of task itself (maybe executable); any constraints (e.g., deadlines, quality constraints). meta-task info (e.g., “bids must be submitted by. . . ”) The announcement is then broadcast.

10 CNP: 3. Bidding + 4. Awarding + 5. Expediting
Bidding: Agents that receive the announcement decide for themselves whether they wish to bid for the task. Factors: agent must decide whether it is capable of expediting task; agent must determine quality constraints & price information (if relevant). If they do choose to bid, then they submit a tender. Awarding & Expediting: Agent that sent task announcement must choose between bids & decide who to “award the contract” to. The result of this process is communicated to agents that submitted a bid. The successful contractor then expedites the task. May involve generating further manager-contractor relationships: sub-contracting.

11 Insurance Test Case ContractNet Customer Negotiation Repair Services
RepairGrid RepairGrid is a software on the grid that collates information from the other parties and find the best repair company to satisfy a repair claim. Before any repair claims are received, the repair service can negotiate a contract with RepairGrid and insurance companies for bidding on repair jobs from insured customers. Diagram shows interactions when a customer make a claim for repair to an insurance company. i1: A customer makes a claim to the insurance service. i2: The insurance service requests the RepairGrid to find the most appropriate repair service based on a description of the damage. i3: The RepairGrid selects a number of repair services and carries out a contract net negotiation. He asks them to provide an offer. The repair companies analyse the damages and make an offer to the RepairGrid, who decides which proposal to accept or reject. i4: The RepairGrid can employ the services of an expert surveyor to analyse the quality of repairs on the damages and the charged costs. If a party is not satisfied, the contract between the RepairGrid and repair services may be revised. i5: The insurance company will pay the repair company and/or the victims of the accident. Insurance Services i2 Expert Services

12 RDF Databases for Insurance and Repair Services
Stored in WS-DAIOnt: ontology server (vocabulary) + rdf triples (data) Insurance Services Repair Services Vehicles Parts Contracts/Policy Costs

13 Contract Net Protocol Two parties: Manager (RepairGrid) and Contractor (Repair Service) A manager issues a call for proposals (cfp) to group of services, G, to do process P - discovery Potential contractors respond with proposals - monitoring The manager either rejects or accepts the proposal or cancels the call for proposal - SLA Contractors inform the manager of success or failure of their execution

14 Prototype v1: CNP Web Service Interface
Note: Same Interface for both Manager and Contractor do_Negotiation(Context_Job,contractor_list) Web Service version 1: Apache Axis and Tomcat Deployment cfp(Manager,CNP_neg_subject cfp_1) propose(Contractor,CNP_neg_subject proposal) refuse(Contractor, proposal) accept(Manager, proposal) reject(Manager, proposal acknowledge(Contractor, proposal) ResultNegBean(ContextJob)

15 Prototype v1: Data Types for Negotiation
NegotiationSubject (shared information) price, speed, context_job, location ResultNegBean (shared information) result, location, price, speed; Preferences (private information) Issue: preferred value, reserve value, utility and weight. Negotiation Subject attributes of type issue For example, for a repair company price has preferred value, minimum value, utility and weight. For RepairGrid, price has preferred value, maximum value, utility and weight Inferred from RDF stored in WS-DAIOnt

16 CNP between Semantic Web Services Step 1
1. Get list of contractors from WS-DAIOnt (C1, C2, C3) 2. do_Negotiation(DR1, [C1,C2,C3]) WS-DAIOnt RepairGridManager M0 Get personal preferences e.g. reserve, utility, preferred values for each negotiation attribute preferences i.e. reserve+ preferred values Decision Making Algorithms CNP_neg_subject cfp_1 i.e. price=20, speed=10d, location = 50 miles

17 CNP between Semantic Web Services Step 2
cfp(M0, cfp_1) RepairGridManager M0 C1 Repair Services cfp(M0, cfp_1) C2 C3 cfp(M0, cfp_1)

18 CNP between Semantic Web Services Step 3
cfp_1: price=20, speed=10d, location = 50 miles WS-DAIOnt C1 Repair Services Get personal preferences for this DamageReport, pass cfp_1, preferences Decision Making Algorithms From cfp_1 and preferences, will propose? 2. If yes, generate proposal from cfp_1 and preferences proposal is: price = 30, speed =12d, location =30 miles

19 CNP between Semantic Web Services Step 4
propose(C1, proposal_C1) Repair Services C1 RepairGridManager M0 reject(C2, cfp_1) C2 C3 propose(C3, proposal_C3)

20 CNP between Semantic Web Services Step 5
proposal C1 is: price = 30, speed =12d, location =30 miles WS-DAIOnt Get personal preferences RepairGridManager M0 proposals + preferences Decision Making Algorithms 1. Evaluate proposal wrt preferences 2. Decide whether to accept or reject?

21 CNP between Semantic Web Services Step 2
reject(M0, proposal_C1) RepairGridManager M0 C1 Repair Services C3 accept(M0, proposal_C3) And Finally Acknowledge from C3 to M0

22 Prototype v2: CNP Web Service Interface
do_Negotiation(Context_Job, contractor_list) Web Service version 2: Apache Axis and Tomcat / GT4 Deployment cfp(WS-Agreement cfp_1) propose(WS-Agreement proposal) refuse(WS-Agreement proposal) accept(WS-Agreement agreement) reject(WS-Agreement proposal) acknowledge(WS-Agreement agreement) ResultNegBean(ContextJob) call for proposals, proposal and agreement follow the WS-Agreement template

23 Use of Other Terms Service Properties: Deadline of waiting for proposals, deadline of whole negotiation, deadline of receiving bids, auction deadline Guarantee Terms Penalty if repair is not achieved in time Expert services for evaluating repair job Original parts used Metallic paint

24 Integration of WS-Agreement and WS-CNP Refinement of decision making
Future work Integration of WS-Agreement and WS-CNP Refinement of decision making Time constraints Multi-party decision Other negotiation protocols Extended CNP English Auctions, but no public outcry about bids


Download ppt "Ontogrid’s Negotiation Service – WS-Agreement Negotiation"

Similar presentations


Ads by Google