A method and apparatus has been shown and described which allows Quality of Service to be controlled at a temporal granularity. Time-value curves, generated for each task, ensure that mission resources are utilized in a manner which optimizes mission performance. It should be noted, however, that although the present invention has shown and described the use of time-value curves as applied to mission workflow tasks, the present invention is not limited to this application; rather, it can be readily appreciated by one of skill in the art that time-value curves may be used to optimize the delivery of any resource to any consumer by taking into account the dynamic environment of the consumer and resource.
FIELD OF THE INVENTION
This invention relates generally to resource management and more particularly to a method and apparatus for generating and using time-value curves for resource management.
BACKGROUND OF THE INVENTION
The effectiveness of any mission is heavily reliant upon the ability of an underlying infrastructure to respond to the dynamic requirements of the mission. Typically missions are layered upon an existing resource infrastructure such that the mission becomes merely a set of tasks that is supported by the infrastructure. Layering a mission upon an existing infrastructure typically mis-utilizes key resources and increases the difficulty in detecting performance degradation or partial failures that adversely affect the mission. Allocating specific resources to a mission is technically challenging and error-prone. It would be desirable to identify a mission architecture which would overcome the problems of the prior art.
SUMMARY OF THE INVENTION
According to one aspect of the invention, a method of allocating a resource to a plurality of resource consumers includes the step of generating a time-value curve defining a temporally dynamic priority of a resource consumer over a time period and using the time-value curve to allocate the resource to the consumer over the time period. In one embodiment, the resource is communication bandwidth, and the resource consumers include one or more tasks in a mission workflow. Such an arrangement permits the scheduling, pre-empting and the trade-off of bandwidth between different mission tasks to optimize deployment of mission tasks and concomitantly optimize mission performance.
According to another aspect of the invention, a method of allocating a resource to a plurality of resource consumers includes the steps of generating a time value curve for each one of a plurality of tasks in a workflow, the time-value curve defining a temporally dynamic quality of service to be provided to the task.
According to a further aspect of the invention, a policy engine comprises generic task profile information and time value curve generation logic operably coupled to receive task-specific information and to calculate a time-value curve for the task using the generic task profile information and the task-specific information.
According to a further aspect of the invention, a device comprising the computer readable medium accessible by a resource allocator is described. The computer readable medium stores a data structure comprising, for each one of a plurality of enqueued tasks associated with the resource, a time value curve defining a temporal priority to provide to the associated task, the data structure being accessed by the resource controller to control access to the resource. These and other aspects of the invention will be described with regard to the attached figures.