SlideShare a Scribd company logo
US008146090B2 
(12) Unlted States Patent (10) Patent No.: US 8,146,090 B2 
Travostino et a]. 45 Date of Patent: Mar. 27 2012 a 
(54) TIME-VALUE CURVES TO PROVIDE 6,654,346 B1 * 11/2003 Mahalingaiah et a1. .... .. 370/235 
DYNAMIC QOS FOR TIME SENSITIVE FILE 6,665,701 B1 * 12/2003 Combs et al. ........ .. 718/104 
TRANSFER 7,093,250 B1 * 8/2006 Rector ......... .. 718/100 
7,369,912 B2 * 5/2008 Sherriff et al. . 700/100 
_ _ 7,373,410 B2 * 5/2008 Monza et al. .. 709/229 
(75) Inventors: Franco Travost1no,Ar11ngton, MA 7,765,028 B2 * 7/2010 Orita ............ .. 700/248 
(US); Tal Lavian, Sunnyvale, CA (US); 2002/0082856 A1 * 6/2002 Gray et a1. 705/1 
Bruce scho?eld Tyngsboro MA 2003/0046324 A1 * 3/2003 Suzuki et a1. .. 709/100 
’ ’ ’ 2003/0061260 A1 * 3/2003 Rajkumar ........ .. 709/104 
Inder Monga’ Acton’ MA (Us) 2004/0064817 A1 * 4/2004 Shibayama et al. 718/104 
_ _ 2004/0073643 A1 * 4/2004 Hayes et a1. ..... .. 709/223 
(73) Asslgneel Rockstar Bldco, LP, New York, NY 2004/0117791 A1 * 6/2004 Prasad et al. ................ .. 718/100 
(Us) (Continued) 
( * ) Notice: Subject to any disclaimer, the term of this 
patent is extended or adjusted under 35 OTHER PUBLICATIONS 
U.S.C. 154(b) by 1565 days. Camorlinga, et al., Modeling of Work?oW-Engaged Networks on 
Radiology Transfers Across a Metro Network, IEEE Transactions on 
(21) Appl- N05 11/469,404 Information Technology in Biomedicine, vol. 10, No. 2, Apr. 2006. 
. 275-281. (22) Filed: Aug. 31, 2006 pp 
(Continued) 
(65) Prior Publication Data 
Us Zoos/0040630 A1 Feb 14 2008 Primary Examiner * Emerson Puente 
’ Assistant Examiner * Adam Lee 
Related US. Application Data (74) Attorney, Agent, or Firm * Christopher & Weisberg, 
(60) Provisional application No. 60/721,757, ?led on Sep. P'A' 
29’ 2005' (57) ABSTRACT 
(51) Int. C]. A method and apparatus has been shoWn and described Which 
G06F 9/46 (2006.01) alloWs Quality of Service to be controlled at a temporal 
G06F 15/173 (2006.01) granularity. Time-value curves, generated for each task, 
(52) us CL ______ __ 718/104; 718/105; 709/223; 709/224; ensure that mission resources are utilized in a manner Which 
709/225; 709/226 optimizes mission performance. It should be noted, hoWever, 
(58) Field of Classi?cation Search ...................... .. None that although the Present invention has Shown and described 
See application ?le for Complete Search history the use of time-value curves as applied to mission Work?oW 
tasks, the present invention is not limited to this application; 
(56) References Cited 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 
US. PATENT DOCUMENTS any resource to any consumer by taking into account the 
5,402,423 A * 3/1995 Van Kersen et a1‘ ' “ 370/419 dynamic environment of the consumer and resource. 
5,600,822 A * 2/1997 Grice et a1. ........ .. 712/16 
6,446,123 B1 * 9/2002 Ballantine et a1. .......... .. 709/224 14 Claims, 14 Drawing Sheets 
P(riPori)ty
US 8,146,090 B2 
Page 2 
US. PATENT DOCUMENTS 
2006/0195847 A1* 8/2006 Amano et al. .............. .. 718/103 
2006/0277548 A1* 12/2006 Abe ....... .. . 718/104 
2006/0294522 A1* 12/2006 Havens ....................... .. 718/103 
OTHER PUBLICATIONS 
Lavian, et al., A Platform for Large-Scale Grid Data Service on 
Dynamic High-Performance Networks, Nortel Networks Labs, et a1 ., 
pp. 1-10. 
Lavian, et al., DWDM-RAM: A Data Intensive Gird Service Archi 
tecture Enabled by Dynamic Optical Networks, 2004 IEEE Interna 
tional Symposium on Cluster Computing and the Grid, pp. 762-764. 
Lavian, et al., An Extensible, Programmable, Commercial-Grade 
Platform for Internet Service Architecture, IEEE Transactions on 
Systems, Man, and CyberneticsiPart C: Applications and Reviews, 
vol. 34, No. 1, Feb. 2004, pp. 58-68. 
Clark, et al., An Adaptive, Distributed Airborne Tracking System, 
MITRE Corporation, et al., pp. 1-10. 
Hollingsworth, Work?ow Management Coalition, The Work?ow 
Reference Model, Jan. 19, 1995, pp. 1-68. 
The Work?ow Management Coalition, Work?ow Management Coa 
lition Work?ow Standard Work?ow Process De?nition, Oct. 25, 
2002, Version 1.0, pp. 1-114. 
Hayes, et al. Work?ow Interoperabiltiy Standards for the Internet, 
IEEE Internet Computing, May . Jun. 2000, pp. 37-45. 
Hagen, et al., Exception Handling in Work?ow Management Sys 
tems, IEEE Transactions on Software Engineering, vol. 26, No. 10, 
Oct. 2000, pp. 943-958. 
Krishnan, et al., GSFL: A Work?ow Framework for Grid Services, 
Mathematics and Computer Science Division, Argonne National 
Laboratory, Argonne, IL, et al., pp. 1-13. 
Cao, et al., GridF low: Work?ow Management for Grid Computing, 
Proceedings of the 3rd IEEE/ACM Internation Symposium on Cluster 
Computing and the Grid, 2003, pp. 1-8. 
Deelman, et al., Mapping Abstract Complex Work?ows onto Grid 
Environments, Journal of Grid Computing, 2003, pp. 25-39. 
Simeonidou, et al., Optical Network Infrastructure for Grid, Global 
Grid Forum 2002, pp. 1-55. 
Pan, et al., Time in OWL-S, University of Southern California/Infor 
mation Sciences Institute, pp. 1-8. 
Verma, et al., The METEOR-S Approach for con?guring and Execut 
ing Dynamic Web Processes, pp. 1-12. 
Von LasZewski, et al., GridAnt: A Client-Controllable Grid Work?ow 
System., Argonne National Laboratory Preprint ANL/MCS-P1098 
1003, Jan. 2004, pp. 1-10. 
Arnaud, et a1 ., Customer Controlled and Managed Optical Networks, 
Jan. 15, 2003, pp. 1-11. 
Mambretti , et al., The Photonic TeraStream: enabling next genera 
tion applications through intelligent optical networking at 
iGRID2002, Elsevier Science B.V, 2003, pp. 897-908. 
* cited by examiner
US. Patent Mar. 27, 2012 Sheet 1 0114 US 8,146,090 B2 
l 
 Command Center i 
| Y 
12 Goal to Service _>D15C0"Cry 
_ Tmnqlntinn llnit Englne and Q 
. . Scheduler 10L Mlsslon Resource 
Manag r 
- , - Directory Executlon (,onstramt 
Engine 14 Analyzer & 
1_ 
‘ 1 1 i e 
E n, J" Y Tender 
xecu 0" - > Network Services F d 1' 
Federation Execunon 4P 1101193’ + Mum er (NSM) e 9"“ I0" ‘ 
Manager (EM) “1min; g ‘ 
22 “ A 26 
fit A L — v 
Software Execution 0 policy Network Services 
Controlled " v ‘ Manager (PM) lgngin 4- Manager (NSM) _ 
Network , , 122 m E Network 3 A 
Resoum? Munuucr Nelwork Resource & 
(NRM) ‘:28 And Monitor, Software 
— Topology 77 Controlled v v 
Network Network 
VirtuaIizntion~,9 Resource Manager Network Resource 
L (Niuvn 128 And Monitor, 
— Topology 
Execution 
Federation 
Figure 1
US. Patent 
Resource 
Feedback 
(From NRM 28, 
NSM 26) 
Mar. 27, 2012 Sheet 2 0f 14 US 8,146,090 B2 
Work?ow 
Work?ow Constraints 
24 (From EM 22) (From CA 15) 
 | 
Policy Engine i 
V 
‘ Work?ow Q 
Parser 
yActor yTask l Task constraints 
Generic _ 
Task Tlrne-Value Curve 
pro?ks Generation Logic Q 
g 
V 
TV Augmented Work?ow 
(T0 EM 22 ) 
Figure 2
US. Patent Mar. 27, 2012 Sheet 3 0f 14 US 8,146,090 B2 
2m&m5 
3205? 9m5m9% 
A 
PGEmwE 
i0m5mw? 
H8% 
/.9>5U3mm 
2:: 
2m&m5 
2:? 
0E:
US. Patent Mar. 27, 2012 Sheet 4 0f 14 US 8,146,090 B2 
42 Select Generic 
— Task Pro?le 
l 
‘K’ Calculate time-value curve using task speci?c variables 
and constraints with selected generic task pro?le 
l 
46 Store time-value curve with task 
Figure 4
US. Patent Mar. 27, 2012 Sheet 5 0f 14 US 8,146,090 B2 
Pmaww m > 
HWl 
O>IvHo m m 
2$202m,9560 :0 
85M0m3mMr w 
a 
a
US. Patent Mar. 27, 2012 Sheet 6 0f 14 US 8,146,090 B2 
435TTT 
T(iTme) 
F6igur e 
(<1) Almond
US. Patent Mar. 27, 2012 Sheet 7 0f 14 US 8,146,090 B2 
E95E P[kEmu
US. Patent Mar. 27, 2012 Sheet 8 0f 14 US 8,146,090 B2 
m 
A 
i 
PéEME 
EEm22M5? Quiz
US. Patent Mar. 27, 2012 Sheet 9 0f 14 US 8,146,090 B2 
80 
 Burst Traf?c 
[H]- UU “ 
525;, 
0111000000000 
M mu m 
B=1.6X B=1.3X B=X B=.7X B=.4X B=.1X 
Missed Targets A/3 A/3+B/3 B/3+C/3 B/3+(‘/3 (73 
Using 
TCiumrev eVsaQ lf0uo5er I Al :2X 
Figure 9
US. Patent Mar. 27, 2012 Sheet 10 0f 14 US 8,146,090 B2 
2Interval 
3Interval 
3T lInterval 
F1ig0ur e
US. Patent Mar. 27, 2012 Sheet 11 or 14 US 8,146,090 B2 
IPP;mm L_ 2m::5 
as 
rPP;mm Mi EZEMWE
US. Patent Mar. 27, 2012 Sheet 12 0114 US 8,146,090 B2 
P255 
wwQovwiw9worawm5 sm 
(3 
?E2n?0k3% ; $1569 a 
@Q 
VMBQP26E2O38Q6Q10H
US. Patent Mar. 27, 2012 Sheet 13 0f 14 US 8,146,090 B2 
>0F2I5T wVoavTwxm 
22&5 
85E686:40: 0aco0momotwbhmnvw¢‘ 
co C) 
00
US. Patent Mar. 27, 2012 Sheet 14 or 14 US 8,146,090 B2 
235,5 
ENEDE cccmmbmu:bgmw 
cmw cmm gm cmu :3 2: cm 
sumans meg passgw
US 8,146,090 B2 
1 
TIME-VALUE CURVES TO PROVIDE 
DYNAMIC QOS FOR TIME SENSITIVE FILE 
TRANSFER 
RELATED APPLICATIONS 
This application claims priority under 37 C.F.R. §l.l 19(e) 
to provisional patent application 60/721,757 ?led Sep. 29, 
2005 and incorporated herein by reference. 
STATEMENT REGARDING FEDERALLY 
SPONSORED RESEARCH OR DEVELOPMENT 
The US. Government has a paid-up license in this inven 
tion and the right in limited circumstances to require the 
patent oWner to license others on reasonable terms as pro 
vided for by the terms of contract No. HR00ll-05-c-0l20 
aWarded by DARPA/CMO. 
FIELD OF THE INVENTION 
This invention relates generally to resource management 
and more particularly to a method and apparatus for generat 
ing 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 infra 
structure typically mis-utiliZes key resources and increases 
the dif?culty in detecting performance degradation or partial 
failures that adversely affect the mission. Allocating speci?c 
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 de?ning 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 embodi 
ment, the resource is communication bandWidth, and the 
resource consumers include one or more tasks in a mission 
Work?oW. Such an arrangement permits the scheduling, pre 
empting and trade-off of bandWidth betWeen different mis 
sion tasks to optimiZe deployment of mission tasks and con 
comitantly 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 Work?oW, the time-value curve 
de?ning a temporally dynamic quality of service to be pro 
vided to the task. 
According to a further aspect of the invention, a policy 
engine comprises generic task pro?le information and time 
value curve generation logic operably coupled to receive task 
speci?c information and to calculate a time-value curve for 
the task using the generic task pro?le information and the task 
speci?c information. 
20 
25 
30 
35 
40 
45 
50 
55 
60 
65 
2 
According to a further aspect of the invention, a device 
comprising a 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 de?ning 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 ?gures. 
BRIEF DESCRIPTION OF THE FIGURES 
FIG. 1 is a block diagram of a mission architecture in Which 
the present invention may be implemented; 
FIG. 2 is a block diagram illustrating several components 
that may be included in a policy engine to generate time-value 
curves of the present invention; 
FIGS. 3A-3H are diagrams illustrating different types of 
time-value curves that may used as a basis for time-curve 
generation by a policy engine of the present invention; 
FIG. 4 is a How diagram illustrating exemplary steps that 
may be performed by the policy engine of FIG. 2 to generate 
time-value curves for one or more tasks in a Work?oW; 
FIG. 5 is a diagram of an exemplary netWork or service 
resource manager Which may use the time value curves of the 
present invention to control allocation of resources to Work 
How tasks; 
FIG. 6 is a timing diagram illustrating several exemplary 
time-value curves that may be assigned to tasks in a Work 
How; 
FIGS. 7A and 7B are timing diagrams provided to illustrate 
the addition of time value curves as tasks are added to a 
Work?oW; 
FIGS. 8A and 8B are used to describe an embodiment of 
the present invention supporting a surveillance Work?oW; 
FIG. 9 is a processing timing diagram Which pictorially 
illustrates the bandWidth smoothing capabilities of time 
value QoS servicing of a Work?oW; 
FIG. 10 is a pictorial representation of task selection using 
time-value curves in the example of FIG. 9; 
FIGS. 11A and 11B are timing diagrams used to illustrate 
a stalled task drop capability of the present invention; 
FIG. 12 is a How diagram illustrating exemplary steps that 
may be performed by a policy engine performing task drop 
ping such as that illustrated in FIGS. 11A and 11B; 
FIG. 13 is a graph illustrating the performance of TV QoS 
versus Fixed QoS as the offered load increases; and 
FIG. 14 is a graph illustrating hoW TV QoS provides for 
graceful netWork failure. 
DETAILED DESCRIPTION 
FIG. 1 illustrates a mission architecture 1 in Which the 
present invention may advantageously be used to optimiZe 
mission resource utiliZation. In one embodiment the mission 
architecture 1 is an adaptive netWork that uses Work?oW 
Locked Loops (WLL) for mission resource selection and 
access management. The embodiment of FIG. 1 includes a 
Mission Resource Manager (MRM) 10 and a SoftWare Con 
trolled NetWork (SCN) 12. The MRM 10 essentially orches 
trates the use of mission resources by a mission by identifying 
mission tasks and allocating mission resources to the mission 
tasks. Although the MRM may be described beloW as includ 
ing certain components, it should be understood that an MRM 
is not a required to implement the present invention. For 
example, a set of Mission Goals statements may be input into
US 8,146,090 B2 
3 
the Policy Engine to help form the Time-Value curves via an 
administrator at a GUI or automated via a machine interface 
or even a Web Services Interface. 
An exemplary MRM 10 includes a Goal to Service trans 
lation Unit 12. The Goal to Service translation Unit may be a 
semantic tool Which maps a high level goal de?nition, such as 
a natural language de?nition, into real-language mission 
goals into policy statements. One exemplary method for per 
forming Goal to Service translation is described in Ser. No. 
1 1/469,416, entitled Mission Goal Statement to Policy State 
ment Translation, by Travostino et al, ?led Aug. 31, 2006, 
incorporated herein by reference. 
Policy statements are translated into Work?oWs using the 
Goal to Service Translation Unit (GSTU) 12, the Constraint 
Analyzer (CA) 15, the Discovery Engine and Scheduler 
(DES) 13 and the Directory 16. Together these components 
identify, quantify and qualify services that are reserved for a 
mission as described in patent application Ser. No. 11/469, 
422 for Work?oW Locked Loops to Enable Adaptive Net 
Works, by Travostino et al, ?led Aug. 31, 2006. 
For example in one embodiment the directory 16 identi?es 
netWork resources and services that may be allocated to mis 
sions. The DES 13 identi?es resources and services that are 
available for use as an infrastructure of the mission. The CA 
15 evaluates the infrastructure identi?ed by the DES 13 in 
vieW of mission constraints. The CA 15 and DES 13 Work in 
concert With the goal translator to identify the mission infra 
structure. An Engine uses the infrastructure and mission 
information to generate mission Work?oWs, Which are for 
Warded to the SCN 14. 
The SCN 14 generally controls the execution of the mis 
sion and the use of the mission resources during execution of 
the mission. The SCN 14 includes an Execution Manager 
(EM) 22, a Policy Engine (PE) 24, a Network Services Man 
ager (26), a Network Resource Manager (NRM) 28 and a 
NetWork Resource and Topology Discovery resource 27. 
Together these components orchestrate the execution of the 
mission Work?oW using the identi?ed mission resources. 
For the purpose of this application a mission Work?oW is a 
collection of tasks that are performed by a collection of 
actors, Wherein an actor may be any entity that uses a mission 
dedicated resource. A mission dedicated resource is any 
resource that is at least partially dedicated to a mission. 
Mission tasks are dynamic, and therefore during the course 
of the mission different tasks are initiated and terminated. At 
any given time during the mission, mission tasks may seek 
access to a shared mission resource. According to one aspect 
of the invention, each task has an associated time-value curve 
indicating a temporal priority of the task over the task life 
time. The time-value curves are used during resource alloca 
tion to intelligently allocate resources to tasks to optimiZe the 
performance of the mission. Each point in a time-value curve 
identi?es a priority of QoS to be associated With the task for 
the point in time. This alloWs QoS to be adjusted in real time 
based on conditions in the ?eld, thereby adding the degree of 
temporal granularity to the QoS structure. Controlling tem 
poral granularity of QoS helps resolve the con?icts of con 
gestion and While supplying all the resources to the mission 
Within the mission time-frame, Without having to expand the 
siZe of the netWork. 
In one embodiment the PE 24 generates a time-value curve 
for each mission task. The time value curves are forWarded to 
the EM 22.At resource allocation intervals the EM references 
the relative values of the time-value curve of each tasks that 
are active at that time instance to retrieve a time-value for each 
task, Wherein an active task is any task that has been initiated 
and not terminated. Using any one of a variety of selection 
20 
25 
30 
35 
40 
45 
50 
55 
60 
65 
4 
methods, such as highest value, highest Weighted value, etc., 
the time values are compared to select one of the active tasks. 
FIG. 2 illustrates several exemplary components that may 
be included in a PE to generate time-value curves for tasks. 
The PE 24 includes a Work?oW parser 31, a generic task 
pro?le store 34, and time-value (TV) curve generation logic 
32. The Work?oW parser receives Work?oW tasks from the 
Execution Machine (EM). The task may have been initiated in 
response to a mission trigger; for example, in a surveillance 
mission, a mission trigger may be the capturing of an image at 
a sensor point in a surveillance area. The tasks may be trig 
gered by partial or thorough completion of another task. 
HoWever the task is triggered, it is forWarded to the Work?oW 
parser 31 Which extracts task information that may be used to 
build the time-value curve. Any obtainable information Which 
may affect a priority or quality of service to provide to the task 
may be provided to the time-value curve generation logic, 
including, for example, information regarding an actor of the 
task, a location of the task, a security level of the task, con 
straints of the tasks, dependencies of the task, poWer require 
ments of the task, execution time for the task, etc. Information 
regarding services and netWork elements that are associated 
With the task may also be used When calculating the time 
value curve. The present invention is in no Way limited to the 
use of any particular task information in generating a time 
value curve for priority scheduling of the task. 
The generic task pro?le store 34 may be used to store 
pre-determined task pro?les. The predetermined task pro?les 
are tailored to the resource requirements of various pre-de 
?ned tasks. For example, a surveillance task that performs 
high resolution image capture Would have a time-value curve 
that temporally aligns the resource priority With the resource 
usage characteristics of the task. The resource requirements 
of a task may be selected from a set of pre-de?ned pro?les, or 
obtained by monitoring and pro?ling resource usage in 
advance to generate a time-value pro?le for the task. FIGS. 
3A-3H illustrates several representative time value curve pro 
?les. A time value-curve pro?le such as that of FIGS. 3A and 
3B may be applied to a speci?c task identi?ed as having a 
relatively ?at QoS. Pro?les 3C and 3D may be used to apply 
a linear QoS to a task. Impulse pro?les 3E and 3E may be used 
to provide high priority to a task for a short time. Time value 
curves of 7G and 7H illustrate curves that are constructed for 
a particular QoS pro?le. 
FIG. 4 illustrates an exemplary process that may be per 
formed by the PE 24 to construct a time-value curve for a task. 
At step 42 a generic pro?le associated With the task is 
retrieved from the pro?le store 34. At step 44, the time-value 
curve is piece-Wise constructed using the base pro?le in con 
junction With task speci?c variables, constraints and resource 
information using techniques knoWn to those in the art. At 
step 46 the time-value curve is stored With the task. The TV 
augmented task is then forWarded to the EM 22. 
FIG. 5 illustrates exemplary components that may be 
included in an Execution Manager 22 that uses the time-value 
curves of the invention. The EM 22 Would generally include 
task queues 52 for storing active mission tasks. The task 
queues may be organiZed by mission resource. A resource 
controller 56 may include or otherWise have access to the 
Time-Value curves for the tasks, for example in a time-value 
queue associated With the task queue. At each mission 
resource allocation instance the resource controller examines 
the time-values of each active task associated With a resource 
at that instance, and selects one of the tasks based on the 
time-value curve.
US 8,146,090 B2 
5 
FIG. 6 is a timing diagram illustrating illustrative time 
value curves for 3 tasksA (62), B (64) and C (66). The generic 
task pro?le for each of the curves is shown by below Equation 
I: 
P(T):Min(mT+b,MaxP) Equation I 
Where P is the priority, or quality of service, associated 
with the task at time T, m is derived based on the value of the 
task, the lifetime of the task and the execution time of the task 
and b is determined according to a value of the task. The ?at 
portion on each of the time-value curves in this embodiment 
represents the time needed to complete the task. Max (P) 
represents the highest priority to allocate to the task. 
Thus in FIG. 6 time value curve C is a lower value task, 
which takes a relatively short period of time to complete. 
Curve B has the highest initial priority task, with a shorter 
lifetime than curve C. Curve A has the second highest initial 
priority, but the shortest lifetime. Using strict priority alloca 
tion technique, task B will obtain access to the resource until 
time T1. At time T1, access begins to be granted to task A, 
with taskA reaching its maximum priority at time 2 to allow 
it to be at maximum priority for the time period associated 
with executing the task. The time-value curves may thus be 
used provide a temporal priority of the task which ensures that 
the task can complete in its lifetime. 
FIGS. 7A and 7B are pictorial representations of a mission 
work?ow, provided to illustrate the dynamic nature of work 
?ow tasks; tasks are continually instantiated and terminated 
during the work?ow. For example, at time T4, a low priority 
task 68 is triggered. At time T7 a higher priority task is 
triggered. At any resource allocation period, the time value 
curves may be used to real-time, dynamic resource manage 
ment for a dynamic mission work?ow. 
FIGS. 8A and 8B will be used to describe an exemplary 
embodiment of the present invention for use in a particular 
mission. The mission of FIG. 8 is a surveillance mission 
which seeks to identify individuals within a de?ned radius. 
The mission comprises dependent tasks, with a ?rst set of 
tasks being associated with the detection and collection of 
information for each an individual that comes within a radius, 
a second set of tasks being associated with collecting high 
resolution information regarding individuals within the 
radius, a third set of tasks being associated with collecting 
increasingly images at very high resolution. Each of the tasks 
of in the mission use network bandwidth for the exchange of 
information associated with the target. The individuals are 
grouped into low value targets (initial priority 0); mid value 
targets (initial priority value 1) and high value targets (initial 
priority value 2). The targets are detected using mission 
resource sensors distributed within the radius. A detection of 
the target results in an attempt to collect information about the 
target to determine if the target is a target of interest. The 
collection of information may include the transmission of 
identi?cation information, such as a low resolution or high 
resolution image. The type of collection to be performed for 
each target is a task in the above described architecture. The 
task is assigned a time-value curve which provides a temporal 
priority to the collection of information for the particular 
target. 
The time value curves of FIG. 8B are associated with tasks 
to be performed on three targets. A ?rst task 72 is associated 
with a mid priority target which has been sensed in area DS3. 
There are only 3 minutes to collect information regarding the 
target before the target leaves the area. Thus the time-value 
curve is adapted for this target to ensure that data collection 
for this target can occur within the target tracking task life 
time. A second task 74 is associated with a target in area DSa. 
20 
25 
30 
35 
40 
45 
50 
55 
60 
65 
6 
The target has been identi?ed as a high value target, perhaps 
as a result of a low-resolution image mapping task. The target 
is exiting the area in 4 minutes. The slope and intercept of the 
time-value curve re?ect the perceived target value and 
detected target location, and ensures that adequate processing 
of the target may be completed before the target is lost. Time 
value curve 76 is associated with a task generated in response 
to target detection in area DS2b. There are 5 minutes until the 
target quits the area, and thus time-value curve 76 re?ects the 
lower quality of service level to be provided to the collection 
of information regarding this target. 
FIG. 9 is a data ?ow diagram intuitively illustrating the 
bene?ts of using the time-value curves of the present inven 
tion to provide real-time temporally prioritized resource allo 
cation in to mission tasks. As will be seen from the below 
description, the time-value curves effectively smooth and 
optimiZe resource allocation among the tasks. Optimizing the 
resource allocation improves the completion rate of mission 
tasks and increases the chances of mission success. 
Data series 80 illustrates a stream of resource requests that 
are received in a data stream. The performance of the mission 
depends upon being able to process each task in the data 
stream during its lifetime; if tasks are dropped or delayed, 
mission information is lost. In FIG. 9, each data slot repre 
sents a one minute interval, and assume that the Burst traf?c 
received in interval 1 includes high, medium and low priority 
tasks having respective lifetimes of three, four and ?ve min 
utes. 
Data ?ow 90 illustrates an exemplary result of resource 
allocation for a mission using Fixed QoS resource allocation 
methods. In a typical Fixed QoS resource allocation method, 
a ?xed bandwidth percentage is allocated to each task. During 
interval 1 of Data ?ow 90, Burst Traf?c for three tasks is 
received. The prior art resource allocator, receiving no infor 
mation from the ?eld regarding a temporal priority of the 
tasks, uses a Fixed QoS to allocate resources to the tasks. 
Each of the three tasks is provided one third of the bandwidth. 
At the end of interval 1 (or one minute into the task), each of 
the three pending tasks in group A is 1/3 complete. During 
interval 2, an additional task group B is received which 
includes two additional tasks. Assume group B includes a 
medium and high priority task with respective lifetimes of 
four and ?ve minutes. During interval 2 the resource allocator 
allocates the resource equally among the tasks in group A and 
group B, providing one ?fth of the bandwidth to each task. 
The Fixed QoS structure has no way to determine which task 
is temporally more important due to conditions in the ?eld. 
After two minutes, the tasks in group A are now just over half 
completed. During interval 3, an additional task is received, 
and each task in interval 3 is assigned one sixth of the band 
width. At the end of three minutes the high priority task of 
groupA is dropped. Using the example of FIG. 8A, this would 
equate with tasks initiated for individuals in DS3 failing to 
complete before the individual had left the radius. 
In contrast, when time value curves are applied to the QoS 
paradigm, resource allocation would proceed as is shown by 
data ?ow 95; FIG. 10 is a pictorial representation of the 
time-value curves per task for the data ?ow of FIG. 9. During 
interval 1, when burst task set A is received a resource allo 
cator of the present invention compares the time-value curves 
of each task to identify the task with temporal priority. As 
shown in FIG. 10, during interval 1 the high level task is given 
control of the resource. During interval 2, new tasks are 
added. However, during time interval 2 the time value curve 
of the mid-range task of task group A has temporal priority. 
Thus the mid-level task of group A is completed at two min 
utes. At interval 3, at least a portion of the mid-level task of
US 8,146,090 B2 
7 
group B is allocated access to the resource. Thus it can be seen 
that integrating time value curves into the policy and quality 
of service enforcement decisions increases the completion 
rate of high value tasks. 
Time-value curves can also used to identify tasks that may 
not successfully complete in their lifetime. These tasks are 
hereinafter referred to as stalled tasks. Identifying stalled 
tasks allows them to be removed from resource allocation 
consideration, thereby reducing performance and providing a 
graceful degradation of performance in the face of conges 
tion. 
FIG. 11A illustrates how dynamic time-value curve analy 
sis may be used to identify stalled tasks. In FIG. 11A, task 126 
is initiated at time. However, given the temporal priorities of 
the other tasks in the work?ow, it is unlikely that the low 
priority task 129 will be able to complete in its lifetime. In the 
present invention, the Execution Manager identi?es stalled 
?ows and removes them from the task queue, thereby simpli 
fying the decision making process of the EM and reducing 
congestion. FIG. 11B is a pictorial representation of the time 
value curves that are under consideration following the abor 
tion of the stalled task. 
FIG. 12 is a ?ow diagram illustrating several exemplary 
steps that may be performed by an Execution Manager or 
other resource allocator, to drop task execution using time 
value curve information of the present invention. At steps 132 
and 134 a time value curve is generated for each new task as 
described with regards to FIGS. 2-4. At step 136 it is deter 
mined whether the added task is going to result in the stalling 
of an existing task. If so, at step 138 the stalled task is removed 
from the task queue. 
FIG. 13 is a graph that is provided to illustrate the perfor 
mance of a TV QoS system versus that of a ?xed QoS as the 
offered load increases. As shown in FIG. 13, the number of 
missed targets increases linearly with the increase in load. In 
contrast, the TV QoS does not begin to drop targets until the 
average tra?ic approaches the offered load (as indicated by 
the dashed line X in FIG. 13). 
FIG. 14 is a graph that is provided to illustrate the graceful 
performance degradation that can be realiZed in a network 
which implements time-value curves of the present invention 
to abort stalled queues. As the siZe of the packet payload is 
reduced the frequency of resource accesses is increased. Once 
the offered load is less than the average tra?ic, resource 
congestion quickly ensues, and data stream are dropped. The 
present invention uses time-value curves to identify the most 
temporally relevant tasks even during congestion, thereby 
resulting in graceful network performance degradation in the 
face of congestion as shown in FIG. 13. 
Accordingly 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 
work?ow 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. The allocation of any resource, including network 
bandwidth, storage, processing capability, etc., may bene?t 
from the teachings of the present invention. 
Having described various embodiments of the invention, it 
will be appreciated that many of the above ?gures are ?ow 
chart illustrations of methods, apparatus (systems) and com 
20 
25 
30 
35 
40 
45 
50 
55 
60 
65 
8 
puter program products according to an embodiment of the 
invention. It will be understood that each block of the ?ow 
chart illustrations, and combinations of blocks in the ?ow 
chart illustrations, can be implemented by computer program 
instructions. These computer program instructions may be 
loaded onto a computer or other programmable data process 
ing apparatus to produce a machine, such that the instructions 
which execute on the computer or other programmable data 
processing apparatus create means for implementing the 
functions speci?ed in the ?owchart block or blocks. These 
computer program instructions may also be stored in a com 
puter-readable memory that can direct a computer or other 
programmable data processing apparatus to function in a 
particular manner, such that the instructions stored in the 
computer-readable memory produce an article of manufac 
ture including instruction means which implement the func 
tion speci?ed in the ?owchart block or blocks. The computer 
program instructions may also be loaded onto a computer or 
other programmable data processing apparatus to cause a 
series of operational steps to be performed on the computer or 
other programmable apparatus to produce a computer imple 
mented process such that the instructions which execute on 
the computer or other programmable apparatus provide steps 
for implementing the functions speci?ed in the ?owchart 
block or blocks. 
Those skilled in the art should readily appreciate that pro 
grams de?ning the functions of the present invention can be 
delivered to a computer in many forms; including, but not 
limited to: (a) information permanently stored on non-writ 
able storage media (eg read only memory devices within a 
computer such as ROM or CD-ROM disks readable by a 
computer I/O attachment); (b) information alterably stored on 
writable storage media (e. g. ?oppy disks and hard drives); or 
(c) information conveyed to a computer through communi 
cation media for example using baseband signaling or broad 
band signaling techniques, including carrier wave signaling 
techniques, such as over computer or telephone networks via 
a modem 
The above description and ?gures have included various 
process steps and components that are illustrative of opera 
tions that are performed by the present invention. These com 
ponents may be implemented in hardware, software or a 
combination thereof. However, although certain components 
and steps have been described, it is understood that the 
descriptions are representative only, other functional delinea 
tions or additional steps and components can be added by one 
of skill in the art, and thus the present invention should not be 
limited to the speci?c embodiments disclosed. In addition it is 
understood that the various representational elements may be 
implemented in hardware, software running on a computer, or 
a combination thereof. 
While the invention is described through the above exem 
plary embodiments, it will be understoodby those of ordinary 
skill in the art that modi?cation to and variation of the illus 
trated embodiments may be made without departing from the 
inventive concepts herein disclosed. Accordingly, the inven 
tion should not be viewed as limited except by the scope and 
spirit of the appended claims. 
The invention claimed is: 
1. A method of allocating a resource to a plurality of 
resource consumers includes the steps of: 
generating, with a network device, a time-value curve 
de?ning a temporally dynamic priority of a resource 
consumer over a time period, wherein the priority is 
calculated as a function of time; and 
using the time-value curve to allocate access to the 
resource to the consumer over the time period.
Time-value curves to provide dynamic QoS for time sensitive file transfer
Time-value curves to provide dynamic QoS for time sensitive file transfer

More Related Content

PDF
IRJET- Dynamic Analysis and Response of K Type & KT Type Fixed Jacket Offshor...
PDF
Space mobile touchpoints_sr_20131206
PPTX
Brev loc cloud data storage, backup and recovery pres
PPTX
Brev loc cloud data storage, backup and recovery pres
PPTX
Word Lesson 6A Proofing
PPTX
Faculty computer science & information technology
PDF
Yanmar M200 AL
PPTX
Brev loc cloud data storage, backup and recovery pres
IRJET- Dynamic Analysis and Response of K Type & KT Type Fixed Jacket Offshor...
Space mobile touchpoints_sr_20131206
Brev loc cloud data storage, backup and recovery pres
Brev loc cloud data storage, backup and recovery pres
Word Lesson 6A Proofing
Faculty computer science & information technology
Yanmar M200 AL
Brev loc cloud data storage, backup and recovery pres

Similar to Time-value curves to provide dynamic QoS for time sensitive file transfer (20)

PDF
Time-value curves to provide dynamic QoS for time sensitive file transfers
PDF
Time-value curves to provide dynamic QoS for time sensitive file transfers
PDF
Time-value curves to provide dynamic QoS for time sensitive file transfers
PDF
Methods, Systems, and Products for Surveying Facilities (Pat: US 8,484,059 B2)
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
PDF
Distributed computation in network devices
PDF
IRJET - Millisecond Rotation Pulsars as Next Generation Grid Timing Sources
PDF
Us8429046 system and methods for servicing electronic transactions
PDF
Generating and Using Meteorological Data in AERMOD
PDF
Method and apparatus for dynamically loading and managing software services o...
PPTX
Paper ID 60 ICST-2025_Presentation_Template (1).pptx
PPTX
Paper ID 60 ICST-2025_Presentation_Template (1).pptx
PDF
US7413774
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
Us8527380 system and methods for servicing electronic transactions
PDF
US7638167
PPTX
A Statistical Approach to Optimize Parameters for Electrodeposition of Indium...
PDF
B045012015
Time-value curves to provide dynamic QoS for time sensitive file transfers
Time-value curves to provide dynamic QoS for time sensitive file transfers
Time-value curves to provide dynamic QoS for time sensitive file transfers
Methods, Systems, and Products for Surveying Facilities (Pat: US 8,484,059 B2)
Systems and methods for visual presentation and selection of IVR menu
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
Distributed computation in network devices
IRJET - Millisecond Rotation Pulsars as Next Generation Grid Timing Sources
Us8429046 system and methods for servicing electronic transactions
Generating and Using Meteorological Data in AERMOD
Method and apparatus for dynamically loading and managing software services o...
Paper ID 60 ICST-2025_Presentation_Template (1).pptx
Paper ID 60 ICST-2025_Presentation_Template (1).pptx
US7413774
Systems and methods for visual presentation and selection of IVR menu
Systems and methods for visual presentation and selection of IVR menu
Us8527380 system and methods for servicing electronic transactions
US7638167
A Statistical Approach to Optimize Parameters for Electrodeposition of Indium...
B045012015
Ad

More from Tal Lavian Ph.D. (20)

PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Photonic line sharing for high-speed routers
PDF
Systems and methods to support sharing and exchanging in a network
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
Grid proxy architecture for network resources
PDF
Ultra low phase noise frequency synthesizer
PDF
Systems and methods for electronic communications
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Radar target detection system for autonomous vehicles with ultra-low phase no...
PDF
Grid proxy architecture for network resources
PDF
Method and apparatus for scheduling resources on a switched underlay network
PDF
Dynamic assignment of traffic classes to a priority queue in a packet forward...
PDF
Method and apparatus for using a command design pattern to access and configu...
PDF
Reliable rating system and method thereof
PDF
Time variant rating system and method thereof
PDF
Systems and methods for visual presentation and selection of ivr menu
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Photonic line sharing for high-speed routers
Systems and methods to support sharing and exchanging in a network
Systems and methods for visual presentation and selection of IVR menu
Grid proxy architecture for network resources
Ultra low phase noise frequency synthesizer
Systems and methods for electronic communications
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Radar target detection system for autonomous vehicles with ultra-low phase no...
Grid proxy architecture for network resources
Method and apparatus for scheduling resources on a switched underlay network
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Method and apparatus for using a command design pattern to access and configu...
Reliable rating system and method thereof
Time variant rating system and method thereof
Systems and methods for visual presentation and selection of ivr menu
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Ad

Recently uploaded (20)

PPTX
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
PPTX
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
PPTX
Computers and mobile device: Evaluating options for home and work
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
Embeded System for Artificial intelligence 2.pptx
PPTX
code of ethics.pptxdvhwbssssSAssscasascc
PPTX
Operating System Processes_Scheduler OSS
PPTX
Lecture-3-Computer-programming for BS InfoTech
PPTX
"Fundamentals of Digital Image Processing: A Visual Approach"
PPT
Hypersensitivity Namisha1111111111-WPS.ppt
PDF
How NGOs Save Costs with Affordable IT Rentals
PPTX
title _yeOPC_Poisoning_Presentation.pptx
PPT
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
PPTX
Fundamentals of Computer.pptx Computer BSC
PPTX
sdn_based_controller_for_mobile_network_traffic_management1.pptx
PPTX
ERP good ERP good ERP good ERP good good ERP good ERP good
PDF
Prescription1 which to be used for periodo
PPTX
quadraticequations-111211090004-phpapp02.pptx
PPTX
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
PPT
Lines and angles cbse class 9 math chemistry
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
Computers and mobile device: Evaluating options for home and work
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
Embeded System for Artificial intelligence 2.pptx
code of ethics.pptxdvhwbssssSAssscasascc
Operating System Processes_Scheduler OSS
Lecture-3-Computer-programming for BS InfoTech
"Fundamentals of Digital Image Processing: A Visual Approach"
Hypersensitivity Namisha1111111111-WPS.ppt
How NGOs Save Costs with Affordable IT Rentals
title _yeOPC_Poisoning_Presentation.pptx
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
Fundamentals of Computer.pptx Computer BSC
sdn_based_controller_for_mobile_network_traffic_management1.pptx
ERP good ERP good ERP good ERP good good ERP good ERP good
Prescription1 which to be used for periodo
quadraticequations-111211090004-phpapp02.pptx
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
Lines and angles cbse class 9 math chemistry

Time-value curves to provide dynamic QoS for time sensitive file transfer

  • 1. US008146090B2 (12) Unlted States Patent (10) Patent No.: US 8,146,090 B2 Travostino et a]. 45 Date of Patent: Mar. 27 2012 a (54) TIME-VALUE CURVES TO PROVIDE 6,654,346 B1 * 11/2003 Mahalingaiah et a1. .... .. 370/235 DYNAMIC QOS FOR TIME SENSITIVE FILE 6,665,701 B1 * 12/2003 Combs et al. ........ .. 718/104 TRANSFER 7,093,250 B1 * 8/2006 Rector ......... .. 718/100 7,369,912 B2 * 5/2008 Sherriff et al. . 700/100 _ _ 7,373,410 B2 * 5/2008 Monza et al. .. 709/229 (75) Inventors: Franco Travost1no,Ar11ngton, MA 7,765,028 B2 * 7/2010 Orita ............ .. 700/248 (US); Tal Lavian, Sunnyvale, CA (US); 2002/0082856 A1 * 6/2002 Gray et a1. 705/1 Bruce scho?eld Tyngsboro MA 2003/0046324 A1 * 3/2003 Suzuki et a1. .. 709/100 ’ ’ ’ 2003/0061260 A1 * 3/2003 Rajkumar ........ .. 709/104 Inder Monga’ Acton’ MA (Us) 2004/0064817 A1 * 4/2004 Shibayama et al. 718/104 _ _ 2004/0073643 A1 * 4/2004 Hayes et a1. ..... .. 709/223 (73) Asslgneel Rockstar Bldco, LP, New York, NY 2004/0117791 A1 * 6/2004 Prasad et al. ................ .. 718/100 (Us) (Continued) ( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 OTHER PUBLICATIONS U.S.C. 154(b) by 1565 days. Camorlinga, et al., Modeling of Work?oW-Engaged Networks on Radiology Transfers Across a Metro Network, IEEE Transactions on (21) Appl- N05 11/469,404 Information Technology in Biomedicine, vol. 10, No. 2, Apr. 2006. . 275-281. (22) Filed: Aug. 31, 2006 pp (Continued) (65) Prior Publication Data Us Zoos/0040630 A1 Feb 14 2008 Primary Examiner * Emerson Puente ’ Assistant Examiner * Adam Lee Related US. Application Data (74) Attorney, Agent, or Firm * Christopher & Weisberg, (60) Provisional application No. 60/721,757, ?led on Sep. P'A' 29’ 2005' (57) ABSTRACT (51) Int. C]. A method and apparatus has been shoWn and described Which G06F 9/46 (2006.01) alloWs Quality of Service to be controlled at a temporal G06F 15/173 (2006.01) granularity. Time-value curves, generated for each task, (52) us CL ______ __ 718/104; 718/105; 709/223; 709/224; ensure that mission resources are utilized in a manner Which 709/225; 709/226 optimizes mission performance. It should be noted, hoWever, (58) Field of Classi?cation Search ...................... .. None that although the Present invention has Shown and described See application ?le for Complete Search history the use of time-value curves as applied to mission Work?oW tasks, the present invention is not limited to this application; (56) References Cited 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 US. PATENT DOCUMENTS any resource to any consumer by taking into account the 5,402,423 A * 3/1995 Van Kersen et a1‘ ' “ 370/419 dynamic environment of the consumer and resource. 5,600,822 A * 2/1997 Grice et a1. ........ .. 712/16 6,446,123 B1 * 9/2002 Ballantine et a1. .......... .. 709/224 14 Claims, 14 Drawing Sheets P(riPori)ty
  • 2. US 8,146,090 B2 Page 2 US. PATENT DOCUMENTS 2006/0195847 A1* 8/2006 Amano et al. .............. .. 718/103 2006/0277548 A1* 12/2006 Abe ....... .. . 718/104 2006/0294522 A1* 12/2006 Havens ....................... .. 718/103 OTHER PUBLICATIONS Lavian, et al., A Platform for Large-Scale Grid Data Service on Dynamic High-Performance Networks, Nortel Networks Labs, et a1 ., pp. 1-10. Lavian, et al., DWDM-RAM: A Data Intensive Gird Service Archi tecture Enabled by Dynamic Optical Networks, 2004 IEEE Interna tional Symposium on Cluster Computing and the Grid, pp. 762-764. Lavian, et al., An Extensible, Programmable, Commercial-Grade Platform for Internet Service Architecture, IEEE Transactions on Systems, Man, and CyberneticsiPart C: Applications and Reviews, vol. 34, No. 1, Feb. 2004, pp. 58-68. Clark, et al., An Adaptive, Distributed Airborne Tracking System, MITRE Corporation, et al., pp. 1-10. Hollingsworth, Work?ow Management Coalition, The Work?ow Reference Model, Jan. 19, 1995, pp. 1-68. The Work?ow Management Coalition, Work?ow Management Coa lition Work?ow Standard Work?ow Process De?nition, Oct. 25, 2002, Version 1.0, pp. 1-114. Hayes, et al. Work?ow Interoperabiltiy Standards for the Internet, IEEE Internet Computing, May . Jun. 2000, pp. 37-45. Hagen, et al., Exception Handling in Work?ow Management Sys tems, IEEE Transactions on Software Engineering, vol. 26, No. 10, Oct. 2000, pp. 943-958. Krishnan, et al., GSFL: A Work?ow Framework for Grid Services, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL, et al., pp. 1-13. Cao, et al., GridF low: Work?ow Management for Grid Computing, Proceedings of the 3rd IEEE/ACM Internation Symposium on Cluster Computing and the Grid, 2003, pp. 1-8. Deelman, et al., Mapping Abstract Complex Work?ows onto Grid Environments, Journal of Grid Computing, 2003, pp. 25-39. Simeonidou, et al., Optical Network Infrastructure for Grid, Global Grid Forum 2002, pp. 1-55. Pan, et al., Time in OWL-S, University of Southern California/Infor mation Sciences Institute, pp. 1-8. Verma, et al., The METEOR-S Approach for con?guring and Execut ing Dynamic Web Processes, pp. 1-12. Von LasZewski, et al., GridAnt: A Client-Controllable Grid Work?ow System., Argonne National Laboratory Preprint ANL/MCS-P1098 1003, Jan. 2004, pp. 1-10. Arnaud, et a1 ., Customer Controlled and Managed Optical Networks, Jan. 15, 2003, pp. 1-11. Mambretti , et al., The Photonic TeraStream: enabling next genera tion applications through intelligent optical networking at iGRID2002, Elsevier Science B.V, 2003, pp. 897-908. * cited by examiner
  • 3. US. Patent Mar. 27, 2012 Sheet 1 0114 US 8,146,090 B2 l Command Center i | Y 12 Goal to Service _>D15C0"Cry _ Tmnqlntinn llnit Englne and Q . . Scheduler 10L Mlsslon Resource Manag r - , - Directory Executlon (,onstramt Engine 14 Analyzer & 1_ ‘ 1 1 i e E n, J" Y Tender xecu 0" - > Network Services F d 1' Federation Execunon 4P 1101193’ + Mum er (NSM) e 9"“ I0" ‘ Manager (EM) “1min; g ‘ 22 “ A 26 fit A L — v Software Execution 0 policy Network Services Controlled " v ‘ Manager (PM) lgngin 4- Manager (NSM) _ Network , , 122 m E Network 3 A Resoum? Munuucr Nelwork Resource & (NRM) ‘:28 And Monitor, Software — Topology 77 Controlled v v Network Network VirtuaIizntion~,9 Resource Manager Network Resource L (Niuvn 128 And Monitor, — Topology Execution Federation Figure 1
  • 4. US. Patent Resource Feedback (From NRM 28, NSM 26) Mar. 27, 2012 Sheet 2 0f 14 US 8,146,090 B2 Work?ow Work?ow Constraints 24 (From EM 22) (From CA 15) | Policy Engine i V ‘ Work?ow Q Parser yActor yTask l Task constraints Generic _ Task Tlrne-Value Curve pro?ks Generation Logic Q g V TV Augmented Work?ow (T0 EM 22 ) Figure 2
  • 5. US. Patent Mar. 27, 2012 Sheet 3 0f 14 US 8,146,090 B2 2m&m5 3205? 9m5m9% A PGEmwE i0m5mw? H8% /.9>5U3mm 2:: 2m&m5 2:? 0E:
  • 6. US. Patent Mar. 27, 2012 Sheet 4 0f 14 US 8,146,090 B2 42 Select Generic — Task Pro?le l ‘K’ Calculate time-value curve using task speci?c variables and constraints with selected generic task pro?le l 46 Store time-value curve with task Figure 4
  • 7. US. Patent Mar. 27, 2012 Sheet 5 0f 14 US 8,146,090 B2 Pmaww m > HWl O>IvHo m m 2$202m,9560 :0 85M0m3mMr w a a
  • 8. US. Patent Mar. 27, 2012 Sheet 6 0f 14 US 8,146,090 B2 435TTT T(iTme) F6igur e (<1) Almond
  • 9. US. Patent Mar. 27, 2012 Sheet 7 0f 14 US 8,146,090 B2 E95E P[kEmu
  • 10. US. Patent Mar. 27, 2012 Sheet 8 0f 14 US 8,146,090 B2 m A i PéEME EEm22M5? Quiz
  • 11. US. Patent Mar. 27, 2012 Sheet 9 0f 14 US 8,146,090 B2 80 Burst Traf?c [H]- UU “ 525;, 0111000000000 M mu m B=1.6X B=1.3X B=X B=.7X B=.4X B=.1X Missed Targets A/3 A/3+B/3 B/3+C/3 B/3+(‘/3 (73 Using TCiumrev eVsaQ lf0uo5er I Al :2X Figure 9
  • 12. US. Patent Mar. 27, 2012 Sheet 10 0f 14 US 8,146,090 B2 2Interval 3Interval 3T lInterval F1ig0ur e
  • 13. US. Patent Mar. 27, 2012 Sheet 11 or 14 US 8,146,090 B2 IPP;mm L_ 2m::5 as rPP;mm Mi EZEMWE
  • 14. US. Patent Mar. 27, 2012 Sheet 12 0114 US 8,146,090 B2 P255 wwQovwiw9worawm5 sm (3 ?E2n?0k3% ; $1569 a @Q VMBQP26E2O38Q6Q10H
  • 15. US. Patent Mar. 27, 2012 Sheet 13 0f 14 US 8,146,090 B2 >0F2I5T wVoavTwxm 22&5 85E686:40: 0aco0momotwbhmnvw¢‘ co C) 00
  • 16. US. Patent Mar. 27, 2012 Sheet 14 or 14 US 8,146,090 B2 235,5 ENEDE cccmmbmu:bgmw cmw cmm gm cmu :3 2: cm sumans meg passgw
  • 17. US 8,146,090 B2 1 TIME-VALUE CURVES TO PROVIDE DYNAMIC QOS FOR TIME SENSITIVE FILE TRANSFER RELATED APPLICATIONS This application claims priority under 37 C.F.R. §l.l 19(e) to provisional patent application 60/721,757 ?led Sep. 29, 2005 and incorporated herein by reference. STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT The US. Government has a paid-up license in this inven tion and the right in limited circumstances to require the patent oWner to license others on reasonable terms as pro vided for by the terms of contract No. HR00ll-05-c-0l20 aWarded by DARPA/CMO. FIELD OF THE INVENTION This invention relates generally to resource management and more particularly to a method and apparatus for generat ing 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 infra structure typically mis-utiliZes key resources and increases the dif?culty in detecting performance degradation or partial failures that adversely affect the mission. Allocating speci?c 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 de?ning 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 embodi ment, the resource is communication bandWidth, and the resource consumers include one or more tasks in a mission Work?oW. Such an arrangement permits the scheduling, pre empting and trade-off of bandWidth betWeen different mis sion tasks to optimiZe deployment of mission tasks and con comitantly 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 Work?oW, the time-value curve de?ning a temporally dynamic quality of service to be pro vided to the task. According to a further aspect of the invention, a policy engine comprises generic task pro?le information and time value curve generation logic operably coupled to receive task speci?c information and to calculate a time-value curve for the task using the generic task pro?le information and the task speci?c information. 20 25 30 35 40 45 50 55 60 65 2 According to a further aspect of the invention, a device comprising a 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 de?ning 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 ?gures. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 is a block diagram of a mission architecture in Which the present invention may be implemented; FIG. 2 is a block diagram illustrating several components that may be included in a policy engine to generate time-value curves of the present invention; FIGS. 3A-3H are diagrams illustrating different types of time-value curves that may used as a basis for time-curve generation by a policy engine of the present invention; FIG. 4 is a How diagram illustrating exemplary steps that may be performed by the policy engine of FIG. 2 to generate time-value curves for one or more tasks in a Work?oW; FIG. 5 is a diagram of an exemplary netWork or service resource manager Which may use the time value curves of the present invention to control allocation of resources to Work How tasks; FIG. 6 is a timing diagram illustrating several exemplary time-value curves that may be assigned to tasks in a Work How; FIGS. 7A and 7B are timing diagrams provided to illustrate the addition of time value curves as tasks are added to a Work?oW; FIGS. 8A and 8B are used to describe an embodiment of the present invention supporting a surveillance Work?oW; FIG. 9 is a processing timing diagram Which pictorially illustrates the bandWidth smoothing capabilities of time value QoS servicing of a Work?oW; FIG. 10 is a pictorial representation of task selection using time-value curves in the example of FIG. 9; FIGS. 11A and 11B are timing diagrams used to illustrate a stalled task drop capability of the present invention; FIG. 12 is a How diagram illustrating exemplary steps that may be performed by a policy engine performing task drop ping such as that illustrated in FIGS. 11A and 11B; FIG. 13 is a graph illustrating the performance of TV QoS versus Fixed QoS as the offered load increases; and FIG. 14 is a graph illustrating hoW TV QoS provides for graceful netWork failure. DETAILED DESCRIPTION FIG. 1 illustrates a mission architecture 1 in Which the present invention may advantageously be used to optimiZe mission resource utiliZation. In one embodiment the mission architecture 1 is an adaptive netWork that uses Work?oW Locked Loops (WLL) for mission resource selection and access management. The embodiment of FIG. 1 includes a Mission Resource Manager (MRM) 10 and a SoftWare Con trolled NetWork (SCN) 12. The MRM 10 essentially orches trates the use of mission resources by a mission by identifying mission tasks and allocating mission resources to the mission tasks. Although the MRM may be described beloW as includ ing certain components, it should be understood that an MRM is not a required to implement the present invention. For example, a set of Mission Goals statements may be input into
  • 18. US 8,146,090 B2 3 the Policy Engine to help form the Time-Value curves via an administrator at a GUI or automated via a machine interface or even a Web Services Interface. An exemplary MRM 10 includes a Goal to Service trans lation Unit 12. The Goal to Service translation Unit may be a semantic tool Which maps a high level goal de?nition, such as a natural language de?nition, into real-language mission goals into policy statements. One exemplary method for per forming Goal to Service translation is described in Ser. No. 1 1/469,416, entitled Mission Goal Statement to Policy State ment Translation, by Travostino et al, ?led Aug. 31, 2006, incorporated herein by reference. Policy statements are translated into Work?oWs using the Goal to Service Translation Unit (GSTU) 12, the Constraint Analyzer (CA) 15, the Discovery Engine and Scheduler (DES) 13 and the Directory 16. Together these components identify, quantify and qualify services that are reserved for a mission as described in patent application Ser. No. 11/469, 422 for Work?oW Locked Loops to Enable Adaptive Net Works, by Travostino et al, ?led Aug. 31, 2006. For example in one embodiment the directory 16 identi?es netWork resources and services that may be allocated to mis sions. The DES 13 identi?es resources and services that are available for use as an infrastructure of the mission. The CA 15 evaluates the infrastructure identi?ed by the DES 13 in vieW of mission constraints. The CA 15 and DES 13 Work in concert With the goal translator to identify the mission infra structure. An Engine uses the infrastructure and mission information to generate mission Work?oWs, Which are for Warded to the SCN 14. The SCN 14 generally controls the execution of the mis sion and the use of the mission resources during execution of the mission. The SCN 14 includes an Execution Manager (EM) 22, a Policy Engine (PE) 24, a Network Services Man ager (26), a Network Resource Manager (NRM) 28 and a NetWork Resource and Topology Discovery resource 27. Together these components orchestrate the execution of the mission Work?oW using the identi?ed mission resources. For the purpose of this application a mission Work?oW is a collection of tasks that are performed by a collection of actors, Wherein an actor may be any entity that uses a mission dedicated resource. A mission dedicated resource is any resource that is at least partially dedicated to a mission. Mission tasks are dynamic, and therefore during the course of the mission different tasks are initiated and terminated. At any given time during the mission, mission tasks may seek access to a shared mission resource. According to one aspect of the invention, each task has an associated time-value curve indicating a temporal priority of the task over the task life time. The time-value curves are used during resource alloca tion to intelligently allocate resources to tasks to optimiZe the performance of the mission. Each point in a time-value curve identi?es a priority of QoS to be associated With the task for the point in time. This alloWs QoS to be adjusted in real time based on conditions in the ?eld, thereby adding the degree of temporal granularity to the QoS structure. Controlling tem poral granularity of QoS helps resolve the con?icts of con gestion and While supplying all the resources to the mission Within the mission time-frame, Without having to expand the siZe of the netWork. In one embodiment the PE 24 generates a time-value curve for each mission task. The time value curves are forWarded to the EM 22.At resource allocation intervals the EM references the relative values of the time-value curve of each tasks that are active at that time instance to retrieve a time-value for each task, Wherein an active task is any task that has been initiated and not terminated. Using any one of a variety of selection 20 25 30 35 40 45 50 55 60 65 4 methods, such as highest value, highest Weighted value, etc., the time values are compared to select one of the active tasks. FIG. 2 illustrates several exemplary components that may be included in a PE to generate time-value curves for tasks. The PE 24 includes a Work?oW parser 31, a generic task pro?le store 34, and time-value (TV) curve generation logic 32. The Work?oW parser receives Work?oW tasks from the Execution Machine (EM). The task may have been initiated in response to a mission trigger; for example, in a surveillance mission, a mission trigger may be the capturing of an image at a sensor point in a surveillance area. The tasks may be trig gered by partial or thorough completion of another task. HoWever the task is triggered, it is forWarded to the Work?oW parser 31 Which extracts task information that may be used to build the time-value curve. Any obtainable information Which may affect a priority or quality of service to provide to the task may be provided to the time-value curve generation logic, including, for example, information regarding an actor of the task, a location of the task, a security level of the task, con straints of the tasks, dependencies of the task, poWer require ments of the task, execution time for the task, etc. Information regarding services and netWork elements that are associated With the task may also be used When calculating the time value curve. The present invention is in no Way limited to the use of any particular task information in generating a time value curve for priority scheduling of the task. The generic task pro?le store 34 may be used to store pre-determined task pro?les. The predetermined task pro?les are tailored to the resource requirements of various pre-de ?ned tasks. For example, a surveillance task that performs high resolution image capture Would have a time-value curve that temporally aligns the resource priority With the resource usage characteristics of the task. The resource requirements of a task may be selected from a set of pre-de?ned pro?les, or obtained by monitoring and pro?ling resource usage in advance to generate a time-value pro?le for the task. FIGS. 3A-3H illustrates several representative time value curve pro ?les. A time value-curve pro?le such as that of FIGS. 3A and 3B may be applied to a speci?c task identi?ed as having a relatively ?at QoS. Pro?les 3C and 3D may be used to apply a linear QoS to a task. Impulse pro?les 3E and 3E may be used to provide high priority to a task for a short time. Time value curves of 7G and 7H illustrate curves that are constructed for a particular QoS pro?le. FIG. 4 illustrates an exemplary process that may be per formed by the PE 24 to construct a time-value curve for a task. At step 42 a generic pro?le associated With the task is retrieved from the pro?le store 34. At step 44, the time-value curve is piece-Wise constructed using the base pro?le in con junction With task speci?c variables, constraints and resource information using techniques knoWn to those in the art. At step 46 the time-value curve is stored With the task. The TV augmented task is then forWarded to the EM 22. FIG. 5 illustrates exemplary components that may be included in an Execution Manager 22 that uses the time-value curves of the invention. The EM 22 Would generally include task queues 52 for storing active mission tasks. The task queues may be organiZed by mission resource. A resource controller 56 may include or otherWise have access to the Time-Value curves for the tasks, for example in a time-value queue associated With the task queue. At each mission resource allocation instance the resource controller examines the time-values of each active task associated With a resource at that instance, and selects one of the tasks based on the time-value curve.
  • 19. US 8,146,090 B2 5 FIG. 6 is a timing diagram illustrating illustrative time value curves for 3 tasksA (62), B (64) and C (66). The generic task pro?le for each of the curves is shown by below Equation I: P(T):Min(mT+b,MaxP) Equation I Where P is the priority, or quality of service, associated with the task at time T, m is derived based on the value of the task, the lifetime of the task and the execution time of the task and b is determined according to a value of the task. The ?at portion on each of the time-value curves in this embodiment represents the time needed to complete the task. Max (P) represents the highest priority to allocate to the task. Thus in FIG. 6 time value curve C is a lower value task, which takes a relatively short period of time to complete. Curve B has the highest initial priority task, with a shorter lifetime than curve C. Curve A has the second highest initial priority, but the shortest lifetime. Using strict priority alloca tion technique, task B will obtain access to the resource until time T1. At time T1, access begins to be granted to task A, with taskA reaching its maximum priority at time 2 to allow it to be at maximum priority for the time period associated with executing the task. The time-value curves may thus be used provide a temporal priority of the task which ensures that the task can complete in its lifetime. FIGS. 7A and 7B are pictorial representations of a mission work?ow, provided to illustrate the dynamic nature of work ?ow tasks; tasks are continually instantiated and terminated during the work?ow. For example, at time T4, a low priority task 68 is triggered. At time T7 a higher priority task is triggered. At any resource allocation period, the time value curves may be used to real-time, dynamic resource manage ment for a dynamic mission work?ow. FIGS. 8A and 8B will be used to describe an exemplary embodiment of the present invention for use in a particular mission. The mission of FIG. 8 is a surveillance mission which seeks to identify individuals within a de?ned radius. The mission comprises dependent tasks, with a ?rst set of tasks being associated with the detection and collection of information for each an individual that comes within a radius, a second set of tasks being associated with collecting high resolution information regarding individuals within the radius, a third set of tasks being associated with collecting increasingly images at very high resolution. Each of the tasks of in the mission use network bandwidth for the exchange of information associated with the target. The individuals are grouped into low value targets (initial priority 0); mid value targets (initial priority value 1) and high value targets (initial priority value 2). The targets are detected using mission resource sensors distributed within the radius. A detection of the target results in an attempt to collect information about the target to determine if the target is a target of interest. The collection of information may include the transmission of identi?cation information, such as a low resolution or high resolution image. The type of collection to be performed for each target is a task in the above described architecture. The task is assigned a time-value curve which provides a temporal priority to the collection of information for the particular target. The time value curves of FIG. 8B are associated with tasks to be performed on three targets. A ?rst task 72 is associated with a mid priority target which has been sensed in area DS3. There are only 3 minutes to collect information regarding the target before the target leaves the area. Thus the time-value curve is adapted for this target to ensure that data collection for this target can occur within the target tracking task life time. A second task 74 is associated with a target in area DSa. 20 25 30 35 40 45 50 55 60 65 6 The target has been identi?ed as a high value target, perhaps as a result of a low-resolution image mapping task. The target is exiting the area in 4 minutes. The slope and intercept of the time-value curve re?ect the perceived target value and detected target location, and ensures that adequate processing of the target may be completed before the target is lost. Time value curve 76 is associated with a task generated in response to target detection in area DS2b. There are 5 minutes until the target quits the area, and thus time-value curve 76 re?ects the lower quality of service level to be provided to the collection of information regarding this target. FIG. 9 is a data ?ow diagram intuitively illustrating the bene?ts of using the time-value curves of the present inven tion to provide real-time temporally prioritized resource allo cation in to mission tasks. As will be seen from the below description, the time-value curves effectively smooth and optimiZe resource allocation among the tasks. Optimizing the resource allocation improves the completion rate of mission tasks and increases the chances of mission success. Data series 80 illustrates a stream of resource requests that are received in a data stream. The performance of the mission depends upon being able to process each task in the data stream during its lifetime; if tasks are dropped or delayed, mission information is lost. In FIG. 9, each data slot repre sents a one minute interval, and assume that the Burst traf?c received in interval 1 includes high, medium and low priority tasks having respective lifetimes of three, four and ?ve min utes. Data ?ow 90 illustrates an exemplary result of resource allocation for a mission using Fixed QoS resource allocation methods. In a typical Fixed QoS resource allocation method, a ?xed bandwidth percentage is allocated to each task. During interval 1 of Data ?ow 90, Burst Traf?c for three tasks is received. The prior art resource allocator, receiving no infor mation from the ?eld regarding a temporal priority of the tasks, uses a Fixed QoS to allocate resources to the tasks. Each of the three tasks is provided one third of the bandwidth. At the end of interval 1 (or one minute into the task), each of the three pending tasks in group A is 1/3 complete. During interval 2, an additional task group B is received which includes two additional tasks. Assume group B includes a medium and high priority task with respective lifetimes of four and ?ve minutes. During interval 2 the resource allocator allocates the resource equally among the tasks in group A and group B, providing one ?fth of the bandwidth to each task. The Fixed QoS structure has no way to determine which task is temporally more important due to conditions in the ?eld. After two minutes, the tasks in group A are now just over half completed. During interval 3, an additional task is received, and each task in interval 3 is assigned one sixth of the band width. At the end of three minutes the high priority task of groupA is dropped. Using the example of FIG. 8A, this would equate with tasks initiated for individuals in DS3 failing to complete before the individual had left the radius. In contrast, when time value curves are applied to the QoS paradigm, resource allocation would proceed as is shown by data ?ow 95; FIG. 10 is a pictorial representation of the time-value curves per task for the data ?ow of FIG. 9. During interval 1, when burst task set A is received a resource allo cator of the present invention compares the time-value curves of each task to identify the task with temporal priority. As shown in FIG. 10, during interval 1 the high level task is given control of the resource. During interval 2, new tasks are added. However, during time interval 2 the time value curve of the mid-range task of task group A has temporal priority. Thus the mid-level task of group A is completed at two min utes. At interval 3, at least a portion of the mid-level task of
  • 20. US 8,146,090 B2 7 group B is allocated access to the resource. Thus it can be seen that integrating time value curves into the policy and quality of service enforcement decisions increases the completion rate of high value tasks. Time-value curves can also used to identify tasks that may not successfully complete in their lifetime. These tasks are hereinafter referred to as stalled tasks. Identifying stalled tasks allows them to be removed from resource allocation consideration, thereby reducing performance and providing a graceful degradation of performance in the face of conges tion. FIG. 11A illustrates how dynamic time-value curve analy sis may be used to identify stalled tasks. In FIG. 11A, task 126 is initiated at time. However, given the temporal priorities of the other tasks in the work?ow, it is unlikely that the low priority task 129 will be able to complete in its lifetime. In the present invention, the Execution Manager identi?es stalled ?ows and removes them from the task queue, thereby simpli fying the decision making process of the EM and reducing congestion. FIG. 11B is a pictorial representation of the time value curves that are under consideration following the abor tion of the stalled task. FIG. 12 is a ?ow diagram illustrating several exemplary steps that may be performed by an Execution Manager or other resource allocator, to drop task execution using time value curve information of the present invention. At steps 132 and 134 a time value curve is generated for each new task as described with regards to FIGS. 2-4. At step 136 it is deter mined whether the added task is going to result in the stalling of an existing task. If so, at step 138 the stalled task is removed from the task queue. FIG. 13 is a graph that is provided to illustrate the perfor mance of a TV QoS system versus that of a ?xed QoS as the offered load increases. As shown in FIG. 13, the number of missed targets increases linearly with the increase in load. In contrast, the TV QoS does not begin to drop targets until the average tra?ic approaches the offered load (as indicated by the dashed line X in FIG. 13). FIG. 14 is a graph that is provided to illustrate the graceful performance degradation that can be realiZed in a network which implements time-value curves of the present invention to abort stalled queues. As the siZe of the packet payload is reduced the frequency of resource accesses is increased. Once the offered load is less than the average tra?ic, resource congestion quickly ensues, and data stream are dropped. The present invention uses time-value curves to identify the most temporally relevant tasks even during congestion, thereby resulting in graceful network performance degradation in the face of congestion as shown in FIG. 13. Accordingly 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 work?ow 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. The allocation of any resource, including network bandwidth, storage, processing capability, etc., may bene?t from the teachings of the present invention. Having described various embodiments of the invention, it will be appreciated that many of the above ?gures are ?ow chart illustrations of methods, apparatus (systems) and com 20 25 30 35 40 45 50 55 60 65 8 puter program products according to an embodiment of the invention. It will be understood that each block of the ?ow chart illustrations, and combinations of blocks in the ?ow chart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable data process ing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions speci?ed in the ?owchart block or blocks. These computer program instructions may also be stored in a com puter-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufac ture including instruction means which implement the func tion speci?ed in the ?owchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer imple mented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions speci?ed in the ?owchart block or blocks. Those skilled in the art should readily appreciate that pro grams de?ning the functions of the present invention can be delivered to a computer in many forms; including, but not limited to: (a) information permanently stored on non-writ able storage media (eg read only memory devices within a computer such as ROM or CD-ROM disks readable by a computer I/O attachment); (b) information alterably stored on writable storage media (e. g. ?oppy disks and hard drives); or (c) information conveyed to a computer through communi cation media for example using baseband signaling or broad band signaling techniques, including carrier wave signaling techniques, such as over computer or telephone networks via a modem The above description and ?gures have included various process steps and components that are illustrative of opera tions that are performed by the present invention. These com ponents may be implemented in hardware, software or a combination thereof. However, although certain components and steps have been described, it is understood that the descriptions are representative only, other functional delinea tions or additional steps and components can be added by one of skill in the art, and thus the present invention should not be limited to the speci?c embodiments disclosed. In addition it is understood that the various representational elements may be implemented in hardware, software running on a computer, or a combination thereof. While the invention is described through the above exem plary embodiments, it will be understoodby those of ordinary skill in the art that modi?cation to and variation of the illus trated embodiments may be made without departing from the inventive concepts herein disclosed. Accordingly, the inven tion should not be viewed as limited except by the scope and spirit of the appended claims. The invention claimed is: 1. A method of allocating a resource to a plurality of resource consumers includes the steps of: generating, with a network device, a time-value curve de?ning a temporally dynamic priority of a resource consumer over a time period, wherein the priority is calculated as a function of time; and using the time-value curve to allocate access to the resource to the consumer over the time period.