Mechanism for tracking the execution progress of a parent task which spawns one or more concurrently executing child tasks
First Claim
1. A machine-implemented method, comprising:
- monitoring execution progress of a parent task and one or more child tasks, wherein the one or more child tasks are spawned by the parent task and execute concurrently with the parent task, and wherein each of the child tasks is a separate task from the parent task;
determining an overall execution progress value for the parent task, wherein weight represents an approximate amount of work that needs to be performed to complete a task, and wherein determining the overall progress value comprises;
determining a total weight for the parent task, wherein the parent task has an associated weight and each child task has an associated declared weight, and wherein the total weight includes the weight of the parent task and the declared weight of each child task;
determining a ballast for the parent task, wherein the ballast is a portion of the weight of the parent task and indicates how much execution progress has been made by the parent task;
determining a calculated ballast for each child task, wherein the calculated ballast for a child task is a portion of the declared weight of the child task and indicates how much execution progress has been made by the child task; and
deriving the overall execution progress value for the parent task based, at least partially, upon the total weight, the ballast of the parent task, and the calculated ballast of at least one of the child tasks; and
causing an indication of the overall execution progress value to be displayed to a user.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved mechanism for tracking the execution progress of a task is disclosed. In one implementation, the execution progress of a parent task and one or more child tasks is monitored. The parent task spawns the one or more child tasks, and the child tasks execute concurrently with the parent task. In addition to monitoring the execution progress of the tasks, an overall execution progress value is determined for the parent task. In one implementation, the overall execution progress value is determined based, at least partially, upon the execution progress of the parent task and the execution progress of at least one of the child tasks. By taking the execution progress of the child tasks into account, the overall execution progress value reflects not just the progress made by the parent task itself but also the progress made by the child tasks that it spawned.
26 Citations
21 Claims
-
1. A machine-implemented method, comprising:
-
monitoring execution progress of a parent task and one or more child tasks, wherein the one or more child tasks are spawned by the parent task and execute concurrently with the parent task, and wherein each of the child tasks is a separate task from the parent task; determining an overall execution progress value for the parent task, wherein weight represents an approximate amount of work that needs to be performed to complete a task, and wherein determining the overall progress value comprises; determining a total weight for the parent task, wherein the parent task has an associated weight and each child task has an associated declared weight, and wherein the total weight includes the weight of the parent task and the declared weight of each child task; determining a ballast for the parent task, wherein the ballast is a portion of the weight of the parent task and indicates how much execution progress has been made by the parent task; determining a calculated ballast for each child task, wherein the calculated ballast for a child task is a portion of the declared weight of the child task and indicates how much execution progress has been made by the child task; and deriving the overall execution progress value for the parent task based, at least partially, upon the total weight, the ballast of the parent task, and the calculated ballast of at least one of the child tasks; and causing an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A machine-readable storage medium, comprising:
-
instructions for causing one or more processors to monitor execution progress of a parent task and one or more child tasks, wherein the one or more child tasks are spawned by the parent task and execute concurrently with the parent task, and wherein each of the child tasks is a separate task from the parent task; instructions for causing one or more processors to determine an overall execution progress value for the parent task, wherein weight represents an approximate amount of work that needs to be performed to complete a task, and wherein the instructions for causing one or more processors to determine the overall execution progress value comprise; instructions for causing one or more processors to determine a total weight for the parent task, wherein the parent task has an associated weight and each child task has an associated declared weight, and wherein the total weight includes the weight of the parent task and the declared weight of each child task; instructions for causing one or more processors to determine a ballast for the parent task, wherein the ballast is a portion of the weight of the parent task and indicates how much execution progress has been made by the parent task; instructions for causing one or more processors to determine a calculated ballast for each child task, wherein the calculated ballast for a child task is a portion of the declared weight of the child task and indicates how much execution progress has been made by the child task; and instructions for causing one or more processors to derive the overall execution progress value for the parent task based, at least partially, upon the total weight, the ballast of the parent task, and the calculated ballast of at least one of the child tasks; and instructions for causing one or more processors to cause an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus having one or more processors, comprising:
-
a mechanism for monitoring execution progress of a parent task and one or more child tasks, wherein the one or more child tasks are spawned by the parent task and execute concurrently with the parent task, and wherein each of the child tasks is a separate task from the parent task; a mechanism for determining an overall execution progress value for the parent task, wherein weight represents an approximate amount of work that needs to be performed to complete a task, and wherein the mechanism for determining the overall execution progress value for the parent task comprises; a mechanism for determining a total weight for the parent task, wherein the parent task has an associated weight and each child task has an associated declared weight, and wherein the total weight includes the weight of the parent task and the declared weight of each child task; a mechanism for determining a ballast for the parent task, wherein the ballast is a portion of the weight of the parent task and indicates how much execution progress has been made by the parent task; a mechanism for determining a calculated ballast for each child task, wherein the calculated ballast for a child task is a portion of the declared weight of the child task and indicates how much execution progress has been made by the child task; and a mechanism for deriving the overall execution progress value for the parent task based, at least partially, upon the total weight, the ballast of the parent task, and the calculated ballast of at least one of the child tasks; and a mechanism for causing an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A machine-implemented method, comprising:
-
monitoring execution progress of a parent task, a child task, and a grandchild task, wherein the child task is spawned by the parent task and the grandchild task is spawned by the child task, wherein the child task and the grandchild task are separate tasks from the parent task, and wherein the child task and grandchild task execute concurrently with the parent task; determining an overall execution progress value for the parent task, comprising; determining a progress value for the grandchild task; determining a progress value for the child task based, at least partially, on the progress value for the grandchild task; and determining the overall execution progress value for the parent task based, at least partially, on the progress value of the child task; and causing an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (17)
-
-
18. A machine-readable storage medium, comprising:
-
instructions for causing one or more processors to monitor execution progress of a parent task, a child task, and a grandchild task, wherein the child task is spawned by the parent task and the grandchild task is spawned by the child task, wherein the child task and the grandchild task are separate tasks from the parent task, and wherein the child task and grandchild task execute concurrently with the parent task; instructions for causing one or more processors to determine an overall execution progress value for the parent task, comprising; instructions for causing one or more processors to determine a progress value for the grandchild task; instructions for causing one or more processors to determine a progress value for the child task based, at least partially, on the progress value for the grandchild task; and instructions for causing one or more processors to determine the overall execution progress value for the parent task based, at least partially, on the progress value of the child task; and instructions for causing one or more processors to cause an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (19)
-
-
20. An apparatus having one or more processors, comprising:
-
a mechanism for monitoring execution progress of a parent task, a child task, and a grandchild task, wherein the child task is spawned by the parent task and the grandchild task is spawned by the child task, wherein the child task and the grandchild task are separate tasks from the parent task, and wherein the child task and grandchild task execute concurrently with the parent task; a mechanism for determining an overall execution progress value for the parent task, comprising; a mechanism for determining a progress value for the grandchild task; a mechanism for determining a progress value for the child task based, at least partially, on the progress value for the grandchild task; and a mechanism for determining the overall execution progress value for the parent task based, at least partially, on the progress value of the child task; and a mechanism for causing an indication of the overall execution progress value to be displayed to a user. - View Dependent Claims (21)
-
Specification