Abstract:
Disclosed herein are a data processing system implemented method, a data processing system and an article of manufacture for managing a plurality of data processing system executable tasks each having a script associated therewith. The data processing system includes a task selector for selecting, from the plurality of computer executable tasks, a selection of tasks, a script selector for selecting scripts, the selected scripts associated with the selected selection of tasks, and a script editor for editing the selected scripts, the edited selected scripts being executable by the data processing system.

Description:
FIELD OF INVENTION 
   The present invention relates to the field of computer executable tasks. In particular, to a method, a data processing system, and an article of manufacture for managing data processing system executable tasks. 
   BACKGROUND 
   Computing platforms execute software implemented applications that are often referred to as tasks. A computing platform can execute a number of tasks in succession including some executing concurrently. A user of such a computing platform will want to execute one or more tasks, view the progress of each task, prioritize executing tasks, determine if tasks have succeeded or failed, and repeat these same tasks several times with the same or different input parameters. 
   It is known to provide a task management application with a user interface that allows a human operator (user) to view the identifying information, current or completion status, and other useful information with respect to executing task and recently completed tasks. An example of such a task management application is provided by the Microsoft® Windows® Task Manager. The Windows® Task Manager allows a user to view a list of executing tasks (applications) and to terminate execution of a designated task. Once a task has terminated, no information regarding the task is available in the Windows® Task Manager. 
   Typically the information presented in the user interface of a task management application is read-only. That is, the user can not interact with the information presented in the interface for the purpose of manipulating it or perform actions on it. The information provided is commonly sufficient to identify a task but does not include details of parameters (inputs) provided to the task on execution. Therefore, the information is not always sufficient to permit the user to re-execute a displayed task. 
   What is required is a task management application with a user interface that permits a user to manipulate information presented in the interface and to re-execute tasks based on the parameters previously provided to the task. 
   SUMMARY OF INVENTION 
   In accordance with one aspect of the present invention, there is provided a data processing system for managing a plurality of data processing system executable tasks each having a script associated therewith, the data processing system including a task selector for selecting, from the plurality of computer executable tasks, a selection of tasks, a script selector for selecting scripts, the selected scripts associated with the selected selection of tasks, and a script editor for editing the selected scripts, the edited selected scripts being executable by the data processing system. 
   In accordance with another aspect of the present invention, there is provided a data processing system implemented method for managing a plurality of data processing system executable tasks each having a script associated therewith, the method including selecting, from the plurality of computer executable tasks, a selection of tasks, selecting scripts, the selected scripts associated with the selected selection of tasks, and editing the selected scripts, the edited selected scripts being executable by the data processing system. 
   In accordance with another aspect of the present invention, there is provided an article of manufacture for directing a data processing system to manage a plurality of data processing system executable tasks each having a script associated therewith, the article of manufacture including a program usable medium embodying one or more instructions executable by the data processing system, the one or more instructions including data processing system executable instructions for selecting, from the plurality of computer executable tasks, a selection of tasks, data processing system executable instructions for selecting scripts, the selected scripts associated with the selected selection of tasks, and data processing system executable instructions for editing the selected scripts, the edited selected scripts being executable by the data processing system. 
   Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art or science to which it pertains upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures. 

   
     BRIEF DESCRIPTION OF DRAWINGS 
     The present invention will be described in conjunction with drawings in which: 
       FIG. 1  is a schematic representation of an exemplary embodiment of a data processing system of the present invention. 
       FIG. 2  is a representation of an exemplary visual interface provided by an exemplary embodiment of the task presenter of the present invention. 
       FIG. 3  is another representation of an exemplary visual interface provided by an exemplary embodiment of the task presenter of the present invention showing content in a script window provided by an exemplary embodiment of the script presenter of the present invention. 
       FIG. 4  is a further representation of an exemplary visual interface provided by an exemplary embodiment of the task presenter of the present invention showing a menu of operations. 
       FIG. 5  is a schematic representation of an exemplary lifecycle of a task in accordance with the present invention. 
       FIG. 6  is a flow chart representing steps in an exemplary embodiment of a method according to the present invention. 
   

   DETAILED DESCRIPTION 
   In an exemplary embodiment of the present invention, a data processing system provides for displaying, to a user, information regarding currently executing and previously completed (executed) tasks, on a data processing system, and for allowing the user to manipulate the information and re-execute one or more selected tasks. The data processing system can include a collection of computing platforms operatively connected in a networked configuration. 
     FIG. 1  is a schematic representation of an exemplary embodiment of the data processing system  100  of the present invention. The data processing system  100  can comprise a task presenter  110 , a script presenter  120  and a command editor  130 . The task presenter  110  can present an interactive visual representation of currently executing and previously completed tasks on the data processing system. Completed tasks can include tasks that terminated in any of the following cases: normally, prematurely, prior to successful completion, and as the result of an exception or other similar terminating event. The script presenter  120  can present a human (user) readable representation of a script corresponding to a task selected in the task presenter  110  representation of tasks. The command editor  130  can provide for the user to combine and edit the scripts corresponding to the selected tasks and to cause execution of the edited scripts. 
     FIG. 2  is a representation of an exemplary visual interface  200  provided by the task presenter  110 . The visual interface includes a graphical user interface (GUI) window such as an Action Output window  210 . The Action Output window  210  includes a task list area  220  that can display information for a plurality of tasks arranged with a row for each task. Each row can contain fields of information including a task identifying field (Action), a task status field (Status), a completion/termination result field (Return Code), a start of execution time field (Start Time), and other similar fields of information with respect to each task. The Status field can take on values such as, for example, “Running”, “Successful”, “Warning” and “Failed”. The Action Output window  210  can be interactive and can provide for the user to select one or more of the tasks (the selected task or the selected tasks) using commonly known GUI mechanisms for making a selection. 
     FIG. 3  is another representation of the exemplary visual interface  200  provided by the task presenter  110  showing content in a Script area  230  provided by the script presenter  120 . The content in the Script area  230  is a computer executable script that corresponds to the selected task in the task list area  220 . The computer executable script in the Script area  230  is presented in a human readable format. The command editor  130  can be invoked on the script shown in the Script area  230 . The command editor  130  provides for the user to edit the script. A script editing mechanism can be included in the command editor  130 . In an alternative embodiment, the command editor  130  can provide for the editing of the script using another mechanism such as, for example, a script editor, a program editor, a text editor and other similar editing mechanisms. When editing of the script is complete, the command editor  130  can provide for the execution of the edited script. The executed script can appear as a new task in the task list area  220 . 
     FIG. 4  is a further representation of the exemplary visual interface  200  provided by the task presenter  110  showing a menu of operations. When a task is selected in the task list area  220 , the data processing system  100  provides for a user designated operation to be applied to the selected task. The user designates the operation by selecting from a plurality of operation selections  240  using a common mechanism such as, for example, a drop-down menu, a pop-up menu and other similar selection mechanisms. The plurality of operation selections  240  can be a function of a state of the selected task. The state of the selected task can coincide with the status for the selected task or in an alternative embodiment the state and status can take on a unique range of values. For illustrative purposes herein, the state of the selected task takes on the same range of values as the status. For example, operation selections for a selected task having a state of “Running” can include: “Cancel”, “Show Progress”, “Throttle”, “Edit and Re-execute” and “Schedule Task”; while operation selections for a selected task having a state of “Successful”, “Warning” or “Failed” can include: “Remove”, “Edit and Re-execute” and “Schedule Task”. The operation “Cancel” can terminate an executing task; the entry (row) corresponding to the task will remain in the task list area  220 . The operation “Show Progress” can display detailed progress of the executing task. The operation “Throttle” can cause the data processing system to increase or decrease the allocation of resources to the executing task. The operation “Edit and Re-execute” can invoke the command editor  130  on the script corresponding to the selected task; operation of the command editor  130  is described above. The operation “Schedule Task” can allow the user to schedule the selected task for execution at a designated date and time. The operation “Remove” can remove the entry (row) in the task list area  220  corresponding to the selected task. 
   In an alternative embodiment of the present invention, the task presenter  110  provides for the user to select multiple tasks in the task list area  220 . When multiple tasks are selected, the script presenter  120  can present scripts corresponding to each of the selected tasks allowing the user to, for example, combine the scripts. Also when multiple tasks are selected, a user designated operation can be applied to each of the selected tasks. 
     FIG. 5  is a schematic representation of an exemplary lifecycle  400  of a task in accordance with the present invention. The lifecycle  400  begins with an originating dialog  410  where parameters for the yet to be executed task are established by the user. When the parameters have been established, the task can be sent to a task executor  420  for execution. Task status information for the executing task or a task output (i.e. return code) when the task has terminated execution can be sent to the data processing system  100 . The data processing system  100  can, responsive to an operation selection of “Show Progress” by the user, invoke a progress dialog  430 . The data processing system  100  can, responsive to an operation selection of “Edit and Re-execute” by the user, invoke the command editor  130 . When the user has edited the script corresponding to the task, the task can be sent to the task executor  420  for execution. The data processing system  100  can, responsive to an operation selection of “Schedule Task” by the user, send the task to a task center  440 . The task center  440  can send the task to the task executor  420  at a date and time designated by the user. The originating dialog  410  can also send the task to the task center  440  for deferred execution at a designated date and time as an alternative to sending the task directly to the task executor  420 . When the user has confirmed or amended the parameters, the originating dialog  410  can again send the task to the task executor  420  or alternatively the task center  440 . 
     FIG. 6  is a flow chart representing steps in an exemplary embodiment of a method  600  according to the present invention. The method  600  can be implemented, for example, using a task manger  100  such as that described above and represented in  FIG. 1 . In step  610  of the method  600 , information for the plurality of tasks is presented, for example, in a GUI Action Output window  210  having a task list area  220  with a row for each task. Each row can contain fields of information including a task identifying field (Action), a task status field (Status), a completion/termination result field (Return Code), a start of execution time field (Start Time), and other similar fields of information with respect to each task. The Status field can take on values such as, for example, “Running”, “Successful”, “Warning” and “Failed”. The Action Output window  210  can be interactive and can provide for the user to select one or more of the tasks  620  (the task selection) using commonly known GUI mechanisms for making a selection. Computer executable scripts that correspond to the task selection in the task list area  220  can be presented  630  in the Script area  230 . The computer executable scripts in the Script area  230  are presented in a human readable format. When tasks are selected in the task list area  220 , a user designated operation to be applied to the selected tasks can be received  640 . The user designates the operation by selecting from a plurality of operation selections  240  using a common mechanism such as, for example, a drop-down menu, a pop-up menu and other similar selection mechanisms. The plurality of operation selections  240  can be a function of a state of the selected tasks. When the user designated operation is the “Edit and Re-execute” operation (described above), the user can edit the scripts  650  using, for example, the command editor  130 . When editing of the scripts is completed, the task can be sent to, for example, the task executor  420  for execution  660 . 
   In an alternative embodiment, the method  600  according to the present invention can be implemented using a program usable medium embodying one or more instructions, executable by the data processing system  100 , corresponding to the steps of the method  600 . 
   It will be apparent to one skilled in the art that numerous modifications and departures from the specific embodiments described herein may be made without departing from the spirit and scope of the present invention.