[GRAAP-WG] Feedback on "Challenges in EU Grid Contracts"
Karl Czajkowski
karlcz at univa.com
Mon Aug 27 01:52:37 CDT 2007
Michael, I just read "Challenges in EU Grid Contracts" for the first
time after seeing it linked from Toshi's wiki page updates. I thought
it might be useful to address several topics in the paper regarding
WS-Agreement, though I have a suspicion that some of these issues may
have been addressed long ago by others...
1. There is an assertion that WS-Agreement does not support
acknowledgement of receipt of an offer independent of the
acceptance decision. This is incorrect, as the PendingAgreement
construct is specifically defined for this purpose: the
CreatePendingAgreement factory pattern returns an EPR to a
PendingAgreement which is yet to be accepted or rejected.
This feature was motivated by a different observation that a
decision process might be too slow to perform during a
SOAP-over-HTTP in/out message, but it equally addresses your
concern of knowing that the offer was received before the decision
process is complete. (A WS-* purist position could be that message
acknowledgement is a transport-level problem rather than a SOAP
problem, but we had to bow to the practical use of
SOAP-over-HTTP...)
2. There is an allowance for external acceptance notification
channels, though I admit this is not emphasized in the
text. Present in the base protocol are the Acceptance port type and
the agreement state resource property, both of which may be used
simultaneously on the same agreement. It is the state model which
allows for transitions to accepted state independent of the other
protocol operations. There is nothing to disallow other
notification paths such as email, facsimile, registered mail, etc.
(but, see next issue).
3. A significant difference between WS-Agreement and the contract law
model described in the paper is the moment of acceptance: in
WS-Agreement, acceptance is defined as the moment the responder
chooses to accept, and is not dependent on sending an acceptance
message to the initiator. This difference becomes clear in unusual
asynchronous/lossy message environments and/or contested
agreements.
This is a crucial technical point in WS-Agreement. In order to
define the acceptance moment as when the acceptance is delivered to
the initiator (as in your contract law discussion) would require a
reliable delivery model where some trustworthy (third-party)
observer can witness the delivery.
At risk of confusing the terminology, a way to characterize such a
variant of our protocol might be:
1. initiator sends offer to responder.
2. responder chooses to accept.
3. responder attempts to send acceptance notice.
4. reliable message channel observes delivery of (3) and acceptance
is now true.
Given our presumption of an Internet-like environment without any
secure, third-party channel to "serve" notices, this does nothing
more than "rotate" the participant roles by one unidirectional
message. In effect, it is really the "initiator" in step (4) who
decides acceptance by choosing to receive the acceptance notice or
not, because it is not possible to prove that he received a message
unless he acknowledges it! Thus, his offer is not really
obligating, as he can shirk his responsibilities by choosing not to
acknowledge the acceptance.
Thus, I would say the above "contract law"-style sequence of:
offer/accept/receipt-as-decision
is indistinguishable in practice from:
invite/offer/accept-as-decision
As there must be some party in the system that first knows the
decision before this information is distributed asynchronously to
all parties, we make the responder be the observer! Finally, as I
described it in a previous email. WS-Agreement supports this
through the slightly more general:
advertise/offer/accept-as-decision
where you could restrict or otherwise optimize access to
advertisements in order to effect a directed invitation. (It is
considered somewhat out of scope for WS-Agreement to define how
advertisements are retrieved, e.g. what sort of publishing or
information dispersal architecture is used for discovery.)
I hope this helps clarify the technical solution embodied in
WS-Agreement.
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