SlideShare a Scribd company logo
USOO894.9846B2
(12) United States Patent (10) Patent No.: US 8,949,846 B2
Travostino et al. (45) Date of Patent: Feb. 3, 2015
(54) TIME-VALUE CURVES TO PROVIDE (56) References Cited
DYNAMIC QOS FOR TIME SENSITIVE FILE
TRANSFERS
(75) Inventors: Franco Travostino,Arlington, MA
(US); Tal Lavian, Sunnyvale, CA (US);
Bruce Schofield, Tyngsboro, MA (US);
Inder Monga, Acton, MA (US)
(73) Assignee: Rockstar Consortium US LP, Plano,
TX (US)
Ot1Ce: ubject to any d1Sclaimer, the term ofthis*) Not Subj y disclai h fthi
patent is extended or adjusted under 35
U.S.C. 154(b) by 293 days.
(21) Appl. No.: 13/423,774
(22) Filed: Mar 19, 2012
(65) Prior Publication Data
US 2012/O18OO59 A1 Jul. 12, 2012
Related U.S. Application Data
(63) Continuation ofapplication No. 1 1/469,404, filed on
Aug. 31, 2006, now Pat. No. 8,146,090.
(60) Provisional application No. 60/721,757, filed on Sep.
29, 2005.
(51) Int. Cl.
G06F 9/46 (2006.01)
G06F 5/73 (2006.01)
H04L 2/54 (2013.01)
H04L 2/80 (2013.01)
H04L 2/9II (2013.01)
(52) U.S. Cl.
CPC ............ H04L 12/5695 (2013.01); H04L 47/10
(2013.01); H04L 47/826 (2013.01)
USPC ........... 718/104; 718/105: 709/223; 709/224;
709/225; 709/226
(58) Field ofClassification Search
None
Seeapplication file forcomplete search history.
U.S. PATENT DOCUMENTS
5,402,423 A 3, 1995 Vankersen et al.
5,600,822 A 2f1997 Grice et al.
5.999,990 A * 12/1999 Sharrit et al. ..................... T10/8
6,446,123 B1 9,2002 Ballantine et al.
6,654,346 B1 11/2003 Mahalingaiah etal.
6,665,701 B1 12/2003 Combs et al.
6,993,762 B1* 1/2006 Pierre ........................... T18,102
7,093,250 B1 8,2006 Rector
7,369,912 B2 5/2008 Sherriffet al.
(Continued)
OTHER PUBLICATIONS
Camorlinga et al., “Modeling ofWorkflow-Engaged Networks on
Radiology Transfers Across a Metro Network”. IEEE Transactions
on Information Technology in Biomedicine, vol. 10(2), Apr. 2006,
pp. 275-281.
(Continued)
Primary Examiner—Adam Lee
(74) Attorney, Agent, or Firm — Christopher & Weisberg,
P.A.
(57) ABSTRACT
Amethodandapparatushasbeenshownanddescribedwhich
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 shouldbe noted,however,
thatalthough the present invention has shown and described
the use oftime-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 ofskill in the art
thattime-valuecurvesmaybeusedtooptimizethedeliveryof
any resource to any consumer by taking into account the
dynamic environment ofthe consumer and resource.
14 Claims, 14 Drawing Sheets
Time (T)
US 8,949.846 B2
Page 2
(56) References Cited
U.S. PATENT DOCUMENTS
7,373.410 B2 5, 2008 Monza et al.
7.461.376 B2 * 12/2008 Geye et al. .................... T18,100
7,499.457 B1 * 3/2009 Droux et al. ............... 370,395.7
7,765,028 B2 * 7/2010 Orita ............................. TOOf248
2002/0065907 A1* 5,2002 Cloonan et al. ............... 709,223
2002fOO82856 A1 6/2002 Gray et al.
2002/0143847 A1* 10,2002 Smith ........................... TO9,103
2003/0046324 A1
2003, OO61260 A1
2003/0101084 A1*
2004, OO64817 A1
2004/OO73643 A1
2004/0117791 A1
2005/OO71577 A1*
2005,0108072 A1*
2005/O12O104 A1*
2006,OO45096 A1*
2006/O195847 A1
2006/0277548 A1
2006, O294522 A1
2007/0022425 A1*
2008.0109343 A1*
OTHER PUBLICATIONS
3/2003 Suzuki et al.
3/2003 Rajkumar
5/2003 Otero Perez ...................... 70.5/8
4/2004 Shibayama et al.
4/2004 Hayes et al.
6, 2004 Prasadet al.
3/2005 Dias et al. ..................... T11 151
5/2005 Retsina ............................. 705/7
6, 2005 Boon et al. .. TO9,223
3/2006 Farmer et al. ............ 370,395.42
8/2006 Amano et al.
12/2006 Abe
12/2006 Havens
1/2007 Jackson ........................ T18, 104
5/2008 Robinson et al. ............... 705/37
Lavian et al., “A Platform for Large-Scale Grid Data Service on
Dynamic High-Performance Networks”, Nortel Networks Labs, et
al., pp. 1-10, 2004.
Lavian et al., “DWDM-RAM: A Data Intensive Gird ServiceArchi
tecture Enabled by Dynamic Optical Networks', 2004 IEEE Inter
national Symposium on Cluster Computing and the Grid, pp. 762
764.
Lavian et al., “An Extensible, Programmable, Commercial-Grade
Platform for Internet Service Architecture', IEEETransactions on
Systems, Man,andCybernetics—PartC: Applications and Reviews,
vol. 34(1), Feb. 2004, pp. 58-68.
Clarket al., “An Adaptive, Distributed Airborne Tracking System'.
MITRE Corporation, et al., pp. 1-10, 1999.
Hollingsworth, Workflow Management Coalition, The Workflow
Reference Model, Jan. 19, 1995, pp. 1-68.
The Workflow Management Coalition.k Workflow Management
CoalitionWorkflow Standard Workflow Process Definition, Oct. 25,
2002, Version 1.0, pp. 1-114.
Hayes et al., “Workflow Interoperability Standards forthe Internet”,
IEEE Internet Computing, May-Jun. 2000, pp. 37-45.
Hagen et al., “Exception Handlin in Workflow Management Sys
tems',IEEETransactionson Software Engineering,vol. 26(10),Oct.
2000, pp. 943-958.
Krishnan et al., “GSFL: A Workflow Framework for Grid Services,
Mathematics and Computer Science Division'. Argonne National
Laboratory, Argonne, IL et al., pp. 1-13, 2002.
Cao etal.,“GridFlow:Workflow Management forGridComputing”.
Proceedings of the 3rd IEEE/ACM International Symposium on
Cluster Computing and the Grid, 2003, pp. 1-8.
Deelman et al., “Mapping Abstract Complex Workflows onto Grid
Environments.” Journal ofGrid Computing, 2003, pp. 25-39.
Simeonidouetal.,“Optical NetworkInfrastructure forGrid.” Global
Grid Forum 2002, pp. 1-55.
Pan et al., “Time in OWL-S.” University of Southern California
Information Sciences Institute, pp. 1-8, 2005.
Verma et al., “The METEOR-S Approach for Configuring and
Executing Dynamic Web Processes.” pp. 1-12, 2005.
Von Laszewski et al., “GridAnt: A Client-Controllable Grid
Workflow Systems.” Argonne National Laboratory Preprint ANL/
MCS-P1098-1003, Jan. 2004, pp. 1-10.
Arnaud et al., “Customer Controlled and Managed Optical Net
works.” Jan. 15, 2003, pp. 1-11.
Mambrettietal. “The Photonic TeraStream: Enabling NextGenera
tion Applications through Intelligent Optical Networking at
iGRID2002.” Elsevier Science B.V., 2003, pp. 897-908.
* cited by examiner
U.S. Patent Feb. 3, 2015 Sheet 1 of 14 US 8,949,846 B2
CommandCenter
GoaltoService Discovery
Translation in Engineand 13
O MissionResource Scheduler
DirectoryConstraint
Analyzer
Tender
F.C. Execution Newkirts Federation880 Manager KHManager(NSM)
Enging2, 26
Software
Controlled
Execution -Policy .Network sManager(NSMManager(E Engine )
g FM 124 126
Network Resource
AndMonitor,
Topology 7
Discovery
ResourceManager
(NRM) 28 Software
Controlled
NetworkResource
AndMonitor,
Topology 12
Discovery
ResourceManager
(NRM) 128
lirtualization129
Execution
Federation
U.S. Patent Feb. 3, 2015 Sheet 2 of 14 US 8,949,846 B2
Workflow
Workflow Constraints
(FromEM (FromCA I5)
24
PolicyEngine
Resource Workflow 31
Feedback Parser
(FromNRM28, Je.NSM26) Actor Task Taskconstraints
Generic
Task Time-ValueCurve
Profiles GenerationLogic32
34
TVAugmentedWorkflow
(ToEM22)
Figure2
US 8,949,846 B2U.S. Patent
U.S. Patent Feb. 3, 2015 Sheet 4 of14 US 8,949,846 B2
SelectGeneric
Task Profile
Calculatetime-valueCurveusingtaskSpecificvariables
andconstraintswithSelectedgenerictaskprofile
46 Storetime-valuecurve withtask
Figure4
US 8,949,846 B2
S9.InáH
U.S. Patent
U.S. Patent Feb. 3, 2015 Sheet 6 of14 US 8,949,846 B2
i
(d) All-IOLld
U.S. Patent Feb. 3, 2015 Sheet 7 of 14 US 8,949,846 B2
Hly
1. feN H CD
CD r s
H Ps
CD er . H
er
H
CN
H
s
Hly
US 8,949,846 B2Sheet 8 of 14Feb. 3, 2015U.S. Patent
V8ºunãIA
JLS
U.S. Patent Feb. 3, 2015 Sheet 9 of 14 US 8,949,846 B2
8O
N BurstTraffic
Infinite 8
8
N
R
00S
90
MissedTargets A/3 A/31-B3 B3+C3 B3+C3 C3
Using
TimeWalue 3.
a DDDDDDDDDDDDDDDDDQs A-X 'A-X' A-s: A- cliX -3X
Figure9
U.S. Patent Feb. 3, 2015 Sheet 10 of 14 US 8,949,846 B2
so
HN ly
H
... r
Q :
i............... en.. er
N. : "... >
''.
so too soor so roe
**. ".
s ly er w ep
m
e
>
d
ro
Hly
H
r
w
on
d
ro
O
w
CD
Ps
CDop
US 8,949,846 B2Sheet 11 of 14Feb. 3, 2015U.S. Patent
8IIIºInãIAVIIounãII
|
:|E
"-----------+•^8ZI*á....….„º
US 8,949,846 B2Sheet 12 of 14Feb. 3, 2015U.S. Patent
ON
©
U.S. Patent Feb. 3, 2015 Sheet 13 of 14 US 8,949,846 B2
Ow
90
8O
7C
6O S
S --TVCurve
8-FivedQoS
4.50
3O
2O
75OO 725O 7OOO 6750 65OO 6250 6OOO 5750 5500 5250 5OOO 475O 45004250 4OOO 3750 3500 325O 3OOO
OfferedLoad(Kbls)
Figure13
U.S. Patent Feb. 3, 2015 Sheet 14 of14 US 8,949,846 B2
2
o 2
O
a D.
+
i
ed
Suee.IS eleC pessA
US 8,949,846 B2
1.
TIME-VALUE CURVES TO PROVIDE
DYNAMIC QOS FOR TIME SENSITIVE FILE
TRANSFERS
RELATED APPLICATIONS
This isa continuation patentapplication which claimspri
ority to U.S. patent application Ser. No. 1 1/469,404, filed
Aug. 31, 2006, entitled “TIME-VALUE CURVES TO PRO
VIDE DYNAMIC QoS FOR TIME SENSITIVE FILE
TRANSFERS', which claims priority to U.S. Provisional
Patent Application No. 60/721,757 filed Sep. 29, 2005, the
entirety ofboth of which are incorporated herein by refer
CCC.
STATEMENT REGARDING FEDERALLY
SPONSORED RESEARCH ORDEVELOPMENT
TheU.S.Governmenthasapaid-uplicenseintheinvention
and the right in limited circumstances to require the patent
owner to license others on reasonable terms as provided for
by the terms of contact No. HR0011-05-0120 awarded by
DARPAfCMO.
FIELD OF THE INVENTION
This invention relates generally to resource management
and moreparticularly to a methodandapparatus forgenerat
ing and using time-value curves for resource management.
BACKGROUND OF THE INVENTION
Theeffectiveness ofany mission isheavily reliantupon the
ability of an underlying infrastructure to respond to the
dynamic requirements ofthe mission. Typically missions are
layereduponanexisting resource infrastructure Such thatthe
missionbecomes merelyasetoftasksthatisSupportedby the
infrastructure. Layering a mission upon an existing infra
structure typically mis-utilizes key resources and increases
the difficulty in detecting performance degradation orpartial
failures that adversely affectthe mission. Allocating specific
resources to a mission is technically challenging and error
prone. It wouldbedesirable to identifyamissionarchitecture
which would overcome the problems ofthe 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 ofgenerating a time-value curve defining a
temporally dynamic priority ofa resource consumer over a
time period and using the time-value curve to allocate the
resourcetotheconsumeroverthetimeperiod. Inoneembodi
ment, the resource is communication bandwidth, and the
resource consumers include one or more tasks in a mission
workflow. Such an arrangementpermits the scheduling, pre
empting and trade-offof bandwidth between different mis
sion tasks to optimize deployment ofmission tasks and con
comitantly optimize mission performance.
According to anotheraspect ofthe invention, a method of
allocating a resource to a plurality of resource consumers
includes the steps ofgenerating a time value curve for each
oneofa pluralityoftasks in a workflow, thetime-valuecurve
defining a temporally dynamic quality ofservice to be pro
vided to the task.
According to a further aspect of the invention, a policy
engine comprises generic task profile information and time
10
15
25
30
35
40
45
50
55
60
65
2
valuecurvegeneration logic operably coupledto receivetask
specific information and to calculate a time-value curve for
thetaskusingthegenerictaskprofileinformationandthetask
specific information.
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 ofa
plurality of enqueued tasks associated with the resource, a
timevaluecurvedefiningatemporal prioritytoprovidetothe
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.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 isablockdiagramofamissionarchitectureinwhich
the present invention may be implemented;
FIG. 2 is a block diagram illustrating several components
thatmaybeincludedinapolicyenginetogeneratetime-value
curves ofthe 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 ofthe present invention;
FIG. 4 is a flow diagram illustrating exemplary steps that
may be performedby thepolicy engine ofFIG. 2 to generate
time-value curves for one or more tasks in a workflow;
FIG. 5 is a diagram ofan exemplary network or service
resource managerwhich may usethetime valuecurves ofthe
present invention to control allocation ofresources to work
flow tasks:
FIG. 6 is a timing diagram illustrating several exemplary
time-value curves that may be assigned to tasks in a work
flow:
FIGS. 7Aand7Baretimingdiagramsprovidedtoillustrate
the addition of time value curves as tasks are added to a
workflow;
FIGS. 8A and 8B are used to describe an embodiment of
the present invention Supporting a Surveillance workflow:
FIG. 9 is a processing timing diagram which pictorially
illustrates the bandwidth smoothing capabilities of time
value QoS servicing ofa workflow:
FIG. 10 is a pictorial representation oftaskselection using
time-value curves in the example ofFIG.9;
FIGS. 11A and 11B are timing diagrams used to illustrate
a stalled task drop capability ofthe present invention;
FIG. 12 is a flow 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 performanceofTV 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 Workflow
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
tratestheuseofmissionresourcesbya missionby identifying
missiontasksandallocating missionresources to the mission
US 8,949,846 B2
3
tasks. Although the MRM maybe describedbelow as includ
ingcertaincomponents, itshouldbeunderstoodthatanMRM
is not a required to implement the present invention. For
example,a set ofMission Goals statements maybe input into
the Policy Engine to help form theTime-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 maybe a
semantic tool which mapsahighlevelgoaldefinition,suchas
a natural language definition, into real-language mission
goals into policy statements. Oneexemplary method forper
forming Goal to Service translation is described in Ser. No.
1 1/469,416, entitled MissionGoal Statement to Policy State
ment Translation, by Travostino et al, filed Aug. 31, 2006,
incorporated herein by reference.
Policy statements are translated into workflows 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. 1 1/469,
422 for Workflow Locked Loops to Enable Adaptive Net
works, by Travostino et al., filed Aug. 31, 2006.
Forexampleinoneembodiment thedirectory 16 identifies
networkresources and services that may be allocatedto mis
sions. The DES 13 identifies resources and services that are
available for use as an infrastructure ofthe mission. The CA
15 evaluates the infrastructure identified by the DES 13 in
view ofmission constraints. The CA15 and DES 13 work in
concert with the goal translatorto identify the mission infra
structure. An Engine uses the infrastructure and mission
information to generate mission workflows, which are for
warded to the SCN14.
The SCN14 generally controls the execution ofthe mis
sionandthe useofthe mission resources duringexecution of
the mission. The SCN 14 includes an Execution Manager
(EM)22, a Policy Engine (PE) 24, a NetworkServices Man
ager (26), a Network Resource Manager (NRM) 28 and a
Network Resource and Topology Discovery resource 27.
Together these components orchestrate the execution ofthe
mission workflow using the identified mission resources.
Forthepurposeofthisapplication a mission workflow is a
collection of tasks that are performed by a collection of
actors, whereinan actormaybeany entity thatusesa mission
dedicated resource. A mission dedicated resource is any
resource that is at leastpartially dedicated to a mission.
Mission tasksaredynamic,andthereforeduringthecourse
ofthe 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 oneaspect
oftheinvention, eachtaskhasan associatedtime-value curve
indicating a temporal priority ofthe task over the task life
time. The time-value curves are used during resource alloca
tiontointelligentlyallocateresourcesto tasks to optimizethe
performanceofthe mission. Each pointin atime-valuecurve
identifies a priority ofQoS to be associated with the task for
thepoint in time. This allows QoS to be adjusted in real time
basedon conditions in the field, thereby addingthe degreeof
temporal granularity to the QoS structure. Controlling tem
poral granularity ofQoS helps resolve the conflicts ofcon
gestion and while Supplying all the resources to the mission
within the mission time-frame, withouthavingto expand the
size ofthe network.
In oneembodiment thePE24generatesa time-valuecurve
foreach mission task. The time value curves are forwarded to
the EM22. At resourceallocation intervals the EM references
5
10
15
25
30
35
40
45
50
55
60
65
4
the relative values ofthe time-value curve ofeach tasks that
areactiveatthattime instanceto retrieveatime-valueforeach
task, wherein an activetaskis any taskthathasbeen initiated
and not terminated. Using any one ofa variety ofselection
methods, such as highest value, highest weighted value, etc.,
thetime valuesarecomparedto select oneoftheactivetasks.
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 workflow parser 31, a generic task
profile store 34, and time-value (TV) curve generation logic
32. The workflow parser receives workflow tasks from the
ExecutionMachine(EM).Thetaskmayhavebeen initiatedin
response to a mission trigger; for example, in a Surveillance
mission,amissiontriggermaybethecapturingofanimageat
a sensor point in a Surveillance area. The tasks may be trig
gered by partial or thorough completion of another task.
Howeverthe task is triggered,it is forwardedto theworkflow
parser31 whichextracts task information thatmay beusedto
buildthetime-valuecurve.Anyobtainableinformation which
mayaffectapriorityorquality ofservicetoprovidetothetask
may be provided to the time-value curve generation logic,
including, forexample, information regardingan actor ofthe
task, a location ofthe task, a security level ofthe task, con
straints ofthetasks, dependencies ofthetask, powerrequire
mentsofthetask,executiontimeforthetask,etc. Information
regarding services and network elements that are associated
with the task may also be used when calculating the time
valuecurve. Thepresent inventionis in no way limited to the
use ofany particular task information in generating a time
value curve forpriority scheduling ofthe task.
The generic task profile store 34 may be used to store
pre-determinedtaskprofiles.Thepredetermined taskprofiles
are tailored to the resource requirements of various pre-de
fined tasks. For example, a Surveillance task that performs
high resolution imagecapture wouldhaveatime-valuecurve
thattemporally aligns the resourcepriority with the resource
usage characteristics ofthe task. The resource requirements
ofa task maybeselectedfrom a setofpre-definedprofiles, or
obtained by monitoring and profiling resource usage in
advance to generate a time-value profile for the task. FIGS.
3A-3Hillustrates several representative time valuecurvepro
files. A time value-curveprofile such as thatofFIGS. 3A and
3B may be applied to a specific task identified as having a
relatively flat QoS. Profiles 3C and3D may be used to apply
alinearQoStoatask. Impulseprofiles3Eand3F maybeused
to providehigh priority to a taskfor a short time. Time value
curves of7G and 7H illustrate curves that are constructed for
a particular QoS profile.
FIG. 4 illustrates an exemplary process that may be per
formedbythePE24 toconstructatime-valuecurveforatask.
At step 42 a generic profile associated with the task is
retrieved from theprofile store34.At step 44, the time-value
curveispiece-wiseconstructed usingthebaseprofile in con
junctionwith taskspecific variables, constraintsandresource
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 inan ExecutionManager22thatusesthetime-value
curves ofthe invention. The EM22 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 instancethe resource controllerexamines
US 8,949,846 B2
5
thetime-values ofeach activetask associated with a resource
at that instance, and selects one of the tasks based on the
time-value curve.
FIG. 6 is a timing diagram illustrating illustrative time
valuecurves for3 tasksA(62), B(64)andC(66).Thegeneric 5
taskprofileforeach ofthecurves is shownbybelow Equation
I:
P(T)=Min(mT+b,MaxP) Equation I:
Where P is the priority, or quality of service, associated 10
with the taskattimeT, m is derived based on the valueofthe
task, thelifetimeofthetaskand theexecutiontimeofthetask
and b is determined according to a value ofthe task. The flat
portion on each ofthe time-value curves in this embodiment
represents the time needed to complete the task. Max (P) 15
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 accessto 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
usedprovideatemporalpriorityofthetaskwhichensuresthat
the task can complete in its lifetime.
FIGS. 7A and 7B arepictorial representationsofa mission
workflow, provided to illustrate the dynamic nature ofwork
flow tasks; tasks are continually instantiated and terminated
duringthe workflow. Forexample, attime 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 workflow.
FIGS. 8A and 8B will be used to describe an exemplary
embodiment ofthe present invention for use in a particular
mission. The mission of FIG. 8 is a surveillance mission
which seeks to identify individuals within a defined radius.
The mission comprises dependent tasks, with a first set of
tasks being associated with the detection and collection of
informationforeachanindividualthatcomeswithina radius,
a second set oftasks being associated with collecting high
resolution information regarding individuals within the 45
radius, a third set oftasks being associated with collecting
increasingly imagesatvery high resolution. Each ofthetasks
ofin the mission use networkbandwidth forthe exchange of
information associated with the target. The individuals are
grouped into low value targets (initial priority 0); mid value 50
targets (initial priority value 1) andhigh value targets (initial
priority value 2). The targets are detected using mission
resource sensors distributed within the radius. A detection of
thetargetresults inanattempttocollectinformationaboutthe
target to determine if the target is a target of interest. The 55
collection of information may include the transmission of
identification information, Such as a low resolution or high
resolution image. The type ofcollection to be performed for
each target is a task in the above described architecture. The
taskisassignedatime-valuecurvewhichprovidesatemporal
priority to the collection of information for the particular
target.
The time value curves ofFIG.8B areassociated with tasks
to be performed on three targets. A first task72 is associated
with a mid priority target which has been sensed in area DS3.
Thereareonly 3 minutesto collect information regarding the
target before the target leaves the area. Thus the time-value
25
30
35
40
60
65
6
curve is adapted forthis target to ensure that data collection
for this target can occur within the target tracking task life
time. Asecondtask74isassociatedwithatargetinarea DSa.
Thetargethas been identified as a high value target, perhaps
asaresultofalow-resolution imagemappingtask. Thetarget
is exitingtheareain 4 minutes. The slopeand intercept ofthe
time-value curve reflect the perceived target value and
detectedtargetlocation,andensuresthatadequateprocessing
ofthe target may be completed before the targetis lost. Time
valuecurve 76 isassociatedwith ataskgenerated in response
to targetdetectioninarea DS2b.Thereare5 minutes untilthe
target quits thearea, and thus time-valuecurve 76 reflects the
lower quality ofservice level to beprovided to the collection
ofinformation regarding this target.
FIG. 9 is a data flow diagram intuitively illustrating the
benefits ofusing the time-value curves ofthe present inven
tion toprovidereal-timetemporally prioritized resourceallo
cation in to mission tasks. As will be seen from the below
description, the time-value curves effectively smooth and
optimizeresource allocation amongthetasks. Optimizingthe
resource allocation improves the completion rate ofmission
tasks and increases the chances ofmission Success.
Data series 80 illustrates a stream ofresource requests that
arereceivedin a data stream.Theperformance ofthe 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 traffic
received in interval 1 includes high, medium andlow priority
tasks having respective lifetimes ofthree, fourand five min
utes.
Data flow 90 illustrates an exemplary result of resource
allocation fora mission using Fixed QoS resourceallocation
methods. In a typical Fixed QoS resource allocation method,
afixedbandwidthpercentageisallocatedtoeachtask. During
interval 1 of Data flow 90, Burst Traffic for three tasks is
received. Thepriorart resource allocator, receiving no infor
mation from the field regarding a temporal priority of the
tasks, uses a Fixed QoS to allocate resources to the tasks.
Each ofthethreetasksisprovidedone thirdofthebandwidth.
At the end ofinterval 1 (orone minute into the task), each of
the three pending tasks in group A is /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 five minutes . . . . During interval 2 the resource
allocator allocates the resource equally among the tasks in
groupA andgroup B, providingone fifth ofthe bandwidth to
each task. The Fixed QoS structure has no way to determine
which taskis temporally moreimportantdueto conditions in
the field. Aftertwo minutes, thetasks ingroupA are nowjust
over halfcompleted. During interval 3, an additional task is
received, and each task in interval 3 is assigned one sixth of
the bandwidth. At the end ofthree minutes the high priority
task ofgroup A is dropped. Using the example ofFIG. 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 areapplied to the QoS
paradigm, resourceallocation would proceed as is shown by
data flow 95: FIG. 10 is a pictorial representation of the
time-valuecurves pertaskforthe data flow ofFIG.9. During
interval 1, when burst task set A is received a resource allo
catorofthepresent invention comparesthetime-valuecurves
of each task to identify the task with temporal priority. As
shownin FIG.10,duringinterval 1 thehighlevel taskisgiven
control of the resource. During interval 2, new tasks are
added. However, during time interval 2 the time value curve
US 8,949,846 B2
7
ofthe mid-range task oftaskgroup A has temporal priority.
Thus the mid-level taskofgroup A is completed at two min
utes. At interval 3, at least a portion ofthe mid-level task of
groupB isallocatedaccesstotheresource.Thusitcanbeseen
that integrating time value curves into the policy and quality
of service enforcement decisions increases the completion
rate ofhigh 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,therebyreducingperformanceandprovidinga
graceful degradation ofperformance in the face ofconges
tion.
FIG. 11A illustrates how dynamic time-value curveanaly
sis maybeusedtoidentifystalledtasks. InFIG.11A, task126
is initiated at time. However, given the temporal priorities of
the other tasks in the workflow, it is unlikely that the low
prioritytask129 willbeable tocomplete initslifetime. In the
present invention, the Execution Manager identifies stalled
flows andremoves them fromthetaskqueue,thereby simpli
fying the decision making process ofthe EM and reducing
congestion. FIG. 11B isa pictorial representationofthetime
valuecurves thatare underconsideration following theabor
tion ofthe stalled task.
FIG. 12 is a flow diagram illustrating several exemplary
steps that may be performed by an Execution Manager or
other resource allocator, to drop task execution using time
valuecurveinformation ofthepresentinvention.Atsteps 132
and 134 a time value curve is generated foreach new taskas
described with regards to FIGS. 2-4. At step 136 it is deter
minedwhethertheaddedtaskisgoingto result inthestalling
ofanexistingtask. Ifso,atstep 138thestalledtaskis removed
from the task queue.
FIG. 13 is a graph thatis provided to illustrate the perfor
mance ofa TV QoS system versus that ofa fixed 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 traffic approaches the offered load (as indicated by
the dashed line X in FIG. 13).
FIG. 14 is agraph that is providedto illustrate the graceful
performance degradation that can be realized in a network
which implements time-valuecurvesofthepresent invention
to abort stalled queues. As the size ofthe packet payload is
reducedthefrequencyofresourceaccessesisincreased.Once
the offered load is less than the average traffic, resource
congestion quickly ensues, anddata stream are dropped. The
presentinvention uses time-value curves to identify the most
temporally relevant tasks even during congestion, thereby
resulting ingraceful networkperformancedegradation in the
face ofcongestion as shown in FIG. 13.
Accordingly a method and apparatus has been shown and
describedwhichallows Quality ofService to be controlledat
atemporalgranularity.Time-valuecurves,generatedforeach
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 oftime-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 theart that time-valuecurves may be usedtooptimize
the delivery ofany resource to any consumer by taking into
account the dynamic environment of the consumer and
resource. The allocation ofany resource, including network
bandwidth, storage, processing capability, etc., may benefit
from the teachings ofthe present invention.
10
15
25
30
35
40
45
50
55
60
65
8
Havingdescribed various embodimentsoftheinvention, it
will be appreciated that many ofthe above figures are flow
chart illustrations ofmethods, apparatus (systems) and com
puter program products according to an embodiment ofthe
invention. It will be understood that each block ofthe flow
chart illustrations, and combinations ofblocks in the flow
chart illustrations, canbeimplementedby computerprogram
instructions. These computer program instructions may be
loadedonto a computer orotherprogrammable data process
ingapparatustoproduceamachine,suchthattheinstructions
which execute on the computer or other programmable data
processing apparatus create means for implementing the
functions specified in the flowchart block or blocks. These
computerprogram 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 specified in the flowchartblockorblocks. The computer
program instructions may also be loaded onto a computer or
other programmable data processing apparatus to cause a
seriesofoperational stepstobeperformedonthecomputeror
otherprogrammableapparatus to producea computerimple
mented process such that the instructions which execute on
the computerorotherprogrammableapparatus providesteps
for implementing the functions specified in the flowchart
block or blocks.
Those skilled in the art should readily appreciate that pro
grams defining the functions ofthe 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 (e.g. read only memory devices within a
computer such as ROM or CD-ROM disks readable by a
computerI/Oattachment); (b)informationalterablystoredon
Writable storage media(e.g. floppy disks andhard drives); or
(c) information conveyed to a computer through communi
cation mediaforexample usingbasebandsignaling orbroad
band signaling techniques, including carrier wave signaling
techniques, such as overcomputerortelephone networks via
a modem
The above description and figures have included various
process steps and components that are illustrative ofopera
tions thatareperformedbythepresentinvention. Thesecom
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
descriptionsarerepresentativeonly,otherfunctional delinea
tionsoradditional stepsandcomponentscanbeaddedbyone
ofskill in the art, andthus thepresentinvention should notbe
limitedto thespecificembodimentsdisclosed. Inaddition itis
understoodthatthe various representationalelements maybe
implementedinhardware,softwarerunningonacomputer,or
a combination thereof.
While the invention is described through the above exem
plaryembodiments,itwillbe understoodbythoseofordinary
skill in the art that modification to and variation ofthe illus
trated embodiments maybe madewithoutdeparting from the
inventive concepts herein disclosed. Accordingly, the inven
tion should notbe viewed as limitedexceptby the scopeand
spirit ofthe appended claims.
The invention claimed is:
1. A method of allocating at least one network resource
among aplurality oftasks,at leastonetaskoftheplurality of
tasks having a respective priority that varies continuously as
a function oftime, the method comprising:
US 8,949,846 B2
over each ofa plurality oftime intervals, allocating the at
least one network resource based on relative values of
therespectiveprioritiesovereachofthepluralityoftime
intervals, the at least one task ofthe plurality oftasks
having a respective priority that increases from a non
Zero lowest valueat a beginningofa finite time interval
forwhich the at least one task is executing to ahighest
value before the end of the finite time interval and
remains at the highest value until the end ofthe finite
time interval.
2. The method ofclaim 1, wherein allocating the at least
onenetworkresource basedonrelativevalues oftherespec
tive priorities over each of the plurality of time intervals
comprises allocating the at least one network resource over
each respectivetime interval ofthepluralityoftimeintervals
havingahighestpriority valueoverthatrespectivetimeinter
val.
3. The method ofclaim 1, wherein allocating the at least
onenetworkresource based onrelativevalues oftherespec
tive priorities over the plurality oftime intervals comprises
allocatingtheatleastonenetworkresourceovereach respec
tive time interval of the plurality of time intervals to the
plurality oftasks in proportion to their respective priorities
over that respective time interval.
4. The method ofclaim 1, wherein the finite time interval
extends from a start time to an end time.
5.Themethodofclaim 1, furthercomprising:receivingvia
a user interface information pertaining to the plurality of
tasks; and deriving a priority value as a function oftime for
each taskofthe plurality oftasks from the received informa
tion pertaining to the plurality oftasks.
6.Themethodofclaim5,whereinderivingapriorityvalue
as a function oftime for each task comprises modifying a
generic priority function foreach task based on the received
information pertaining to the plurality oftasks.
7.Themethodofclaim 1, furthercomprisingdynamically
adjusting the respective priority function oftime for at least
one task in response to network conditions.
8. A system for allocating at least one network resource
among a plurality of tasks, each task having a respective
priority that varies continuously as a function of time, the
System comprising:
at least one processor; and
at least one memory configured to store instructions for
execution by the at least one processor, the instructions
comprising instructions that, when executed:
10
15
25
30
35
40
10
allocate, over each ofa plurality of time intervals, the at
least one network resource based on relative values of
therespectiveprioritiesovereachofthepluralityoftime
intervals,atleastonetaskofthepluralityoftaskshaving
a respectivepriority that increases from a non-zero low
est valueata beginningofafinitetimeinterval forwhich
theatleastonetaskisexecutingtoahighestvaluebefore
the end of the finite time interval and remains at the
highest value until the end ofthe finite time interval.
9. The system of claim 8, wherein the instructions that,
when executed, allocate the at least one network resource
basedon relative values oftherespectivepriorities overeach
ofthe plurality oftime intervals comprise:
instructions, that when executed, allocate the at least one
network resource over each respective time interval of
the plurality oftime intervals having a highest priority
value over that respective time interval.
10. The system ofclaim 8, wherein the instructions that,
when executed, allocate the at least one network resource
based on relative values ofthe respective priorities over the
plurality oftime intervals comprise:
instructions that, when executed, allocate the at least one
network resource over each respective time interval of
theplurality oftime intervals to thepluralityoftasks in
proportiontotheirrespectivepriorities overthatrespec
tive time interval.
11. The system ofclaim 8, wherein the finite timeinterval
extends from a start time to an end time.
12.Thesystem ofclaim 8, wherein theinstructions further
comprise instructions that, when executed:
receive via a user interface information pertaining to the
plurality oftasks; and
deriveapriority valueasa function oftime foreach taskof
thepluralityoftasks from thereceivedinformation per
taining to the plurality oftasks.
13. The system ofclaim 12, wherein the instructions that,
when executed, derive a priority value as a function oftime
foreachtaskincludeinstructionsthat,whenexecuted,modify
agenericpriority function foreachtaskbasedonthereceived
information pertaining to the plurality oftasks.
14.Thesystem ofclaim 8, wherein theinstructions further
comprise instructions that, when executed, dynamically
adjustthe respective priority function oftime forat least one
task in response to network conditions.

More Related Content

PDF
Time-value curves to provide dynamic QoS for time sensitive file transfer
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
Method and apparatus for scheduling resources on a switched underlay network
PDF
Content-aware dynamic network resource allocation
PDF
Method and apparatus for preconditioning data to be transferred on a switched...
PDF
Grid proxy architecture for network resources
PDF
Distributed computation in network devices
Time-value curves to provide dynamic QoS for time sensitive file transfer
Time-value curves to provide dynamic QoS for time sensitive file transfers
Time-value curves to provide dynamic QoS for time sensitive file transfers
Method and apparatus for scheduling resources on a switched underlay network
Content-aware dynamic network resource allocation
Method and apparatus for preconditioning data to be transferred on a switched...
Grid proxy architecture for network resources
Distributed computation in network devices

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

PDF
Grid proxy architecture for network resources
PDF
IRJET - Millisecond Rotation Pulsars as Next Generation Grid Timing Sources
PDF
Vivek Santhana Patent US7388946
PDF
79 roger n. anderson - 6826483 - petroleum reservoir simulation and charact...
PDF
Grid proxy architecture for network resources
PDF
Method and apparatus for automated negotiation for resources on a switched un...
PDF
Photonic line sharing for high-speed routers
PPT
Emerson Exchange 3D plots Process Analysis
PDF
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
PPTX
Balaji_CLIMA_Slide Deck
PDF
Timing Challenges in the Smart Grid
PDF
Jon White: 2013 Sandia National Laboratoies Wind Plant Reliability Workshop
PDF
FlinkDTW: Time-series Pattern Search at Scale Using Dynamic Time Warping - Ch...
PDF
Tudor Dragea ICONE 23 Final Paper
PDF
Content-aware dynamic network resource allocation
PDF
Performance analysis of aodv with the constraints of varying terrain area and...
PDF
Performance analysis of aodv with the constraints of
PDF
Method and apparatus for intelligent management of a network element
PDF
HW3_Introduction_Mik
PDF
Bulk transfer scheduling and path reservations in research networks
Grid proxy architecture for network resources
IRJET - Millisecond Rotation Pulsars as Next Generation Grid Timing Sources
Vivek Santhana Patent US7388946
79 roger n. anderson - 6826483 - petroleum reservoir simulation and charact...
Grid proxy architecture for network resources
Method and apparatus for automated negotiation for resources on a switched un...
Photonic line sharing for high-speed routers
Emerson Exchange 3D plots Process Analysis
USPTO patent application 13,573,002 The Heart Beacon Cycle Time Space Meter, ...
Balaji_CLIMA_Slide Deck
Timing Challenges in the Smart Grid
Jon White: 2013 Sandia National Laboratoies Wind Plant Reliability Workshop
FlinkDTW: Time-series Pattern Search at Scale Using Dynamic Time Warping - Ch...
Tudor Dragea ICONE 23 Final Paper
Content-aware dynamic network resource allocation
Performance analysis of aodv with the constraints of varying terrain area and...
Performance analysis of aodv with the constraints of
Method and apparatus for intelligent management of a network element
HW3_Introduction_Mik
Bulk transfer scheduling and path reservations in research networks
Ad

More from Tal Lavian Ph.D. (20)

PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
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
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
PDF
Systens and Methods For Electronic Communication
PDF
Systems and Methods for Visual Presentation and Selection of IVR Menu
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Systems and methods to support sharing and exchanging in a network
Systems and methods for visual presentation and selection of IVR menu
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
Systens and Methods For Electronic Communication
Systems and Methods for Visual Presentation and Selection of IVR Menu
Ad

Recently uploaded (20)

PDF
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
PPTX
INFERTILITY (FEMALE FACTORS).pptxgvcghhfcg
PPTX
sdn_based_controller_for_mobile_network_traffic_management1.pptx
PPTX
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
PPTX
Computers and mobile device: Evaluating options for home and work
PPTX
Fundamentals of Computer.pptx Computer BSC
PPTX
making presentation that do no stick.pptx
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
title _yeOPC_Poisoning_Presentation.pptx
PPTX
Prograce_Present.....ggation_Simple.pptx
PPTX
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
PPTX
quadraticequations-111211090004-phpapp02.pptx
PPTX
02fdgfhfhfhghghhhhhhhhhhhhhhhhhhhhh.pptx
PPTX
Lecture-3-Computer-programming for BS InfoTech
PDF
-DIGITAL-INDIA.pdf one of the most prominent
PPTX
material for studying about lift elevators escalation
PDF
Cableado de Controladores Logicos Programables
PPTX
Embedded for Artificial Intelligence 1.pptx
PDF
Smarter Security: How Door Access Control Works with Alarms & CCTV
DOCX
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
INFERTILITY (FEMALE FACTORS).pptxgvcghhfcg
sdn_based_controller_for_mobile_network_traffic_management1.pptx
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
Computers and mobile device: Evaluating options for home and work
Fundamentals of Computer.pptx Computer BSC
making presentation that do no stick.pptx
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
title _yeOPC_Poisoning_Presentation.pptx
Prograce_Present.....ggation_Simple.pptx
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
quadraticequations-111211090004-phpapp02.pptx
02fdgfhfhfhghghhhhhhhhhhhhhhhhhhhhh.pptx
Lecture-3-Computer-programming for BS InfoTech
-DIGITAL-INDIA.pdf one of the most prominent
material for studying about lift elevators escalation
Cableado de Controladores Logicos Programables
Embedded for Artificial Intelligence 1.pptx
Smarter Security: How Door Access Control Works with Alarms & CCTV
fsdffdghjjgfxfdghjvhjvgfdfcbchghgghgcbjghf

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

  • 1. USOO894.9846B2 (12) United States Patent (10) Patent No.: US 8,949,846 B2 Travostino et al. (45) Date of Patent: Feb. 3, 2015 (54) TIME-VALUE CURVES TO PROVIDE (56) References Cited DYNAMIC QOS FOR TIME SENSITIVE FILE TRANSFERS (75) Inventors: Franco Travostino,Arlington, MA (US); Tal Lavian, Sunnyvale, CA (US); Bruce Schofield, Tyngsboro, MA (US); Inder Monga, Acton, MA (US) (73) Assignee: Rockstar Consortium US LP, Plano, TX (US) Ot1Ce: ubject to any d1Sclaimer, the term ofthis*) Not Subj y disclai h fthi patent is extended or adjusted under 35 U.S.C. 154(b) by 293 days. (21) Appl. No.: 13/423,774 (22) Filed: Mar 19, 2012 (65) Prior Publication Data US 2012/O18OO59 A1 Jul. 12, 2012 Related U.S. Application Data (63) Continuation ofapplication No. 1 1/469,404, filed on Aug. 31, 2006, now Pat. No. 8,146,090. (60) Provisional application No. 60/721,757, filed on Sep. 29, 2005. (51) Int. Cl. G06F 9/46 (2006.01) G06F 5/73 (2006.01) H04L 2/54 (2013.01) H04L 2/80 (2013.01) H04L 2/9II (2013.01) (52) U.S. Cl. CPC ............ H04L 12/5695 (2013.01); H04L 47/10 (2013.01); H04L 47/826 (2013.01) USPC ........... 718/104; 718/105: 709/223; 709/224; 709/225; 709/226 (58) Field ofClassification Search None Seeapplication file forcomplete search history. U.S. PATENT DOCUMENTS 5,402,423 A 3, 1995 Vankersen et al. 5,600,822 A 2f1997 Grice et al. 5.999,990 A * 12/1999 Sharrit et al. ..................... T10/8 6,446,123 B1 9,2002 Ballantine et al. 6,654,346 B1 11/2003 Mahalingaiah etal. 6,665,701 B1 12/2003 Combs et al. 6,993,762 B1* 1/2006 Pierre ........................... T18,102 7,093,250 B1 8,2006 Rector 7,369,912 B2 5/2008 Sherriffet al. (Continued) OTHER PUBLICATIONS Camorlinga et al., “Modeling ofWorkflow-Engaged Networks on Radiology Transfers Across a Metro Network”. IEEE Transactions on Information Technology in Biomedicine, vol. 10(2), Apr. 2006, pp. 275-281. (Continued) Primary Examiner—Adam Lee (74) Attorney, Agent, or Firm — Christopher & Weisberg, P.A. (57) ABSTRACT Amethodandapparatushasbeenshownanddescribedwhich 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 shouldbe noted,however, thatalthough the present invention has shown and described the use oftime-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 ofskill in the art thattime-valuecurvesmaybeusedtooptimizethedeliveryof any resource to any consumer by taking into account the dynamic environment ofthe consumer and resource. 14 Claims, 14 Drawing Sheets Time (T)
  • 2. US 8,949.846 B2 Page 2 (56) References Cited U.S. PATENT DOCUMENTS 7,373.410 B2 5, 2008 Monza et al. 7.461.376 B2 * 12/2008 Geye et al. .................... T18,100 7,499.457 B1 * 3/2009 Droux et al. ............... 370,395.7 7,765,028 B2 * 7/2010 Orita ............................. TOOf248 2002/0065907 A1* 5,2002 Cloonan et al. ............... 709,223 2002fOO82856 A1 6/2002 Gray et al. 2002/0143847 A1* 10,2002 Smith ........................... TO9,103 2003/0046324 A1 2003, OO61260 A1 2003/0101084 A1* 2004, OO64817 A1 2004/OO73643 A1 2004/0117791 A1 2005/OO71577 A1* 2005,0108072 A1* 2005/O12O104 A1* 2006,OO45096 A1* 2006/O195847 A1 2006/0277548 A1 2006, O294522 A1 2007/0022425 A1* 2008.0109343 A1* OTHER PUBLICATIONS 3/2003 Suzuki et al. 3/2003 Rajkumar 5/2003 Otero Perez ...................... 70.5/8 4/2004 Shibayama et al. 4/2004 Hayes et al. 6, 2004 Prasadet al. 3/2005 Dias et al. ..................... T11 151 5/2005 Retsina ............................. 705/7 6, 2005 Boon et al. .. TO9,223 3/2006 Farmer et al. ............ 370,395.42 8/2006 Amano et al. 12/2006 Abe 12/2006 Havens 1/2007 Jackson ........................ T18, 104 5/2008 Robinson et al. ............... 705/37 Lavian et al., “A Platform for Large-Scale Grid Data Service on Dynamic High-Performance Networks”, Nortel Networks Labs, et al., pp. 1-10, 2004. Lavian et al., “DWDM-RAM: A Data Intensive Gird ServiceArchi tecture Enabled by Dynamic Optical Networks', 2004 IEEE Inter national Symposium on Cluster Computing and the Grid, pp. 762 764. Lavian et al., “An Extensible, Programmable, Commercial-Grade Platform for Internet Service Architecture', IEEETransactions on Systems, Man,andCybernetics—PartC: Applications and Reviews, vol. 34(1), Feb. 2004, pp. 58-68. Clarket al., “An Adaptive, Distributed Airborne Tracking System'. MITRE Corporation, et al., pp. 1-10, 1999. Hollingsworth, Workflow Management Coalition, The Workflow Reference Model, Jan. 19, 1995, pp. 1-68. The Workflow Management Coalition.k Workflow Management CoalitionWorkflow Standard Workflow Process Definition, Oct. 25, 2002, Version 1.0, pp. 1-114. Hayes et al., “Workflow Interoperability Standards forthe Internet”, IEEE Internet Computing, May-Jun. 2000, pp. 37-45. Hagen et al., “Exception Handlin in Workflow Management Sys tems',IEEETransactionson Software Engineering,vol. 26(10),Oct. 2000, pp. 943-958. Krishnan et al., “GSFL: A Workflow Framework for Grid Services, Mathematics and Computer Science Division'. Argonne National Laboratory, Argonne, IL et al., pp. 1-13, 2002. Cao etal.,“GridFlow:Workflow Management forGridComputing”. Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003, pp. 1-8. Deelman et al., “Mapping Abstract Complex Workflows onto Grid Environments.” Journal ofGrid Computing, 2003, pp. 25-39. Simeonidouetal.,“Optical NetworkInfrastructure forGrid.” Global Grid Forum 2002, pp. 1-55. Pan et al., “Time in OWL-S.” University of Southern California Information Sciences Institute, pp. 1-8, 2005. Verma et al., “The METEOR-S Approach for Configuring and Executing Dynamic Web Processes.” pp. 1-12, 2005. Von Laszewski et al., “GridAnt: A Client-Controllable Grid Workflow Systems.” Argonne National Laboratory Preprint ANL/ MCS-P1098-1003, Jan. 2004, pp. 1-10. Arnaud et al., “Customer Controlled and Managed Optical Net works.” Jan. 15, 2003, pp. 1-11. Mambrettietal. “The Photonic TeraStream: Enabling NextGenera tion Applications through Intelligent Optical Networking at iGRID2002.” Elsevier Science B.V., 2003, pp. 897-908. * cited by examiner
  • 3. U.S. Patent Feb. 3, 2015 Sheet 1 of 14 US 8,949,846 B2 CommandCenter GoaltoService Discovery Translation in Engineand 13 O MissionResource Scheduler DirectoryConstraint Analyzer Tender F.C. Execution Newkirts Federation880 Manager KHManager(NSM) Enging2, 26 Software Controlled Execution -Policy .Network sManager(NSMManager(E Engine ) g FM 124 126 Network Resource AndMonitor, Topology 7 Discovery ResourceManager (NRM) 28 Software Controlled NetworkResource AndMonitor, Topology 12 Discovery ResourceManager (NRM) 128 lirtualization129 Execution Federation
  • 4. U.S. Patent Feb. 3, 2015 Sheet 2 of 14 US 8,949,846 B2 Workflow Workflow Constraints (FromEM (FromCA I5) 24 PolicyEngine Resource Workflow 31 Feedback Parser (FromNRM28, Je.NSM26) Actor Task Taskconstraints Generic Task Time-ValueCurve Profiles GenerationLogic32 34 TVAugmentedWorkflow (ToEM22) Figure2
  • 6. U.S. Patent Feb. 3, 2015 Sheet 4 of14 US 8,949,846 B2 SelectGeneric Task Profile Calculatetime-valueCurveusingtaskSpecificvariables andconstraintswithSelectedgenerictaskprofile 46 Storetime-valuecurve withtask Figure4
  • 8. U.S. Patent Feb. 3, 2015 Sheet 6 of14 US 8,949,846 B2 i (d) All-IOLld
  • 9. U.S. Patent Feb. 3, 2015 Sheet 7 of 14 US 8,949,846 B2 Hly 1. feN H CD CD r s H Ps CD er . H er H CN H s Hly
  • 10. US 8,949,846 B2Sheet 8 of 14Feb. 3, 2015U.S. Patent V8ºunãIA JLS
  • 11. U.S. Patent Feb. 3, 2015 Sheet 9 of 14 US 8,949,846 B2 8O N BurstTraffic Infinite 8 8 N R 00S 90 MissedTargets A/3 A/31-B3 B3+C3 B3+C3 C3 Using TimeWalue 3. a DDDDDDDDDDDDDDDDDQs A-X 'A-X' A-s: A- cliX -3X Figure9
  • 12. U.S. Patent Feb. 3, 2015 Sheet 10 of 14 US 8,949,846 B2 so HN ly H ... r Q : i............... en.. er N. : "... > ''. so too soor so roe **. ". s ly er w ep m e > d ro Hly H r w on d ro O w CD Ps CDop
  • 13. US 8,949,846 B2Sheet 11 of 14Feb. 3, 2015U.S. Patent 8IIIºInãIAVIIounãII | :|E "-----------+•^8ZI*á....….„º
  • 14. US 8,949,846 B2Sheet 12 of 14Feb. 3, 2015U.S. Patent ON ©
  • 15. U.S. Patent Feb. 3, 2015 Sheet 13 of 14 US 8,949,846 B2 Ow 90 8O 7C 6O S S --TVCurve 8-FivedQoS 4.50 3O 2O 75OO 725O 7OOO 6750 65OO 6250 6OOO 5750 5500 5250 5OOO 475O 45004250 4OOO 3750 3500 325O 3OOO OfferedLoad(Kbls) Figure13
  • 16. U.S. Patent Feb. 3, 2015 Sheet 14 of14 US 8,949,846 B2 2 o 2 O a D. + i ed Suee.IS eleC pessA
  • 17. US 8,949,846 B2 1. TIME-VALUE CURVES TO PROVIDE DYNAMIC QOS FOR TIME SENSITIVE FILE TRANSFERS RELATED APPLICATIONS This isa continuation patentapplication which claimspri ority to U.S. patent application Ser. No. 1 1/469,404, filed Aug. 31, 2006, entitled “TIME-VALUE CURVES TO PRO VIDE DYNAMIC QoS FOR TIME SENSITIVE FILE TRANSFERS', which claims priority to U.S. Provisional Patent Application No. 60/721,757 filed Sep. 29, 2005, the entirety ofboth of which are incorporated herein by refer CCC. STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH ORDEVELOPMENT TheU.S.Governmenthasapaid-uplicenseintheinvention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of contact No. HR0011-05-0120 awarded by DARPAfCMO. FIELD OF THE INVENTION This invention relates generally to resource management and moreparticularly to a methodandapparatus forgenerat ing and using time-value curves for resource management. BACKGROUND OF THE INVENTION Theeffectiveness ofany mission isheavily reliantupon the ability of an underlying infrastructure to respond to the dynamic requirements ofthe mission. Typically missions are layereduponanexisting resource infrastructure Such thatthe missionbecomes merelyasetoftasksthatisSupportedby the infrastructure. Layering a mission upon an existing infra structure typically mis-utilizes key resources and increases the difficulty in detecting performance degradation orpartial failures that adversely affectthe mission. Allocating specific resources to a mission is technically challenging and error prone. It wouldbedesirable to identifyamissionarchitecture which would overcome the problems ofthe 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 ofgenerating a time-value curve defining a temporally dynamic priority ofa resource consumer over a time period and using the time-value curve to allocate the resourcetotheconsumeroverthetimeperiod. Inoneembodi ment, the resource is communication bandwidth, and the resource consumers include one or more tasks in a mission workflow. Such an arrangementpermits the scheduling, pre empting and trade-offof bandwidth between different mis sion tasks to optimize deployment ofmission tasks and con comitantly optimize mission performance. According to anotheraspect ofthe invention, a method of allocating a resource to a plurality of resource consumers includes the steps ofgenerating a time value curve for each oneofa pluralityoftasks in a workflow, thetime-valuecurve defining a temporally dynamic quality ofservice to be pro vided to the task. According to a further aspect of the invention, a policy engine comprises generic task profile information and time 10 15 25 30 35 40 45 50 55 60 65 2 valuecurvegeneration logic operably coupledto receivetask specific information and to calculate a time-value curve for thetaskusingthegenerictaskprofileinformationandthetask specific information. 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 ofa plurality of enqueued tasks associated with the resource, a timevaluecurvedefiningatemporal prioritytoprovidetothe 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. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 isablockdiagramofamissionarchitectureinwhich the present invention may be implemented; FIG. 2 is a block diagram illustrating several components thatmaybeincludedinapolicyenginetogeneratetime-value curves ofthe 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 ofthe present invention; FIG. 4 is a flow diagram illustrating exemplary steps that may be performedby thepolicy engine ofFIG. 2 to generate time-value curves for one or more tasks in a workflow; FIG. 5 is a diagram ofan exemplary network or service resource managerwhich may usethetime valuecurves ofthe present invention to control allocation ofresources to work flow tasks: FIG. 6 is a timing diagram illustrating several exemplary time-value curves that may be assigned to tasks in a work flow: FIGS. 7Aand7Baretimingdiagramsprovidedtoillustrate the addition of time value curves as tasks are added to a workflow; FIGS. 8A and 8B are used to describe an embodiment of the present invention Supporting a Surveillance workflow: FIG. 9 is a processing timing diagram which pictorially illustrates the bandwidth smoothing capabilities of time value QoS servicing ofa workflow: FIG. 10 is a pictorial representation oftaskselection using time-value curves in the example ofFIG.9; FIGS. 11A and 11B are timing diagrams used to illustrate a stalled task drop capability ofthe present invention; FIG. 12 is a flow 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 performanceofTV 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 Workflow 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 tratestheuseofmissionresourcesbya missionby identifying missiontasksandallocating missionresources to the mission
  • 18. US 8,949,846 B2 3 tasks. Although the MRM maybe describedbelow as includ ingcertaincomponents, itshouldbeunderstoodthatanMRM is not a required to implement the present invention. For example,a set ofMission Goals statements maybe input into the Policy Engine to help form theTime-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 maybe a semantic tool which mapsahighlevelgoaldefinition,suchas a natural language definition, into real-language mission goals into policy statements. Oneexemplary method forper forming Goal to Service translation is described in Ser. No. 1 1/469,416, entitled MissionGoal Statement to Policy State ment Translation, by Travostino et al, filed Aug. 31, 2006, incorporated herein by reference. Policy statements are translated into workflows 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. 1 1/469, 422 for Workflow Locked Loops to Enable Adaptive Net works, by Travostino et al., filed Aug. 31, 2006. Forexampleinoneembodiment thedirectory 16 identifies networkresources and services that may be allocatedto mis sions. The DES 13 identifies resources and services that are available for use as an infrastructure ofthe mission. The CA 15 evaluates the infrastructure identified by the DES 13 in view ofmission constraints. The CA15 and DES 13 work in concert with the goal translatorto identify the mission infra structure. An Engine uses the infrastructure and mission information to generate mission workflows, which are for warded to the SCN14. The SCN14 generally controls the execution ofthe mis sionandthe useofthe mission resources duringexecution of the mission. The SCN 14 includes an Execution Manager (EM)22, a Policy Engine (PE) 24, a NetworkServices Man ager (26), a Network Resource Manager (NRM) 28 and a Network Resource and Topology Discovery resource 27. Together these components orchestrate the execution ofthe mission workflow using the identified mission resources. Forthepurposeofthisapplication a mission workflow is a collection of tasks that are performed by a collection of actors, whereinan actormaybeany entity thatusesa mission dedicated resource. A mission dedicated resource is any resource that is at leastpartially dedicated to a mission. Mission tasksaredynamic,andthereforeduringthecourse ofthe 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 oneaspect oftheinvention, eachtaskhasan associatedtime-value curve indicating a temporal priority ofthe task over the task life time. The time-value curves are used during resource alloca tiontointelligentlyallocateresourcesto tasks to optimizethe performanceofthe mission. Each pointin atime-valuecurve identifies a priority ofQoS to be associated with the task for thepoint in time. This allows QoS to be adjusted in real time basedon conditions in the field, thereby addingthe degreeof temporal granularity to the QoS structure. Controlling tem poral granularity ofQoS helps resolve the conflicts ofcon gestion and while Supplying all the resources to the mission within the mission time-frame, withouthavingto expand the size ofthe network. In oneembodiment thePE24generatesa time-valuecurve foreach mission task. The time value curves are forwarded to the EM22. At resourceallocation intervals the EM references 5 10 15 25 30 35 40 45 50 55 60 65 4 the relative values ofthe time-value curve ofeach tasks that areactiveatthattime instanceto retrieveatime-valueforeach task, wherein an activetaskis any taskthathasbeen initiated and not terminated. Using any one ofa variety ofselection methods, such as highest value, highest weighted value, etc., thetime valuesarecomparedto select oneoftheactivetasks. 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 workflow parser 31, a generic task profile store 34, and time-value (TV) curve generation logic 32. The workflow parser receives workflow tasks from the ExecutionMachine(EM).Thetaskmayhavebeen initiatedin response to a mission trigger; for example, in a Surveillance mission,amissiontriggermaybethecapturingofanimageat a sensor point in a Surveillance area. The tasks may be trig gered by partial or thorough completion of another task. Howeverthe task is triggered,it is forwardedto theworkflow parser31 whichextracts task information thatmay beusedto buildthetime-valuecurve.Anyobtainableinformation which mayaffectapriorityorquality ofservicetoprovidetothetask may be provided to the time-value curve generation logic, including, forexample, information regardingan actor ofthe task, a location ofthe task, a security level ofthe task, con straints ofthetasks, dependencies ofthetask, powerrequire mentsofthetask,executiontimeforthetask,etc. Information regarding services and network elements that are associated with the task may also be used when calculating the time valuecurve. Thepresent inventionis in no way limited to the use ofany particular task information in generating a time value curve forpriority scheduling ofthe task. The generic task profile store 34 may be used to store pre-determinedtaskprofiles.Thepredetermined taskprofiles are tailored to the resource requirements of various pre-de fined tasks. For example, a Surveillance task that performs high resolution imagecapture wouldhaveatime-valuecurve thattemporally aligns the resourcepriority with the resource usage characteristics ofthe task. The resource requirements ofa task maybeselectedfrom a setofpre-definedprofiles, or obtained by monitoring and profiling resource usage in advance to generate a time-value profile for the task. FIGS. 3A-3Hillustrates several representative time valuecurvepro files. A time value-curveprofile such as thatofFIGS. 3A and 3B may be applied to a specific task identified as having a relatively flat QoS. Profiles 3C and3D may be used to apply alinearQoStoatask. Impulseprofiles3Eand3F maybeused to providehigh priority to a taskfor a short time. Time value curves of7G and 7H illustrate curves that are constructed for a particular QoS profile. FIG. 4 illustrates an exemplary process that may be per formedbythePE24 toconstructatime-valuecurveforatask. At step 42 a generic profile associated with the task is retrieved from theprofile store34.At step 44, the time-value curveispiece-wiseconstructed usingthebaseprofile in con junctionwith taskspecific variables, constraintsandresource 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 inan ExecutionManager22thatusesthetime-value curves ofthe invention. The EM22 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 instancethe resource controllerexamines
  • 19. US 8,949,846 B2 5 thetime-values ofeach activetask associated with a resource at that instance, and selects one of the tasks based on the time-value curve. FIG. 6 is a timing diagram illustrating illustrative time valuecurves for3 tasksA(62), B(64)andC(66).Thegeneric 5 taskprofileforeach ofthecurves is shownbybelow Equation I: P(T)=Min(mT+b,MaxP) Equation I: Where P is the priority, or quality of service, associated 10 with the taskattimeT, m is derived based on the valueofthe task, thelifetimeofthetaskand theexecutiontimeofthetask and b is determined according to a value ofthe task. The flat portion on each ofthe time-value curves in this embodiment represents the time needed to complete the task. Max (P) 15 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 accessto 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 usedprovideatemporalpriorityofthetaskwhichensuresthat the task can complete in its lifetime. FIGS. 7A and 7B arepictorial representationsofa mission workflow, provided to illustrate the dynamic nature ofwork flow tasks; tasks are continually instantiated and terminated duringthe workflow. Forexample, attime 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 workflow. FIGS. 8A and 8B will be used to describe an exemplary embodiment ofthe present invention for use in a particular mission. The mission of FIG. 8 is a surveillance mission which seeks to identify individuals within a defined radius. The mission comprises dependent tasks, with a first set of tasks being associated with the detection and collection of informationforeachanindividualthatcomeswithina radius, a second set oftasks being associated with collecting high resolution information regarding individuals within the 45 radius, a third set oftasks being associated with collecting increasingly imagesatvery high resolution. Each ofthetasks ofin the mission use networkbandwidth forthe exchange of information associated with the target. The individuals are grouped into low value targets (initial priority 0); mid value 50 targets (initial priority value 1) andhigh value targets (initial priority value 2). The targets are detected using mission resource sensors distributed within the radius. A detection of thetargetresults inanattempttocollectinformationaboutthe target to determine if the target is a target of interest. The 55 collection of information may include the transmission of identification information, Such as a low resolution or high resolution image. The type ofcollection to be performed for each target is a task in the above described architecture. The taskisassignedatime-valuecurvewhichprovidesatemporal priority to the collection of information for the particular target. The time value curves ofFIG.8B areassociated with tasks to be performed on three targets. A first task72 is associated with a mid priority target which has been sensed in area DS3. Thereareonly 3 minutesto collect information regarding the target before the target leaves the area. Thus the time-value 25 30 35 40 60 65 6 curve is adapted forthis target to ensure that data collection for this target can occur within the target tracking task life time. Asecondtask74isassociatedwithatargetinarea DSa. Thetargethas been identified as a high value target, perhaps asaresultofalow-resolution imagemappingtask. Thetarget is exitingtheareain 4 minutes. The slopeand intercept ofthe time-value curve reflect the perceived target value and detectedtargetlocation,andensuresthatadequateprocessing ofthe target may be completed before the targetis lost. Time valuecurve 76 isassociatedwith ataskgenerated in response to targetdetectioninarea DS2b.Thereare5 minutes untilthe target quits thearea, and thus time-valuecurve 76 reflects the lower quality ofservice level to beprovided to the collection ofinformation regarding this target. FIG. 9 is a data flow diagram intuitively illustrating the benefits ofusing the time-value curves ofthe present inven tion toprovidereal-timetemporally prioritized resourceallo cation in to mission tasks. As will be seen from the below description, the time-value curves effectively smooth and optimizeresource allocation amongthetasks. Optimizingthe resource allocation improves the completion rate ofmission tasks and increases the chances ofmission Success. Data series 80 illustrates a stream ofresource requests that arereceivedin a data stream.Theperformance ofthe 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 traffic received in interval 1 includes high, medium andlow priority tasks having respective lifetimes ofthree, fourand five min utes. Data flow 90 illustrates an exemplary result of resource allocation fora mission using Fixed QoS resourceallocation methods. In a typical Fixed QoS resource allocation method, afixedbandwidthpercentageisallocatedtoeachtask. During interval 1 of Data flow 90, Burst Traffic for three tasks is received. Thepriorart resource allocator, receiving no infor mation from the field regarding a temporal priority of the tasks, uses a Fixed QoS to allocate resources to the tasks. Each ofthethreetasksisprovidedone thirdofthebandwidth. At the end ofinterval 1 (orone minute into the task), each of the three pending tasks in group A is /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 five minutes . . . . During interval 2 the resource allocator allocates the resource equally among the tasks in groupA andgroup B, providingone fifth ofthe bandwidth to each task. The Fixed QoS structure has no way to determine which taskis temporally moreimportantdueto conditions in the field. Aftertwo minutes, thetasks ingroupA are nowjust over halfcompleted. During interval 3, an additional task is received, and each task in interval 3 is assigned one sixth of the bandwidth. At the end ofthree minutes the high priority task ofgroup A is dropped. Using the example ofFIG. 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 areapplied to the QoS paradigm, resourceallocation would proceed as is shown by data flow 95: FIG. 10 is a pictorial representation of the time-valuecurves pertaskforthe data flow ofFIG.9. During interval 1, when burst task set A is received a resource allo catorofthepresent invention comparesthetime-valuecurves of each task to identify the task with temporal priority. As shownin FIG.10,duringinterval 1 thehighlevel taskisgiven control of the resource. During interval 2, new tasks are added. However, during time interval 2 the time value curve
  • 20. US 8,949,846 B2 7 ofthe mid-range task oftaskgroup A has temporal priority. Thus the mid-level taskofgroup A is completed at two min utes. At interval 3, at least a portion ofthe mid-level task of groupB isallocatedaccesstotheresource.Thusitcanbeseen that integrating time value curves into the policy and quality of service enforcement decisions increases the completion rate ofhigh 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,therebyreducingperformanceandprovidinga graceful degradation ofperformance in the face ofconges tion. FIG. 11A illustrates how dynamic time-value curveanaly sis maybeusedtoidentifystalledtasks. InFIG.11A, task126 is initiated at time. However, given the temporal priorities of the other tasks in the workflow, it is unlikely that the low prioritytask129 willbeable tocomplete initslifetime. In the present invention, the Execution Manager identifies stalled flows andremoves them fromthetaskqueue,thereby simpli fying the decision making process ofthe EM and reducing congestion. FIG. 11B isa pictorial representationofthetime valuecurves thatare underconsideration following theabor tion ofthe stalled task. FIG. 12 is a flow diagram illustrating several exemplary steps that may be performed by an Execution Manager or other resource allocator, to drop task execution using time valuecurveinformation ofthepresentinvention.Atsteps 132 and 134 a time value curve is generated foreach new taskas described with regards to FIGS. 2-4. At step 136 it is deter minedwhethertheaddedtaskisgoingto result inthestalling ofanexistingtask. Ifso,atstep 138thestalledtaskis removed from the task queue. FIG. 13 is a graph thatis provided to illustrate the perfor mance ofa TV QoS system versus that ofa fixed 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 traffic approaches the offered load (as indicated by the dashed line X in FIG. 13). FIG. 14 is agraph that is providedto illustrate the graceful performance degradation that can be realized in a network which implements time-valuecurvesofthepresent invention to abort stalled queues. As the size ofthe packet payload is reducedthefrequencyofresourceaccessesisincreased.Once the offered load is less than the average traffic, resource congestion quickly ensues, anddata stream are dropped. The presentinvention uses time-value curves to identify the most temporally relevant tasks even during congestion, thereby resulting ingraceful networkperformancedegradation in the face ofcongestion as shown in FIG. 13. Accordingly a method and apparatus has been shown and describedwhichallows Quality ofService to be controlledat atemporalgranularity.Time-valuecurves,generatedforeach 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 oftime-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 theart that time-valuecurves may be usedtooptimize the delivery ofany resource to any consumer by taking into account the dynamic environment of the consumer and resource. The allocation ofany resource, including network bandwidth, storage, processing capability, etc., may benefit from the teachings ofthe present invention. 10 15 25 30 35 40 45 50 55 60 65 8 Havingdescribed various embodimentsoftheinvention, it will be appreciated that many ofthe above figures are flow chart illustrations ofmethods, apparatus (systems) and com puter program products according to an embodiment ofthe invention. It will be understood that each block ofthe flow chart illustrations, and combinations ofblocks in the flow chart illustrations, canbeimplementedby computerprogram instructions. These computer program instructions may be loadedonto a computer orotherprogrammable data process ingapparatustoproduceamachine,suchthattheinstructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. These computerprogram 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 specified in the flowchartblockorblocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a seriesofoperational stepstobeperformedonthecomputeror otherprogrammableapparatus to producea computerimple mented process such that the instructions which execute on the computerorotherprogrammableapparatus providesteps for implementing the functions specified in the flowchart block or blocks. Those skilled in the art should readily appreciate that pro grams defining the functions ofthe 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 (e.g. read only memory devices within a computer such as ROM or CD-ROM disks readable by a computerI/Oattachment); (b)informationalterablystoredon Writable storage media(e.g. floppy disks andhard drives); or (c) information conveyed to a computer through communi cation mediaforexample usingbasebandsignaling orbroad band signaling techniques, including carrier wave signaling techniques, such as overcomputerortelephone networks via a modem The above description and figures have included various process steps and components that are illustrative ofopera tions thatareperformedbythepresentinvention. Thesecom 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 descriptionsarerepresentativeonly,otherfunctional delinea tionsoradditional stepsandcomponentscanbeaddedbyone ofskill in the art, andthus thepresentinvention should notbe limitedto thespecificembodimentsdisclosed. Inaddition itis understoodthatthe various representationalelements maybe implementedinhardware,softwarerunningonacomputer,or a combination thereof. While the invention is described through the above exem plaryembodiments,itwillbe understoodbythoseofordinary skill in the art that modification to and variation ofthe illus trated embodiments maybe madewithoutdeparting from the inventive concepts herein disclosed. Accordingly, the inven tion should notbe viewed as limitedexceptby the scopeand spirit ofthe appended claims. The invention claimed is: 1. A method of allocating at least one network resource among aplurality oftasks,at leastonetaskoftheplurality of tasks having a respective priority that varies continuously as a function oftime, the method comprising:
  • 21. US 8,949,846 B2 over each ofa plurality oftime intervals, allocating the at least one network resource based on relative values of therespectiveprioritiesovereachofthepluralityoftime intervals, the at least one task ofthe plurality oftasks having a respective priority that increases from a non Zero lowest valueat a beginningofa finite time interval forwhich the at least one task is executing to ahighest value before the end of the finite time interval and remains at the highest value until the end ofthe finite time interval. 2. The method ofclaim 1, wherein allocating the at least onenetworkresource basedonrelativevalues oftherespec tive priorities over each of the plurality of time intervals comprises allocating the at least one network resource over each respectivetime interval ofthepluralityoftimeintervals havingahighestpriority valueoverthatrespectivetimeinter val. 3. The method ofclaim 1, wherein allocating the at least onenetworkresource based onrelativevalues oftherespec tive priorities over the plurality oftime intervals comprises allocatingtheatleastonenetworkresourceovereach respec tive time interval of the plurality of time intervals to the plurality oftasks in proportion to their respective priorities over that respective time interval. 4. The method ofclaim 1, wherein the finite time interval extends from a start time to an end time. 5.Themethodofclaim 1, furthercomprising:receivingvia a user interface information pertaining to the plurality of tasks; and deriving a priority value as a function oftime for each taskofthe plurality oftasks from the received informa tion pertaining to the plurality oftasks. 6.Themethodofclaim5,whereinderivingapriorityvalue as a function oftime for each task comprises modifying a generic priority function foreach task based on the received information pertaining to the plurality oftasks. 7.Themethodofclaim 1, furthercomprisingdynamically adjusting the respective priority function oftime for at least one task in response to network conditions. 8. A system for allocating at least one network resource among a plurality of tasks, each task having a respective priority that varies continuously as a function of time, the System comprising: at least one processor; and at least one memory configured to store instructions for execution by the at least one processor, the instructions comprising instructions that, when executed: 10 15 25 30 35 40 10 allocate, over each ofa plurality of time intervals, the at least one network resource based on relative values of therespectiveprioritiesovereachofthepluralityoftime intervals,atleastonetaskofthepluralityoftaskshaving a respectivepriority that increases from a non-zero low est valueata beginningofafinitetimeinterval forwhich theatleastonetaskisexecutingtoahighestvaluebefore the end of the finite time interval and remains at the highest value until the end ofthe finite time interval. 9. The system of claim 8, wherein the instructions that, when executed, allocate the at least one network resource basedon relative values oftherespectivepriorities overeach ofthe plurality oftime intervals comprise: instructions, that when executed, allocate the at least one network resource over each respective time interval of the plurality oftime intervals having a highest priority value over that respective time interval. 10. The system ofclaim 8, wherein the instructions that, when executed, allocate the at least one network resource based on relative values ofthe respective priorities over the plurality oftime intervals comprise: instructions that, when executed, allocate the at least one network resource over each respective time interval of theplurality oftime intervals to thepluralityoftasks in proportiontotheirrespectivepriorities overthatrespec tive time interval. 11. The system ofclaim 8, wherein the finite timeinterval extends from a start time to an end time. 12.Thesystem ofclaim 8, wherein theinstructions further comprise instructions that, when executed: receive via a user interface information pertaining to the plurality oftasks; and deriveapriority valueasa function oftime foreach taskof thepluralityoftasks from thereceivedinformation per taining to the plurality oftasks. 13. The system ofclaim 12, wherein the instructions that, when executed, derive a priority value as a function oftime foreachtaskincludeinstructionsthat,whenexecuted,modify agenericpriority function foreachtaskbasedonthereceived information pertaining to the plurality oftasks. 14.Thesystem ofclaim 8, wherein theinstructions further comprise instructions that, when executed, dynamically adjustthe respective priority function oftime forat least one task in response to network conditions.