Karl,
   It is understood that receiving a termination message (and upon provider acknowledgement),  i) an agreement state transitions from a "Pending" to "PendingAndTerminating", and ii) the termination of service/agreement is not instantaneous (as you have elaborated).      

What we are trying to resolve here are the semantics of the states "PendingAndTerminating"  and "ObservedAndTerminating", i.e., what are the obligations in delivering (service and) service quality, while an agreement is being terminated.   Clearly, the options are

                     a) No further obligations in delivering service quality (these states explicitly capture start of termination process, and the only difference between the above two states are historical, i.e., the state at which the termination message is received).
                     b) Degraded quality of service (what are "observing"? Just how bad is it during termination process? Does client still expects any service quality? Are the BV specifications, i.e.,  penalties or preferences the same? Obvioulsy, further semantics has to be defined for specific domains for this to be meaningful.)
         and,   c)  Full quality of service, i.e., acknowledges start of termination process, but remains undefined when  this will terminate, and service quality is fully observed. Again, we need more detailed specification to make sure there is a limit to this termination process,  and/or, different BV assertions during this process.

I think the simplest semantics (that doesn't require any further specification) is to assume upon starting the termination process the service quality obligations are no longer valid and observed.  There is no easy way to have a consistent  state across multi-tier services, i.e., where a service may depend on other autonomous services (as defined by its own set of agreements).  Many years   back, in the transaction community(HPTS), I argued for  COYOTE (Cover Yourself Transaction Environment) principles,  where service implementation and management issues are hidden from a client, even when a service is dependent on other services.  The attached paper illustrates these principles.  
As a matter of fact, to further simplify the agreement states according to the above principles, we should assume termination of agreement (and not necessarily provider cleaning up and bookkeeping) is instantaneous, i.e., receiving the termination message takes the agreement state from "Pending" or "Observed" to "Terminated" state.

In any case, if we choose the other two options, we have to specify further details in WS-Agreement specification for this transition to be meaningful.

Regards.
Asit Dan, Ph.D.
SWG SOA Design Requirements
Phone: (914) 766-1767  
Internet: asit@us.ibm.com
ICSOC 06 PC Chair (http://www.icsoc.org)



Karl Czajkowski <karlcz@univa.com>
Sent by: owner-graap-wg@ggf.org

04/06/2006 12:29 AM

To
Jim Pruyne <jim_pruyne@hp.com>
cc
GRAAP-WG <graap-wg@gridforum.org>
Subject
Re: [graap-wg] minutes from 4/5 telecon





On Apr 05, Jim Pruyne modulated:
> - On updated termination diagram:
>   * Asit to send a note on the mailing list to verify that we really
>     have a transition from PendingAndTerminating to
>     ObservedAndTerminating.  None of us seem to be able to come up with
>     a message sequence that would cause that to happen.

I think this transition is implied by Toshi's "broker" example, unless
we assert that there is some sort of transactional semantics in the
protocol?

If you make an offer to a broker, and it is pending in the broker
because he has started to make offers to other service managers, your
terminate request MAY arrive during the hazard window where the broker
has started making commitments but has not received accepts from the
subsidiary services yet.

The client-to-broker agreement changes state to pending-terminating,
and the broker can attempt to terminate the subsidiary
agreements. However, depending on whether they terminate before or
after they are accepted, the broker may want to communicate this
"distributed acceptance" transition that occurred during the
termination phase.

I assume this has impact and is important to model in the event that
the "penalties" are different depending on whether termination occurs
before or after acceptance.  The fundamental issue is that with
pending agreements, the initiator has already committed in his offer
message and he is at the mercy of the responder to decide if a
termination request occurs before or after acceptance.

Because of these hierarchical and asynchronous agreement scenarios, I
think we have to make the termination request interaction also be
asynchronous.  Just as with the acceptance/rejection window, there is
a window between when the termination request is received and the
outcome is known.  We can either delay the response, or model the
uncertain intermediate state in the agreement state.  I think we
should do the latter to be consistent with how we have handled the
acceptance/rejection window.

For consistency, perhaps we should even go so far as to introduce two
terminate request variants?  One that is synchronous and delays the
response, and one that responds early but leaves the agreement in an
uncertain state?


karl

--
Karl Czajkowski
karlcz@univa.com