[GRAAP-WG] Modification to the wiki Page on Renegotiating an established Agreement

Karl Czajkowski karlcz at univa.com
Mon Aug 27 21:21:39 CDT 2007


On Aug 27, Dominic Battre modulated:

> I tried to digest that and this is what I came up with:
> 
> https://cit-server.cit.tu-berlin.de/trac/negmgr/wiki/TwoPhaseCommit
> 
> (I used my wiki because it supports tables)
> 
> It would be great, if you could have a brief look at it and tell me
> whether this is what you had in mind.
> 

Well, your example looks like a solution with a new invitation
message.  The basic 2PC/advance reservation idiom, as already
illustrated in the advance reservatione example in the spec, would be:

   Consumer                                    Provider
   (as Initiator)                              (as Responder)

   a. discovery

                     <--- template ---

   b. prepare

                      --- createAgreement(SLA1) --->

                     <--- accept --- (or reject to abort preparation)

   c. commit

                      --- createAgreement(SLA2) --->

                     <--- accept --- (reject would be a serious failure)


The discovery phase (a) is not emphasized in WS-Agreement because it
was assumed to be an area where OGSA would provide other
solutions. The basic WSRF resource property model was considered
sufficient to capture the template model and allow basic query, but
one hopes there will be search services where a consumer could locate
providers with relevant templates.  It might also include other 
non-obligating queries regarding resource availability.

The SLA1 in phase (b) is the advance reservation and captures the
resource requirements that are needed for the co-allocation.  Due to
the limited negotiation model in WS-Agreement, the co-allocation
solution must already be concretely proposed here, e.g. the time of
resource availability is part of the SLA1 terms, since the
consumer/initiator has to make consistent advance reservation
proposals to all providers involved in the transaction. The only
answer available in the protocol is "yes/no" as to whether they can
prepare as requested in SLA1.  (If you are looking for a
proposal/counter-offer pattern, that is an entirely different issue
than this 2PC synchronization.  That, indeed, requires a new
negotiation protocol, though it is possible to define was as an
extension or complement to WS-Agreement.)

If preparation fails, the initiator can cancel/destroy any existing
reservations to abort the 2PC transaction.  Therefore, as I mentioned
previously, a cost model with cheap advance reservation+cancellation
is required to allow this idiom.  One would expect that the cost of
reservation goes up the longer it is held, e.g. to discourage
aggressive use of 2PC resulting in live-lock of resources.

The SLA2 in phase (c) is the actual "job" or whatever was intended to
be co-scheduled.  It makes claims on the appropriate SLA1 which should
mean that the provider is obligated to accept this claim, since he
already promised the resources.  Thus, rejection at this time is
unexpected and indicates a violation, so the 2PC semantics would fall
apart here.  (Note, this is no different than any other way that a
non-trusted/partially-trusted party could choose to violate 2PC
protocols.)


karl

-- 
Karl Czajkowski
Software Architect

Univa Corporation
1001 Warrenville Road, Suite 550
Lisle, IL 60532

karlcz at univa.com
www.univa.com
________________________________________________________________
www.univa.com.

The Leaders of Open Source Cluster and Grid Software




More information about the graap-wg mailing list