[GRAAP-WG] Re-negotiation Protocol Proposal

Karl Czajkowski karlcz at univaud.com
Fri Feb 15 23:35:55 CST 2008


[Sorry, this bounced the first time I tried to send to the list...]


In general I like the approach described in this proposal very
much. Since I won't be attending the meeting, I wanted to give a
little feedback here...

1. I am not sure I would agree with the claim that the responder role
   should _always_ be assigned to the "service provider", because the
   authors' arguments about avoiding denial of service only make sense
   if you assume service resource scarcity relative to consumer
   resource availability (assuming that an agreement is always a
   "trade" or contract of exchange between these two resource types).

   However, I believe that the entire notion of "provider" and
   "consumer" in inherently domain-specific, and therefore inseparable
   from the service term language.  So, I might advocate that the
   existing context fields to associate provider/consumer roles with
   initiator/responder be dropped, but only because I don't think the
   core messaging pattern can really say anything about these roles to
   begin with.  I think domain-specific concepts are necessary to
   really characterize these roles.

   Thus, I don't think there can be any normative statements in the
   standard for base agreement nor re-negotiation regarding the use of
   responder roles with providers or consumers. But, I think it would
   be fine to have some explanatory text about the various risks of
   reversing the signalling roles from the "natural" and asymmetric
   order that would exist in many domains.

2. Has any thought been given to the concrete rendering of this
   protocol?  I immediately have the following ideas upon reading the
   message definitions:

   a. RenegotiationQuoteRequest and RenegotiationQuote could be easily
      mapped to resource property queries with a custom "quote query
      dialect".  This was an expected use of extensibility in WSRF in
      the past, but I do not know how people view this today. The
      alternative, of course, is a new operation.  Is there any
      concern about preparation of quotes being a slow or laborious
      process, and requiring an asynchronous exchange pattern or a
      resource pattern to allow cancellation of quote requests?

   b. RenegotationOffer and RenegotiationAccept/RenegotiationReject
      map easily to the two alternate rendering styles in WS-Agreement:

      CreateRenegotiatedAgreement (in) and response (out) for
      synchronous exchanges, in this case merging
      RenegotiationOfferAck with the accept or reject response;

      CreatePendingRenegotiatedAgreement (in) and
      AcceptAgreement/RejectAgreement (also in messages in opposite
      direction) for asynchronous exchanges, in this case mapping
      RenegotiationOfferAck to the factory response with the new
      pending renegotiated agreement;

   c. RenegotiationNotPossible could be a fault response as described
      and could also be exposed as a resource property on some
      agreements? 

   In these renegotiation "factory" patterns, one approach would be to
   have the renegotiable Agreement resource support these additional
   patterns, i.e. to act as a factory for its superceding
   agreement. Or, a shared factory could take the existing agreement
   EPR as an input parameter.

3. I am assuming from my initial reading that the statement that
   acceptance of a renegotiation offer invalidates all other
   outstanding offers is also a point where loose consistency is
   desired.  In other words, it is the responding party (who chooses
   to accept) who also decides which offers are outstanding and which
   he hasn't seen yet, in the case that offers are "in flight" and
   acknowledgements have not been sent.  Is this the intention of the
   authors?  If not, then I think some sort of sequence numbering is
   necessary on offers to help resolve these cases for message loss or
   delay.

4. I am not sure I follow the purpose of the RenegotiationNotPossible
   message.  Is this a new terminal sub-state for Agreements?  Or, can
   an agreement have this non-renegotiable status at one time but then
   later be re-negotiable?  If the latter, I am not sure the meaning
   is well captured in the current discussion.  It sounds like two
   different messages: one has the same meaning as a reject message in
   response to an offer, but with an added hint that other offers will
   also be rejected, i.e. a transient "don't waste my time right now"
   message; the other form sounds like just the "don't waste my time
   right now" advisory without being coupled with a specific offer
   rejection.  Can the authors clarify the intent here?

In any case, I am looking forward to seeing more concrete rendering
proposals for this protocol extension.


karl

-- 
Karl Czajkowski
Software Architect

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

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

The Leaders of Open Source Cluster and Grid Software

---------------------------------------------------------------------

Notice from Univa UD Postmaster:


This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. This message has been content scanned by the Univa UD Tumbleweed MailGate.


---------------------------------------------------------------------



More information about the graap-wg mailing list