US5542088AExpiredUtility

Method and apparatus for enabling control of task execution

90
Assignee: INTERGRAPH CORPPriority: Apr 29, 1994Filed: Apr 29, 1994Granted: Jul 30, 1996
Est. expiryApr 29, 2014(expired)· nominal 20-yr term from priority
G06F 9/4881
90
PatentIndex Score
269
Cited by
3
References
33
Claims

Abstract

A system is disclosed which enables a user of a computer system to have direct control over the priorities assigned to the execution of tasks requested by the user. The user establishes a user tolerance level indicative of the delay the user is willing to tolerate before a task is assigned to background manager. Then whenever a task is requested by the user, a calculation is made to determine whether the task will require more or less time than the user tolerance. If the task requires more time, it is assigned to the control of a background manager, while if it requires less time, it is executed to completion immediately without further instruction from the user. The background manager handles the execution of all background tasks, maintaining the proper order for data consistency, yet allowing the user to rearrange execution priorities when necessary.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of enabling a user of a computer system to control the execution of tasks by an application program on the system comprising: establishing for the application program a user tolerance level consisting of the time period that a user is willing to wait for the execution of a task;   whenever the user requests the system to perform a task, calculating an estimate of the time the task will require to be completed;   if the estimate is less than the user tolerance level, then performing the task;   if the estimate is greater than the user tolerance level then allowing the user to assign the task to a background processing operation; and   returning control of the system to the user for selection of another task.   
     
     
       2. A method as in claim 1 wherein the step of assigning the task to a background processing operation comprises placing the task under control of a background processing manager for execution in accordance with a priority. 
     
     
       3. A method as in claim 2 wherein the step of "if the estimate is greater than the user tolerance level then allowing the user to assign the task to a background processing operation" comprises presenting a dialog box on a screen visible to the user to allow the user to choose whether to cancel the task or to send the task to a queue for execution under control of the background processing manager. 
     
     
       4. A method as in claim 3 wherein the step of "to send the task to a queue for execution under control of the background processing manager" comprises: placing the task in a queue;   determining if the task requires access to information which is not yet available to it;   if the task requires such information then delaying execution of the task until such information is available; and   if the task does not require such information then executing the task when the task has a highest priority for execution.   
     
     
       5. A method as in claim 1 wherein the step of "if the estimate is greater than the user tolerance level then allowing the user to assign the task to a background processing operation" comprises presenting a dialog box on a screen visible to the user to allow the user to choose whether to cancel the task or to send the task to a queue for execution under control of a background processing manager. 
     
     
       6. A method as in claim 5 wherein the step of "to send the task to a queue for execution under control of the background processing manager" comprises: placing the task in a queue;   determining if the task requires access to information which is not yet available to it;   if the task requires such information then delaying execution of the task until such information is available; and   if the task does not require such information then executing the task when the task has a highest priority for execution.   
     
     
       7. A method as in claim 1 further comprising before the step of "whenever the user requests the system to perform a task, calculating an estimate of the time the task will require to be completed" a step of determining whether the user has chosen to send all tasks to the background, and based on that determination sending the task to the background without determining the user tolerance time period. 
     
     
       8. A method as in claim 1 further comprising displaying to the user an indication of the extent to which the task has been completed. 
     
     
       9. A method of enabling a user of a computer system to control execution of a plurality of tasks generated by an application program on the computer system, the method comprising the steps of: maintaining a list of tasks awaiting completion of execution by the computer system;   displaying the list of tasks to the user on a display;   in response to displaying the list of tasks, having the user prioritize the list of tasks to thereby determine which tasks will be completed first.   
     
     
       10. A method as in claim 9, wherein the step of displaying the list of tasks comprises displaying the list of tasks in a user interface on the display; and   wherein the step of having the user prioritize the list of tasks comprises prioritizing the list of tasks using a pointing device and the user interface.   
     
     
       11. A method as in claim 9, further comprising the step of: in response to displaying the list of tasks, having the user suspend one task from the list of tasks.   
     
     
       12. A method as in claim 9, further comprising the step of: in response to displaying the list of tasks, having the user abort one task from the list of tasks.   
     
     
       13. A method as in claim 9, wherein the list of tasks includes a queue, the queue having a number of concurrent tasks. 
     
     
       14. A method as in claim 9, further comprising the steps of: selecting one task of the list of tasks; and   displaying any tasks to be completed before the one task is executed.   
     
     
       15. A method as in claim 9, wherein the step of displaying the list of tasks comprises displaying a name, a description, and a percentage completion for each task in the list of tasks. 
     
     
       16. A method as in claim 9, further comprising the step of notifying the user when a task from the list of tasks is complete. 
     
     
       17. A computing system for enabling a user to control the execution of tasks from an application program, the computing system comprising: a command system for accepting commands from the application program and outputting commands which instruct the computing system to carry out operations;   a background manager coupled to the command system for intercepting at least some of the commands from the command system and when so instructed by the user, placing the at least some of the commands in a queue for execution at a subsequent time; and   a processing system coupled to the command system and to the background manager for receiving commands from the command system and from the background manager and in response thereto carrying out operations.   
     
     
       18. A computing system as in claim 17, further comprising: a user input device coupled to the background manager, the user input device for receiving user instructions and for outputting the user instructions to the background manager.   
     
     
       19. A computer system as in claim 18 wherein the user input device comprises a user interface on a display and a pointing device. 
     
     
       20. A computer system as in claim 17, further comprising means for estimating a time for execution for each of the at least some of the commands. 
     
     
       21. An apparatus for enabling a user of a computer system to control the execution of tasks generated by an application program, the computer system comprising: means for establishing a user tolerance level for the application program, the user tolerance level comprising a period of time that the user is willing to wait for the execution of a task;   means for calculating an estimate of the time the task will require to be completed whenever the user requests the system to perform a task;   means for performing the task, when the estimate is less than the user tolerance level, then performing the task;   means allowing the user to assign the task to a background processing operation when the estimate is greater than the user tolerance level then; and   means for returning control of the computer system to the user for selection of another task.   
     
     
       22. An apparatus as in claim 21 wherein the means for allowing the user to assign the task comprises: means for presenting a dialog box on a screen visible to the user to allow the user to choose whether to cancel the task; and   means for allowing the user to send the task to a queue for execution under control of a background processing manager.   
     
     
       23. An apparatus as in claim 22 wherein the means for allowing the user to send the task to a queue comprises: means for placing the task in a queue;   means for determining if the task requires access to information which is not yet available to it;   means for delaying execution of the task until such information is available when the task requires such information; and   means for executing the task when the task has a highest priority for execution.   
     
     
       24. An apparatus as in claim 21 wherein the means for allowing the user to assign the task comprises means for placing the task under control of a background processing manager for execution in accordance with a priority. 
     
     
       25. An apparatus as in claim 21 further comprising: means for determining whether the user has chosen to send all tasks to the background; and   means for sending the task to the background without determining the user tolerance time period based on that determination.   
     
     
       26. An apparatus as in claim 21 further comprising means for displaying to the user an indication of the extent to which the task has been completed. 
     
     
       27. A computer system for enabling a user of a computer system to control execution of a plurality of tasks generated by an application program, the computer system comprising: a display;   means for maintaining a list of tasks awaiting completion of execution by the computer system;   means for displaying the list of tasks to the user on the display; and   means for having the user prioritize the list of tasks to thereby determine which tasks will be completed first.   
     
     
       28. A computer system as in claim 27, wherein the means for displaying the list of tasks comprises means for displaying the list of tasks in a user interface on the display; and   wherein the means for having the user prioritize the list of tasks comprises means for prioritizing the list of tasks using a pointing device and the user interface.   
     
     
       29. A computer system as in claim 27, further comprising: means for having the user suspend one task from the list of tasks on the display.   
     
     
       30. A computer system as in claim 27, further comprising: means for having the user abort one task from the list of tasks on the display.   
     
     
       31. A computer system as in claim 27, further comprising the steps of: means for selecting one task of the list of tasks; and   means for displaying any tasks to be completed before the one task is executed.   
     
     
       32. A computer system as in claim 27, wherein the means for displaying the list of tasks comprises means for displaying a name, a description, and a percentage completion for each task in the list of tasks. 
     
     
       33. A computer system as in claim 27, further comprising means for notifying the user when a task from the list of tasks is complete.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.