Fwd: RE: [ogsa-bes-wg] Proposed changes to Spec.

Hi, I wanted to follow up on my email below. There wasn't any response to the concern I raised concerning the proposed operations, and I think it is an important issue that should be discussed. I realize that the BES management might reply that I need to join the phone calls, but that isn't easy for me, and I think that we should be able to discuss issues on the email list also. Regards, Ian.
Darren:
I would like to argue against your proposed operations on the grounds of fragility and scalability. Your operation definitions require that a client keep track of the set of activities to be monitored and controlled. That's a big burden to place on the client.
I suggest (as we have also suggested in earlier communications to BES-WG) that we should instead allow the user to specify a set of activities that are to be monitored or controlled in terms of their properties, not names. E.g., "activities that belong to me", "activities that involve executable Foo", "activities that have been running for over 2 hours."
A natural way of modeling this is to represent the set of activities associated with your jobs as a WS-ServiceGroup Service Group, and then use queries on the service group to specify the activities to which an operation applies.
Regards -- Ian.
At 08:52 AM 10/26/2005 -0600, Darren Pulsipher wrote:
I have spent some considerable time with the document. I know far more than I planned, but it was good time spent. I think we should discuss these items in our meeting on Thursday. I have posted some changes to the document but would like to discuss these items before I make these changes to them.
There are some fundamental problems/questions that we need to resolve.
1. How do we resume from where we left off. There is no Resume anymore so we are putting the responsibility to the submitter or controller to keep track of states. We can only use RequestActivityStateChanges to suspend something and if I want to suspend 1000s of activities that means I would need to first do a GetActivityState save the states and then call RequestActivityStateChanges without any of the activities changing state. That is not going to happen. So I propose we do the following: - Add the following interfaces: SuspendActivites(WS-Name[] activityIdentifiers) ResumeActivities(WS-Name[] activityIdentifiers)
Or we add one interface PerformOnActivites("Suspend" | "Resume", WS-Name[] activityIdentifiers)
2. Another problem is how do we terminate an activity. The States that are available are "Terminated" and "ShuttingDown". According to the state net the activity is moved to the "ShuttingDown" and then to "Terminated" so requesting RequestActivityStateChanges for activities with "ShuttingDown" means it should move to the ShuttingDown state but it will move the activities to the "Terminated" state. This can be very confusing. So I suggest we add another interface. - Add the following interface: TerminateActivities(WS-Name[] activityIdentifiers)
Or add another possible argument to the interface. PerformOnActivites("Suspend" | "Resume" | "Terminate", WS-Name[] activityIdentifiers)
3. Another question that is not clear in the spec is if an action (staging in or staging out) moves into an exception state does that mean that the activity moves into the exception state right away or does it mean that it ever moves into the exception state. Does it mean that if one of the actions moves into an exception state that all other actions are halted and moved to the exception state and then the activity? - I proposed that actions state have no impact on the activity state. If an action has an exception or is terminated then it should not have any impact on the activity what so every.
4. Another not so important change but it might help clarify some confusion and allow for extendibility later on would be to get rid of the "ExecutionPending" and "ExecutionComplete" and make the "Running" state a composite state like the "StagingIn" and "StagingOut" states. This will give the ability to handle complex multiple application execution definitions that the JSDL group is looking at for the next rev of the Job Definition. This will allow for multiple Application actions. This is not workflow. Nor should it be considered the start of workflow. This just allows for extendibility easily.
Darren Pulsipher
_______________________________________________________________ Ian Foster www.mcs.anl.gov/~foster Math & Computer Science Div. Dept of Computer Science Argonne National Laboratory The University of Chicago Argonne, IL 60439, U.S.A. Chicago, IL 60637, U.S.A. Tel: 630 252 4619 Fax: 630 252 1997 Globus Alliance, www.globus.org
_______________________________________________________________ Ian Foster www.mcs.anl.gov/~foster Math & Computer Science Div. Dept of Computer Science Argonne National Laboratory The University of Chicago Argonne, IL 60439, U.S.A. Chicago, IL 60637, U.S.A. Tel: 630 252 4619 Fax: 630 252 1997 Globus Alliance, www.globus.org
_______________________________________________________________ Ian Foster www.mcs.anl.gov/~foster Math & Computer Science Div. Dept of Computer Science Argonne National Laboratory The University of Chicago Argonne, IL 60439, U.S.A. Chicago, IL 60637, U.S.A. Tel: 630 252 4619 Fax: 630 252 1997 Globus Alliance, www.globus.org

Ian, Apologies for the delayed reply... I think we all got distracted by the WS-Names debate... and having just looked at the draft specification today for the first time today in a month or so let me take a stab at providing an answer.
I would like to argue against your proposed operations on the grounds of fragility and scalability.
Recall that most of the BES discussion until recently was focused on the 'abstract' interface. There are now two renderings - a WSRF and a 'plain' WS. At the moment the specification (and the renderings) do not mandate any particular registry function. I see no reason why WSRF based activities could not be federated through WS-ServiceGroups (though I'm not exactly sure how they work... I'm interpreting them as a 'sort of' registry view - apologies if this is incorrect) or the plain WS through a UDDI registry. The respective clients would not need to maintain a list of the endpoints they where interested in (but could do so) as these could be obtained from the service group or by searching the registry. Having extracted a list of end points these could be applied to the running activities through the operations on their respective containers.
I suggest (as we have also suggested in earlier communications to BES-WG) that we should instead allow the user to specify a set of activities that are to be monitored or controlled in terms of their properties, not names. E.g., "activities that belong to me", "activities that involve executable Foo", "activities that have been running for over 2 hours."
So I don't see these operations ruled out by what we've done... but not explicitly defined. I'm not sure if these registry functions/capability need to be defined/declared within the service specification. Is this not a broader property of the deployed SOA - e.g. UDDI registry, MDS type federation or P2P structure? Regards, Steven -- ---------------------------------------------------------------- Dr Steven Newhouse Tel:+44 (0)2380 598789 Deputy Director, Open Middleware Infrastructure Institute (OMII) Suite 6005, Faraday Building (B21), Highfield Campus, Southampton University, Highfield, Southampton, SO17 1BJ, UK

Steve: Thanks for your note. This makes sense. Ian. At 11:21 PM 12/8/2005 +0000, Steven Newhouse wrote:
Ian,
Apologies for the delayed reply... I think we all got distracted by the WS-Names debate... and having just looked at the draft specification today for the first time today in a month or so let me take a stab at providing an answer.
I would like to argue against your proposed operations on the grounds of fragility and scalability.
Recall that most of the BES discussion until recently was focused on the 'abstract' interface. There are now two renderings - a WSRF and a 'plain' WS.
At the moment the specification (and the renderings) do not mandate any particular registry function. I see no reason why WSRF based activities could not be federated through WS-ServiceGroups (though I'm not exactly sure how they work... I'm interpreting them as a 'sort of' registry view - apologies if this is incorrect) or the plain WS through a UDDI registry.
The respective clients would not need to maintain a list of the endpoints they where interested in (but could do so) as these could be obtained from the service group or by searching the registry. Having extracted a list of end points these could be applied to the running activities through the operations on their respective containers.
I suggest (as we have also suggested in earlier communications to BES-WG) that we should instead allow the user to specify a set of activities that are to be monitored or controlled in terms of their properties, not names. E.g., "activities that belong to me", "activities that involve executable Foo", "activities that have been running for over 2 hours."
So I don't see these operations ruled out by what we've done... but not explicitly defined. I'm not sure if these registry functions/capability need to be defined/declared within the service specification. Is this not a broader property of the deployed SOA - e.g. UDDI registry, MDS type federation or P2P structure?
Regards,
Steven -- ---------------------------------------------------------------- Dr Steven Newhouse Tel:+44 (0)2380 598789 Deputy Director, Open Middleware Infrastructure Institute (OMII) Suite 6005, Faraday Building (B21), Highfield Campus, Southampton University, Highfield, Southampton, SO17 1BJ, UK
_______________________________________________________________ Ian Foster www.mcs.anl.gov/~foster Math & Computer Science Div. Dept of Computer Science Argonne National Laboratory The University of Chicago Argonne, IL 60439, U.S.A. Chicago, IL 60637, U.S.A. Tel: 630 252 4619 Fax: 630 252 1997 Globus Alliance, www.globus.org
participants (2)
-
Ian Foster
-
Steven Newhouse