[OGSA-BES-WG] BES Last Call

Andreas Savva andreas.savva at jp.fujitsu.com
Thu Feb 8 23:54:01 CST 2007


If I may, I have an additional comment on the following point:

> Naming Activities: Endpoint References
>  >   A BES implementation MUST always present an XML anyURI to
> clients and this
>  >   single anyURI MUST be one of a well-defined set of URIs that
> represent the
>  >   types of endpoints that the BES implementation deals with. Two
> URIs are
>  >   defined:
>  >   http://schemas.ggf.org/bes/2006/08/bes/naming/BasicWSAddressing
>  >   http://schemas.ggf.org/bes/2006/08/bes/naming/WS-Naminghttp://
> schemas.ggf.org/bes/2006/08/bes/naming/WS-Naming
>
> I think this is referring to the NamingProfile BES-Factory attribute,
> but it is quite unclear from the context. Is it strictly required to
> have only those
> two URIs hard-coded and not have extensibility here?

At GGF18 during a BES session and when reviewing BES draft 28 (I think)
 we agreed to remove these BES WS-Naming URIs because WS-Naming was
defining a bunch of them already. There is no reason to have duplicate
definitions.

Also because WS-Naming defines separate claim URIs for each of its
sub-profiles (and because an implementation is free to claim support for
any set of those sub-profiles) we agreed that a BES implementation may
present "one or more" naming URIs to indicate which set of naming
conventions it supports.

(Hopefully Mark and Andrew should remember that discussion.)
Andreas


Joseph Bester wrote:
> Sorry for coming in so late to this discussion. As I wasn't too  
> involved in the earlier drafts, I'm not sure how much of this has  
> been covered already. Below are my questions and comments on the  
> latest draft. Each concern is separated by a -- and tries to refer to  
> the nearest heading or subheading title in the document.
> 
> joe
> 
> Naming Activities: Endpoint References
>  >   A BES implementation MUST always present an XML anyURI to  
> clients and this
>  >   single anyURI MUST be one of a well-defined set of URIs that  
> represent the
>  >   types of endpoints that the BES implementation deals with. Two  
> URIs are
>  >   defined:
>  >   http://schemas.ggf.org/bes/2006/08/bes/naming/BasicWSAddressing
>  >   http://schemas.ggf.org/bes/2006/08/bes/naming/WS-Naminghttp:// 
> schemas.ggf.org/bes/2006/08/bes/naming/WS-Naming
> 
> I think this is referring to the NamingProfile BES-Factory attribute,  
> but it is quite unclear from the context. Is it strictly required to  
> have only those
> two URIs hard-coded and not have extensibility here?
> 
> --
> 
> Defining Valid Specializations
> 
>  > BESs MUST not implement such specialization profiles. More  
> specifically, any
>  > specialization profile that a BES implements MUST obey the  
> following rules
>  > regarding sub-state definitions and allowed state transitions:
>  >
>  > 1. A specialization can introduce sub-states only by replacing a  
> state in the
>  > state model that it is specializing (which itself may be a  
> specialization of
>  > some other state model) with a graph of sub-states and state  
> transitions
>  > among those sub-states.
>  > 2. A state transition from any sub-state in the specialization to  
> another
>  > state, S, in the unspecialized state model may only occur if a  
> corresponding
>  > state transition already existed in the unspecialized state model  
> from the
>  > state that has been replaced, R, to that state S.
> 
> The wording of #1 is a little bit amiguous: it might be interpreted  
> as stating
> that specialized states must only have transitions within the new  
> substate
> graph. It might also clarify things to explicitly allow transitions to
> substates of S in #2.
> 
> --
> 
> Composition of Specializations [1] and Specialized Fault Responses [2]
> [1]
>  > This case raises the question of what to tell a client about their  
> request,
>  > and when. The client may wish to receive a response to its request
>  > immediately, telling it that the request will eventually be  
> applied once the
>  > relevant activity has progressed to a suitable sub-state.  
> Alternatively, the
>  > client may wish to receive a response to its request only when the  
> requested
>  > change has actually occurred. To support both response cases  
> requires that
>  > clients can specify in a request whether they wish to receive an  
> immediate
>  > response back or whether they wish to only receive a response once  
> the
>  > request has actually been acted upon. In the former case a client  
> must be
>  > prepared to receive back a fault response indicating that their  
> request will
>  > eventually be applied.
> [2]
>  > The OperationWillBeAppliedEventuallyFault is used by the BES to  
> indicate to
>  > the client that the requested state operation is allowed, but that  
> the
>  > operation can not be applied immediately given the current  
> Activity state. By
>  > throwing this fault, the BES indicates to the client that it will  
> apply the
>  > requested operation when the Activity state allows. For example,  
> an Activity
>  > in Running:Migrating sub-state can not be put into  
> Running:Suspended, until
>  > the Activity has completed the migration operation, and is back in  
> the
>  > Running:On-resource sub-state.
> 
> I'm not terribly happy with this particular fault. It seems like this  
> is a
> gap in the state transition diagram for the substates---the
> server is moving the job into some intermediate state (between  
> migrating and
> suspended in this example) rather than to the desired state. Since  
> the server
> intends to move to the suspended state, it seems like a poor  
> candidate for a
> fault. Also, this fault isn't actually used in the description of the  
> only
> client-initialized state transition (TerminateActivities)
> 
> --
> 
> Representing sub-states
> 
> 
> There isn't a clear XML example of how a union state would look. The  
> reference to section 4.3
> is wrong---that part is about specialized fault responses.
> 
> --
> 
> BES-Management Port-type (Attributes and Operations)
> 
> Port-type vs Port-Type in subsequent sections. No Attributes are  
> described in
> this section despite the heading.
> 
> --
> 
> StopAcceptingNewActivities, StartAcceptingNewActivities
>  > Output(s)
>  > - None. The response message will be sent once the BES has stopped
>  >   accepting new activity creation requests.
>  > - None. The response message will be sent once the BES has started  
> accepting
>  >   new activity creation requests
> 
> 
> Is it necessary to allow the service to block the client for an  
> indeterminate time? Other state
> transitions described in the doc allow for a BES implementation to  
> intend to make the state change
> without guaranteeing that it is done before the reply is made.
> 
> --
> 
> BES-Factory attributes
> 
> General note: not all attributes in the table are listed in the schema
> (I noticed TotalNumberOfActivities and  
> TotalNumberofContainedResources were
> missing)
> 
>  > ContainedResource anyType
> 
> Is it intended to use an anyType holding a  
> BasicResourceAttributesDocument
> or FactoryResourceAttributesDocument or is it intended to have the
> ContainedResource element be of type  
> BasicResourceAttributesDocumentType or
> FactoryResourceAttributesDocumentType?
> 
> To clarify what I mean:
> 
> <!-- holding a FactoryResourceAttributesDocumentType -->
> <ContainedResource>
>      <FactoryResourceAttributesDocumentType>
>          <IsAcceptingNewActivities>true</IsAcceptingNewActivities>
>      </FactoryResourceAttributesDocumentType>
> </ContainedResource>
> 
> or
> 
> <!-- of type FactoryResourceAttributesDocumentType -->
> <ContainedResource xsi:type="FactoryResourceAttributesDocumentType">
>      <IsAcceptingNewActivities>true</IsAcceptingNewActivities>
> </ContainedResource>
> 
> --
> 
> BES-Factory attributes
>  > LocalResourceManagerType URI
> Should there be a specific URI defined for the case where the BES  
> acts as a
> facade for one or more other BESes? (one of the use cases described  
> in this doc).
> 
> --
> 
> BES-Factory Attributes: TotalNumberOfActivities
> BES-Factory Attributes: TotalNumberOfContainedResources
> These are listed as mandatory attributes. Are they essential to the  
> operation
> of the BES factory?
> 
> --
> 
> BES-Factory Attributes: ActivityReference
> The description says *all* of the currrently contained activities  
> should be
> listed. I would expect in a Grid environment sometimes it would makes  
> sense to
> restrict the ActivityReference list to those activities which the  
> requester is
> authorized to view or manipulate.
> 
> --
> 
> BESExtension
> 
> The list of valid values might be better listed as list of example  
> values. The names should be closer to the extension definitions.
> 
> --
> 
> BES-Factory Operations
> 
>  > If a request fails for some reason that applies to all the  
> specified activities—e.g., due to an
>  > authorization fault—then the BES MUST respond with an appropriate  
> fault response message.
> 
> Is there a reason to require this different fault processing on the  
> service as opposed to folding this into the other fault handling case?
> 
>  > If a request can succeed for one or more of the specified  
> activities then the BES MUST respond with a > vector of response  
> elements, where each element corresponds to the equivalent activity  
> designated in > the input EPR vector. Each response element MUST be  
> either an element describing the results of the
>  > request, as applied to the designated activity, or a SOAP-1.1  
> fault element describing why the
>  > request could not be applied to the designated activity (e.g.,  
> because the EPR could not be resolved
>  > to any known activity within the BES).
> 
> I'm a little nervous about explicitly referring to SOAP 1.1 Fault  
> types in the schema instead of including only BES-specific faults  
> here. Also, the "either" part of the response is not enforced in the  
> XML schema---probably simplest as a choice, though there are many  
> ways to do so in a schema doc.
> 
> --
> 
> CreateActivity Output(s)
> 
>  > CreateActivityResponseType Response: On success, Response contains  
> an ActivityIdentifier (EPR)
>  > identifying the requested activity. An ActivityDocument element  
> MAY be included representing the
>  > current representation of the requested activity. This operation  
> may include a NotAuthorizedFault
>  > SOAP fault in the result element indicating that while the front- 
> end (i.e. BES web service) was able
>  > to validate the incoming user credentials, the back-end would not  
> permit the operation given the
>  > credentials supplied.  This can happen for example when a BES  
> implements its activities by fork/
>  > exec’ing those applications using su.
> 
> Is this fault text correct? It seems odd to describe a fault in the  
> response section (and it doesn't seem to appear in the schema for the  
> service).
> 
> --
> 
> CreateActivity Fault(s)
> 
>  > InvalidRequestMessageFault: An element in the request message is  
> not recognized. The elements that
>  > are not recognized are described in the body of the fault.  This  
> does not mean that the element
>  > itself is in error, but rather that it specifies a syntactically  
> correct value which does not in fact
>  > make sense.  For example, the number of CPUs is represented by a  
> double, so fractional values are
>  > syntactically correct, but would cause this fault to be thrown as  
> they do not make sense in the
>  > context given.
> 
> This seems confusing when compared to the UnsupportedFeatureFault.  
> Perhaps this could be renamed to something containing the word  
> "unsatisfiable" to match more closely the JSDL notational conventions.
> This would also handle the multitude of fault specializations which  
> could reasonably be generated BES implementations (too many cpus  
> requested, insufficient memory, invalid host, etc)
> 
> --
> 
> GetActivityStatuses / TerminateActivities
> 
>  > EPR[] ActivityIdentifier: A vector of zero or more EPRs (obtained  
> from previous CreateActivity
>  > operations)
> Zero doesn't make sense here, does it?
> 
> --
> 
> GetActivityStatuses
> 
>  > Since the BES specification allows for extensible activity state  
> diagrams, it is possible that not
>  > all states within the state diagram will be relevant/meaningful to  
> a particular client. BES requires
>  > that all legal state transitions are transitioned even if they are  
> not relevant to a particular
>  > client. For instance, if an empty JSDL document is submitted to  
> the BES then all the states from New
>  > to Finished will be transitioned through even though there is no  
> underlying specified activity.
> 
> Does this text belong in this section? The New state is not mentioned  
> elsewhere.
> 
> --
> 
> GetActivityStatuses / TerminateActivities
> 
> InvalidRequestMessageFault
> 
> Does this fault make sense for these operations?
> 
> --
> 
>  > TerminateActivityResponseType[] Response: A vector detailing the  
> responses of the BES to the
>  > termination requests. The Terminated element is a boolean value  
> indicating whether the BES
>  > successfully (true) terminated the activity or not (false). If  
> true is returned, then the associated
>  > activity is now in the Terminated state. If false is returned then  
> the activity MAY eventually
>  > transition to the Terminated state. If an activity specified in  
> the input cannot be located or cannot
>  > be terminated for some reason then the TerminateResponse MUST  
> contain a SOAP-1.1 fault element
>  > instead of a Terminated element.
> 
> The interface for this might be slightly more useful if it were to  
> return the activity status instead of the boolean value.
> 
> --
> 
> GetActivityDocuments
> 
> Missing heading + same concerns as in BES-Factory Operations above
> 
> --
> 
> GetAttributesDocument
> 
> The wsdl for this operation doesn't seem to match the description
> 
> --
> 
> BES-Activity Port-type
> 
>  > The BES-Activity port-type defines operations for monitoring and  
> managing individual activities.
>  > These operations are intended to be applied to EPRs returned by  
> previous CreateActivity operations.
>  > Returning an EPR that supports the BES-Activity Port-type is  
> optional in the CreateActivity operation
>  > of the BES-Factory Port-type.
> 
> Actually, this port type is not defined in this document at all. This  
> section is a definition for an activity document which can be used in  
> some messaging by the BES Factory port type.
> 
> --
> 
> Optional Extensions
> 
> Probably helpful to add the extension URIs in the section defining  
> the relevant extensions.
> 
> --
> 
> Idempotent Execution Semantics
> 
>  > Should a BES receive a second CreateActivity request that includes  
> the same identifier as a
>  > previously received request, the BES MUST not create the requested  
> activity a second time if it
>  > already created the activity for the first request
> 
> This should probably read "Should a BES receive a subsequent  
> CreateActivity request"...
> 
> --
> 
> Subscription to Notification Events
> 
>  > A BES that allows its clients to subscribe for messages concerning  
> activity state changes MUST do so
>  > using either the WS-Eventing or WS-Notification protocols.
> 
> Change this to be a MUST only if referring to a BES advertising the  
> SupportsSubscriptions extension.
> 
> Should additionally list the Topic (for wsnt---not sure about WS- 
> Eventing) which should be used for the subscription request.
> 
> wsnt prefix isn't defined in the Namespace table in section 1.2
> 
> --
> 
> Authors:
> Should refer to Argonne National Laboratory not Argonne National Labs
> 
> Since Peter has moved on from Globus/ANL, I'm not sure if Peter Lane  
> should be listed as author based on the criteria discussed in emails:
> 
>  > Greg also takes the view (and the GFSG supports this) that
>  > anyone listed as an author must individually be willing
>  > to take full responsibility for the document, now and
>  > forever.  This will go into the revised GFD #1, too.
>  > It's the important part, in Greg's view.
> 
> --
>   ogsa-bes-wg mailing list
>   ogsa-bes-wg at ogf.org
>   http://www.ogf.org/mailman/listinfo/ogsa-bes-wg

-- 
Andreas Savva
Fujitsu Laboratories Ltd



More information about the ogsa-bes-wg mailing list