This is a static archive of the previous Open Grid Forum GridForge content management system saved from host forge.ogf.org file /sf/wiki/do/viewPage/projects.graap-wg/wiki/FAQ at Thu, 03 Nov 2022 00:14:13 GMT SourceForge : View Wiki Page: FAQ

Project Home

Tracker

Documents

Tasks

Source Code

Discussions

File Releases

Wiki

Project Admin
Search Wiki Pages Project: GRAAP-WG     Wiki > FAQ > View Wiki Page
wiki1846: FAQ

FAQ

I would like to collect some common problems, questions of interpretation, guidelines for implementing WS-Agreement, etc here. Please contribute. -- DB (2007/08/27)

Why does WS-Agreement not have a commit message?

See this thread: http://www.ogf.org/pipermail/graap-wg/2007-August/000660.html

The Paper Challenges in EU Grid Contracts by Parkin et al. gives compelling reasons against introducing a commit message.

This Mail by Karl Czajkowski lists some of the problematic assumptions why a commit message seems to make sense at first sight.

If you think that you cannot do without a request-offer-commit cycle (e.g. for co-allocation of resources), you may read this mail.

Another option might be to define a GuaranteeTerm with a QualifyingCondition of the first minute (or so) that allows cheap termination of an agreement during that time.

How do you evaluate Creation Constraints?

The WS-Agreement specification suggests that Creation Constraints use an XPATH expression in /wsag:Item/wsag:Location. This is quite difficult to support because the XPATH expressions contain qualified names (i.e. something like //wsag:Terms). SOAP libraries like Axis or Castor map SOAP messages to Java Beans (objects). An object that represents a creation constraint stores the location XPATH as as string. Therefore, the namespace mapping ("wsag:" in the example) is lost. These are some options that you have:

  • Try to operate on the original SOAP messages (i.e. on the XML Code, not on the derived Java Beans)
  • Assume a fixed binding of some namespaces
  • Do not use XPATH expressions. The specification allows you to use different expressions. The Globus community uses a constuct called targetedXPath. Oliver Wäldrich suggests using XQuery. Both options allow to bind prefixes to namespaces. More details can be found in this thread

Once one has found the nodes covered by Creation Constraints we have to validate these, which is quite challanging as well. Axis 1.2 which is used by the Globus Toolkit cannot map the ItemConstraints to Java Beans but a mapping to DOM nodes works. This approach is taken by the Negotiation Manager. It then evaluates a subset of what is possible according to XML Schema. Oliver Wäldrich suggests to use an XML Schema validator but this has not been tested in practice.

-- DB (2007/08/27)

How do you decide whether to accept an SLA request?

The Negotiation Manager builds a directed acyclic graph (DAG) of conditions that are tested (one such condition is for example the test for compliance to CreationConstraints). If no condition is violated the agreement gets accepted. Complex SDTs that contain OneOrMore or ExactlyOne constructs are not supported at the moment but might be addressed by calculating a disjunctive normal form (i.e. enumerating all possible expressions) or doing a depth first exploration.

TODO: What does WSAG4J do? What are alternatives?

-- DB (2007/08/27)

How do you manage Templates on the server side?

This is very domain dependent. You can either create a repository of static templates in some kind of database or generate templates at runtime that reflect for example the utilization of the machine. The second approach is certainly more flexible but more complicated as well. One has to find some useful way to represent the utilization that lists possible ways of executing a job. But because such information can be expired by the time an SLA is requested by the Agreement Requestor, this approach does not guarantee successful negotiation. Further more a provider may not want to expose its schedule, either because of company policy or because it is very long and the template might grow very large.

-- DB (2007/08/27)

How do you incorporate pricing the the negotiation process?

In a 2PC process, pricing would be very simple: An Agreement Initiator submits a non-binding request, the Agreement Responder fills in a price, the Agreement Initiator accepts or rejects. This allows even for negotiating with several Agreement Responders in parallel to find the cheapest offer.

The disadvantage of this approach is that resources need to be reserved for some time and a competing provider might make lots of fake requests at its competitors. Relatively simple solutions are

  • to request a non-binding quote from providers and try to create an Agreement according to this quote in a second step. It is however not quaranteed that a provider accepts the request in the second step.
  • a provider might support advance reservations for a certain fee. A user has to pay this fee for reserving a resource for some time but has a relatively cheap way of declining it later.

The CatNets and SORMA project investigate auction based approaches.

-- DB (2007/08/27)

 




The Open Grid Forum Contact Webmaster | Report a problem | GridForge Help
This is a static archive of the previous Open Grid Forum GridForge content management system saved from host forge.ogf.org file /sf/wiki/do/viewPage/projects.graap-wg/wiki/FAQ at Thu, 03 Nov 2022 00:14:13 GMT