
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