[GRAAP-WG] Modification to the wiki Page on Renegotiating anestablished Agreement
Karl Czajkowski
karlcz at univa.com
Sun Aug 26 21:50:06 CDT 2007
Toshi, I have the following comments/observations after reviewing your
wiki page... sorry I have not been able to keep a close watch on the
recent activities of the group.
1. The idea of negotiation of alternatives is difficult and I think
requires a better negotiation protocol.
After much debate, as I recall, we limited WS-Agreement to simple
acceptance of an offer. If the offer has alternatives in it, then
the responder is accepting to satisfy this compound expression in
any way he sees fit, with no information about how, or indeed
whether his solution might vary over time and be satisfied by
different clauses in the compound rules! It would take
domain-specific interpretation of the SDTs to somehow fix this
solution, as there is nothing in the protocol to communicate a
"lowering" or simplification of the alternatives expression. (For
example, I anticipated that in a basic use of JSDL for a job term,
the interpretation could be defined that the service terms are
chosen at job-start time and frozen, as is a typical implementation
requirement for HPC resources... you would know they are not
time-varying, though there is still no facility to communicate
which exact parameters were chosen.)
What I would suggest is that you try to keep this aspect of
negotiation protocol orthogonal to the underlying notion of
renegotiation. First, work on the semantics for renegotiation of
an agreement as you have done, e.g. replacement/superceding of an
agreement. Then, admit that basic or advanced protocols could be
used to negotiate either the initial or subsequent agreement.
For example, a relatively simple renegotiation could adapt the
existing factory pattern for both initial and subsequent
negotiations. If a future specification provides a multi-round
negotiation to lower/simplify abstract agreement constraints to a
more concrete solution, this could replace the basic factory
pattern in both cases too.
2. I think the idea of superceding an agreement is fine, but I have
trouble seeing a distinction between this and the general use of
agreements in the context of other agreements. For example, the
advance reservation scenario allows "claiming" of a resource
reservation, and you can interpret this as adjusting an initial
resource agreement to include binding to an application, with the
same results as if someone simply negotiated an application with
the same QoS terms in one shot...
What I would point out is that this claiming/context model allows
many:many derivation of agreements in the general case. E.g. I
could reserve a large resource (in space-time) and consume it with
multiple applications which either run serially or in parallel. I
could also combine several resources (in separate agreements) into
a complex application. Couldn't a renegotiation also be temporary,
e.g. "boost this resource reservation for the next hour, but then
fall back to the previous terms"?
I am not sure how "supercededby" would be applicable here. Is it
worth having one more general metalanguage for discovery/navigation
of agreements which are linked to other agreements? We could use
the extensibility of the wsag:Context to enumerate the actual
claimed or superseded agreements, and it seems useful to have a
dynamic resource property which could provide reverse-lookup of new
agreements which list an agreement in the new wsag:Context too.
3. Also, a general concern I have is that the discussions are not
crisp about the uses of the agreement. The talk of race conditions
makes me nervous, as it seems to combine denotation of service
terms with the implementation of resource managers. In my view,
WS-Agreement is completely focused on the establishment of terms
between the two parties, and says nothing about how one of the
parties is implementing the protocol. I do not see a necessary
race condition for "supercededby" because I don't think the
initiator (for example) needs to be aware of this state change in
order to meaningfully express a claim against an agreement. If an
agreement is renegotiated, it could still be usable for claiming by
name, while the actual resource manager has to take into account
that there are now aliases to the newly revised delivery terms...
4. The question of having "responder initiated renegotiation" was
foreseen in the optional symmetric protocol mode. In essence, if
EPRs are exchanged so that both parties have an EPR representing
the other party's view of the agreement, then they can switch roles
and become initiator for further rounds of communication. In order
to use this feature, one would need to define an extension to the
protocol, e.g. have the symmetric agreement resources support an
extended protocol which includes the renegotiation operations as
well as the basic monitoring/cancellation operations.
I think it would be appropriate to define a new negotiation
protocol as a profile on this feature, so that a specific SDT would
demand the presence of a renegotiation facility which would then be
available as extended operations and resource properties on the
Agreement resource.
Again, if we consider the fuzzy case of many:many renegotiations,
the best approach might be a simple RP in the agreement that holds
an EPR to the renegotiation service, thereby separating discovery
(via lookup of this RP an existing agreement) from claiming/context
references which might involve more than one agreement at a time.
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