
On Aug 30, Michael Parkin modulated:
Hi Karl,
My point is that how do you know they can be "mixed in" successfully if they haven't been considered beforehand?
Well, many possible scenarios were considered beforehand, and that is partly why WS-Agreement took such a long, slow stroll from charter to proposed standard... but once considered, they were not written into the specification since our considerations had no normative weight. I fear that I am losing track of this discussion, which I entered with the sole purpose of trying to clarify expected WS-Agreement usage scenarios. What I want to make clear out of all these discussions is that I think it would be unwise for GRAAP-WG to charter any work on a different transactional decision protocol, given both that the two-cycle reserve/claim idiom was central to the definition of the current proposed standard and that the single-cycle offer/accept risks are unavoidable in any distributed system. Similarly, I assert that it would be unwise to define some sort of multi-step obligating negotiation, as this is best modeled through chained agreements to compose/revise incremental obligations. This captures the actual sequence points of any multi-round obligation including who is obligated and what risks there are due to distributed system faults etc. On the other hand, I think it is clear that there is a need for a "WS-Agreement Primer", something that has been on the back burner in GRAAP-WG since the very early specification drafts, as decisions were made to intentionally avoid polluting the spec with too many tangential discussions. There is also a need for one or more new protocols to capture the different goals people have raised such as "tailored advertisements" and "renegotiation".
With respect, we were talking generally, not specifically about WS- Agreement. I have no doubt the "decision semantics" in WS-Agreement are clear. I was making a general point because you said there were "practical ambiguities" in determining the differences between messages, which we both agree do not exist if the message schema and semantics are agreed to beforehand...
No wonder the confusion---I was talking specifically about WS-Agreement and its motivations... I fear that I am already muddying the waters here in a way that is not helpful to the general GRAAP-WG discussions about how to actually use WS-Agreement or how to consider sensible extensions/complements to the current proposed standard. (The topic of the semantics of a message between untrusted participants is more of a philosophical discussion, best had over beers or your own beverage of choice).
About obligations and trust, I agree this is something we cannot solve completely here. But cross-administrative domain contracts in the presence of the threat of enforcement (legally) can help build trust between distrustful parties - therefore it is imperative any agreement/negotiation protocol is consistent with these requirements.
Is there something about WS-Agreement which you think is inconsistent as such? I am not able to see this now through the confusingly threaded discussion... please, if you would, start new threads with specific inconsistencies or problems you see in the protocol? To my knowledge, none of the regular GRAAP-WG participants who contributed to WS-Agreement were legal/contract experts. We steered clear of things like digital signature in the basic specification partly because we got answers from outside experts that it was best left to localization/composition with other standards. However, I felt that the basic business-to-business scenarios were well represented by the commercial participants.
The very concept of "supplier" and "goods" is necessarily domain dependent.
Sorry, I still don't agree. The fact you can use the words "supplier" and "goods" without talking about what you're supplying or which goods you're referring to illustrates they are abstract, domain- independent concepts...
After all the years spent developing the WS-Agreement specification, I personally can no longer use the words "supplier" and "goods" without qualification. :-) I consider agreements rather to be _trades_ and the identification of goods or direction of a provider-consumer relationship to be in the eye of the beholder. In fact, the general case is probably that both parties are both provider and consumer, and your question boils down to "how much?" are they doing of each.
I'll also ask my question again: can you give me some real-world examples where the offeror is the supplier/provider of goods? :-)
No, but I can give examples where the role is not clear. Consider bandwidth trading, whether in ISP peering relationships or in some dynamically negotiated p2p network. The unit of commodity provided by both parties is equivalent, yet someone needs to be the offeror. I think there are plenty of other examples where the trades are not equal but they are still not as glaringly different as "product" for "money". The choice of roles is more contextually dependent here, getting back to the relative opportunity costs of negotiation which I mentioned previously. The WS-Agreement model was written to remain agnostic on this point, not because we want to encourage "unwise" choice of offeror/offeree roles, but because we could not rule on all possible future applications of the protocol. Anything we wrote would end up being non-normative, so again it was deferred as a topic for "the primer".
Sorry, but there was no mention in your correspondence to Dominic that the protocol was an "unusual interpretation" of those emails. It doesn't say anything about you feeling step 5 was "completely backwards", though I agree your revised protocol does reverse the offer step. Thanks for clearing this up.
Ah, sorry, I thought I had made that more clear. However, let me point out that though a computer provider would be the offeree in both the advance reservation and the job submission agreements in my idiomatic reservation example, it is in effect the offeror for the actual resource consumption decision that is synthesized from these two agreements. The client/consumer is getting an offer of resources in the accepted agreement and choosing to accept or reject by either submitting his claiming agreement (to run the job) or canceling the reservation.
But, I don't think this provision has to be "elaborate" or "sophisticated". As I said in a previous email, eCommerce websites, such as flight brokering firms, seem to have no problem providing this.
These interfaces are elaborate, as compared to WS-Agreement in two significant ways: 1. Some of them require human intelligence in one party, whether to construct the request, formulate a query, or filter through "fuzzy" results. This is not acceptable for WS-Agreement which has among its intended audiences machine-to-machine negotiation for resource management. 2. They have domain-specific data models and query models to allow appropriate parameterization of the quote-retrieval step. I don't think there is anyone offering up a generic/domain neutral data model and query model that would be sufficiently complete so as to provide real interop. Even the template mechanism in WS-Agreement is arguably incomplete and requires domain-specialization to support real automated negotiation.
As we said in the eChallenges paper, taking into account the wider picture, ensuring that (in this case) computational resources are not "tied up" is fairer for all customers too; no single customers can block other customers from making a definite offer on a particular resource unless they are committed to using the service by offering to enter into a binding contract for those resources.
This sort of argument, however, has often been used in the past to discourage advance reservation in any form. To turn it around, resource providers MAY choose to reduce utilization if they feel that offering timeliness of service via reservation is a good trade-off to improve the utility (or profitability) of their systems. The trick is having appropriate costs for negotiation, so that the "tied up" resources are still profitable. Looking to real world examples, it typically costs me more to reserve a hotel and be a "no show" on the date of arrival than to reserve and then cancel months before my expected visit. It might not serve society if nobody could book rooms in advance and form sane itineraries... yet this is the state of practice in most of the HPC computing space. :-)
Because we used this example it does not mean our/my general assumptions are "deeply mired" as to what the resources or goods are, as I hinted at in the 'domain-independent' comment above. From the example resources I gave in my last email (time, money, a book, a house... anything that can be traded) and my comments in previous emails I hoped this was clear, but obviously it wasn't...
I am reading between the lines here, but I suspect that you are focusing on "money for goods" trades. Otherwise, I think you would agree that the proper bias for the "offeror risk" is not so clear in a general multiple party (many:many) "goods for goods" trading market. Once the units of trade are less disjoint in terms of being available or fungible, I struggle to see an obvious choice of roles. I think it has to be made on a case by case basis. karl -- Karl Czajkowski Software Architect Univa Corporation 1001 Warrenville Road, Suite 550 Lisle, IL 60532 karlcz@univa.com www.univa.com ________________________________________________________________ www.univa.com. The Leaders of Open Source Cluster and Grid Software