[graap-wg] More async/asymmetry comments
t-nakata at cw.jp.nec.com
Fri Mar 18 00:26:48 CST 2005
I had a brief chat with Karl on the issue below.
Basically, Takuya and I agreed that the proposal 1) seems attractive.
The only worry that I mentioned to Karl was, the re-introduction of the
I vaguely remember that the state had been dropped because of the
agreement phase, it would be difficult to define the agreement state as
some of the
SDT's might be observed and some others might not be and that it was
rather meaningless to have a state of its own.
If this was the real reason it might be good to resurrect the agreement
with the understanding that it would show the status of what the agreement
Takuya Araki (Biglobe) wrote:
>Basically, I agree with your (another) new proposal.
>Here is detailed opinion about it.
>There are pros and cons:
> - Programs don't have to create/manage correlation ID
> (This is good!).
> - Your proposal 1)
> * This affects other part of the spec (introduces a new agreement state).
> * Programs might need to be aware of the agreement state; this might
> make the program complex.
> + For example, in the original spec, if an agreement service (resource)
> and a domain-specific service are implemented as one service,
> the operations of the domain-specific service can be implemented
> assuming that the agreement exists when they are called.
> However, in this proposal, the operations of the domain-specific service
> should check the agreement state everytime, and return fault or something
> if the state is "pre-agreement".
> This should be implemented in all operations, which might be burden
> of programmers. (We might need AspectJ :-)
> (However, I admit that if we include the Terminate operation, this kind of
> state management should be done anyway...)
> - Your proposal 2)
> * There are no state problems, but it looks a bit awkward compared to 1)...
> For example, care should be taken about the lifecyle of the two services
> (as you mentioned in the previous mail).
> - Using notification makes the spec depend on WS-BaseNotification, etc.
> I am not against using it, but it increases the complexity of the spec anyway.
>My proposal took into account of keeping simplicity and avoiding change to
>the current spec. But if this level of complexity and change to the spec are
>allowed, I agree with your proposal.
>I also think your proposal 1) seems to be better than 2), if the complexity can
>be justified by other reasons, like future negotiation mechanism can be
>implemented on top of that.
>Grid System Technology Group
>Internet Systems Research Laboratories
><t-araki at dc.jp.nec.com>
>>From: owner-graap-wg at ggf.org [mailto:owner-graap-wg at ggf.org]
>>On Behalf Of Karl Czajkowski
>>Sent: Thursday, February 24, 2005 12:34 PM
>>Subject: [graap-wg] More async/asymmetry comments
>>I am sorry I missed the telecon.
>>I have been giving this asymmetry/asynchrony topic more
>>thought and discussing it with some WSRF/Web Service experts
>>in the Globus Alliance. I still think that binding-level
>>reliability can extend the utility of the basic "synchronous"
>>Agreement creation patters and that we should repair the
>>"initiator EPR" mess to render the peer-to-peer asynchronous
>>pattern proposal (with the accept/reject operations).
>>Additionally, I am persuaded that as a practical matter, it
>>may be worth rendering the asymmetric (client-server)
>>interface to support asynchronous (post+poll) messaging
>>because of limitations in the binding and tooling world
>>today. However, I am uncomfortable with the standing
>>proposal and how it uses correlation IDs. As was pointed out
>>to me, there is a related distributed systems management
>>problem of deciding how this ID "namespace" is managed and
>>how information is buffered, e.g. for how long.
>>The low-level binding solution that uses Message-ID has some
>>unaddressed quality of service issues pertaining to how long
>>the IDs are remembered in order to enforce idempotence. It
>>also has security issues pertaining to whether one client can
>>deny service to another by anticipating and "polluting" IDs.
>>I think it would be unfortunate if we replicated all of these
>>flaws in the WS-Agreement WSDL interface.
>>The view I share w/ my Globus colleagues is that we should
>>use WSRF resources to model the buffering state and use those
>>resource EPRs as the correlation IDs, since we are already
>>using WSRF. This alternative is what I was hinting at in an
>>earlier message as "another layer of resources".
>>There are really two reasonable variants to doing this,
>>depending on how we wish to think about the lifecycle of
>> 1) Change the Agreement resource lifecycle to again capture
>> "pre-agreement" and possibly "post-agreement" states.
>> The pre-agreement state can be used to allow a simple low-latency
>> Agreement creation step and then have the "responder agrees to
>> offer" decision made asynchronously. The initiator can poll or
>> subscribe for notifications to learn what decision is made.
>> The post-agreement state would capture the notion Heiko is
>> arguing for that it is possible to "expire" or "cancel" an
>> agreement without destroying the service interface. I mention
>> this only to carry through the modelling approach; the pre and
>> post states are really independent concepts.
>> 2) Introduce separate PreAgreement and PostAgreement resources that
>> have lifetimes linked with the existing Agreement resource.
>> The PreAgreement resource represents the messaging state for
>> determining whether the responder will agree to the offer or
>> not. When he agrees, the initiator can invoke an operation on
>> the PreAgreement to obtain the Agreement resource EPR.
>> Similarly, the PostAgreement resource would represent the
>> Agreement after it is "expired" or "canceled", obviating the need
>> for an Agreement resource that exists after Heiko's agreement
>>I suppose you could mix the two, using a PreAgreement
>>resource and having a post-agreement state on the Agreement
>>resource, but I think that is a bit strange. I will try to
>>start a separate thread about the termination stuff again...
>>Personally, I prefer (1) as I think it sets us up with a
>>better base on which to integrate future negotiation
>>mechanisms. The Agreement provides a generic introspection
>>interface to present different negotiation lifecycles.
>>Optional RPs could provide info on the specific negotiation
>>process, either as extended pre-agreement states or as
>>references to some other service domain where that info can
>>be found. It was also argued by my WSRF colleagues that this
>>would be easier to implement in practice than a flurry of
>>"smaller" resources, although that might depend on
>>karlcz at univa.com
We have moved to a new Office!!
Toshiyuki Nakata ?????
Internet System Laboratories NEC
t-nakata at cw.jp.nec.com
1753, Shimonumabe, Nakahara-Ku,
Tel +81-44-431-7653 (NEC Internal 22-60210)
Fax +81-44-431-7681 (NEC Internal 22-60219)
More information about the graap-wg