Claims Analysis
Total Claims: 41
Claim 1
Independent Claim
153 words
A method for use in a computer system, having a processor, for allocating and using currently available processing time comprising the steps of: (a) defining a list having a plurality of future task instances, each of said instances having an incremental utility measure associated therewith resulting from allocation of computational resources to execution of said each future task instance; (b) ascertaining, for each of said future task instances on said list, a corresponding time-discounted incremental utility measure therefor, said time-discounted utility measure being the incremental utility measure for said each future task discounted for time; and (c) if the time-discounted incremental utility measure for one of said future task instances exceeds an incremental utility measure of a currently executing task: suspending the currently executing task prior to its completion so as to define a suspended task; storing partial results of the suspended task for subsequent use; and executing the one future task instance.
Claim 2
Independent Claim
153 words
A method for use in a computer system, having a processor, for allocating and using currently available processing time comprising the steps of: (a) defining a list having a plurality of future task instances, each of said instances having an incremental utility measure associated therewith resulting from allocation of computational resources to execution of said each future task instance; (b) ascertaining, for each of said future task instances on said list, a corresponding time-discounted incremental utility measure therefor, said time-discounted utility measure being the incremental utility measure for said each future task discounted for time; and (c) if the time-discounted incremental utility measure for one of said future task instances exceeds an incremental utility measure of a currently executing task: suspending the currently executing task prior to its completion so as to define a suspended task; storing partial results of the suspended task for subsequent use; and executing the one future task instance.
Claim 3
Dependent Claim
28 words
The method in claim 1 further comprising the step of repeating steps (a)-(c) at the onset of each one of a series of predefined regularly occurring time intervals.
Claim 4
Dependent Claim
36 words
The method in claim 2 wherein the executing step comprises the step of executing said one future task instance during said each time interval to the extent of all remaining time in said each time interval.
Claim 5
Dependent Claim
84 words
The method in claim 3 wherein the executing step comprises the steps of: if the one future task instance completes during the remaining time in said each time interval, storing results of the one future task instance for subsequent use; and if the one future task instance does not complete during the remaining time in said each time interval, storing partial results of the one future task instance obtained at a conclusion of said each time interval and suspending the one future task instance.
Claim 6
Dependent Claim
204 words
The method in claim 4 wherein the currently executing task has a first utility measure associated therewith and each of the future task instances has a second utility measure and a second probability measure associated therewith, the second probability measure specifying for a given future task instance a probability that the given future task instance will be executed at a future time, the first and second utility measures specifying a utility of partial results provided by the first and second task instances, respectively; and wherein the defining step further comprises the step of: determining, for the currently executing task, a first associated rate of change in an expected value of computation therefor; and wherein the ascertaining step further comprises the step of: determining for each of said future task instances a second associated rate of change in an expected value of computation and a time-discounted product of the second utility measure and the second associated rate of change; and the method further comprises the step of: choosing, amongst all of said future task instances, a particular one of the future task instances, as said one future task instance, then having a largest time-discounted product associated therewith which exceeds the first associated rate of change.
Claim 7
Dependent Claim
42 words
The method in claim 5 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 8
Dependent Claim
84 words
The method in claim 6 wherein the time-discount product ascertaining step comprises the steps of, for each of said future task instances in the list: determining a corresponding second associated rate of change in the expected value of computation, as a function of the corresponding ones of both of the second probability measures and the second utility measures; and forming the time-discounted product as a product of a pre-defined numeric factor, the corresponding second associated rate of change and the second corresponding probability measure.
Claim 9
Dependent Claim
42 words
The method in claim 7 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 10
Dependent Claim
18 words
The method in claim 7 wherein the predefined factor, d is a predetermined number in a range 0<d≦1.
Claim 11
Dependent Claim
36 words
The method in claim 7 wherein the executing step comprises the step of executing said one future task instance during said each time interval to the extent of all remaining time in said each time interval.
Claim 12
Dependent Claim
85 words
The method in claim 10 wherein the executing step further comprises the steps of: if the one future task instance completes during the remaining time in said each time interval, storing results of the one future task instance for subsequent use; and if the one future task instance does not complete during the remaining time in said each time interval, storing partial results of the one future task instance obtained at a conclusion of said each time interval and terminating the one future task instance.
Claim 13
Dependent Claim
123 words
The method in claim 7 wherein the associated first utility measure and the second utility measure, for any one of said plurality of future task instances, are each a corresponding stored value, a corresponding stored function or a corresponding stored look-up table, and the first associated rate of change ascertaining step comprises the step of reading the corresponding stored value, evaluating the corresponding stored function or accessing the corresponding look-up table, respectively, to yield a numeric value of the first utility measure; and the corresponding second associated rate of change determining step comprises the step of reading the corresponding stored value, evaluating the corresponding stored function or accessing the corresponding look-up table, respectively, to yield a numeric value of the second utility measure.
Claim 14
Dependent Claim
31 words
The method of claim 7 further comprising the step of updating the list by adding each new future task instance to the list once said new future task instance is spawned.
Claim 15
Dependent Claim
26 words
The method of claim 12 wherein the new future task instance is spawned by an application program or an operating system then executing on said processor.
Claim 16
Dependent Claim
69 words
The method of claim 14 wherein the selecting step further comprises the steps of: evaluating a probability tree to determine a corresponding numeric value for the probability measure for each of said future task instances in said list; and selecting a future task instance, from among the future task instances in the list, having largest corresponding numeric value for the associated probability measure as said one future task instance.
Claim 17
Dependent Claim
42 words
The method in claim 15 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 18
Dependent Claim
23 words
The method of claim 16 further comprising the step of determining probabilities in the tree through a Bayesian network or a Hidden-Markov model.
Claim 19
Dependent Claim
31 words
The method of claim 16 further comprising the step of updating the list by adding each new future task instance to the list once said new future task instance is spawned.
Claim 20
Dependent Claim
26 words
The method of claim 17 wherein the new future task instance is spawned by an application program or an operating system then executing on said processor.
Claim 21
Dependent Claim
17 words
A computer readable medium having computer executable instructions stored therein for performing the steps of claim 1.
Claim 22
Dependent Claim
170 words
Apparatus for use in a computer system, having a processor, for allocating and using currently available processing time comprising: the processor; and a memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored therein: (a) defines a list having a plurality of future task instances, each of said instances having an incremental utility measure associated therewith resulting from allocation of computational resources to execution of said each future task instance; (b) ascertains, for each of said future task instances on said list, a corresponding time-discounted incremental utility measure therefor, said time-discounted utility measure being the incremental utility measure for said each future task discounted for time; and (c) if the time-discounted incremental utility measure for one of said future task instances exceeds an incremental utility measure of a currently executing task: suspends the currently executing task prior to its completion so as to define a suspended task; stores partial results of the suspended task for subsequent use; and executes the one future task instance.
Claim 23
Dependent Claim
170 words
Apparatus for use in a computer system, having a processor, for allocating and using currently available processing time comprising: the processor; and a memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored therein: (a) defines a list having a plurality of future task instances, each of said instances having an incremental utility measure associated therewith resulting from allocation of computational resources to execution of said each future task instance; (b) ascertains, for each of said future task instances on said list, a corresponding time-discounted incremental utility measure therefor, said time-discounted utility measure being the incremental utility measure for said each future task discounted for time; and (c) if the time-discounted incremental utility measure for one of said future task instances exceeds an incremental utility measure of a currently executing task: suspends the currently executing task prior to its completion so as to define a suspended task; stores partial results of the suspended task for subsequent use; and executes the one future task instance.
Claim 24
Dependent Claim
32 words
The apparatus in claim 21 wherein the processor, in response to the stored instructions, repeats operations (a)-(c) at the onset of each one of a series of predefined regularly occurring time intervals.
Claim 25
Dependent Claim
37 words
The apparatus in claim 22 wherein the processor, in response to the stored instructions, executes said one future task instance during said each time interval to the extent of all remaining time in said each time interval.
Claim 26
Dependent Claim
85 words
The apparatus in claim 23 wherein the processor, in response to the stored instructions: if the one future task instance completes during the remaining time in said each time interval, stores results of the one future task instance for subsequent use; and if the one future task instance does not complete during the remaining time in said each time interval, stores partial results of the one future task instance obtained at a conclusion of said each time interval and suspends the one future task instance.
Claim 27
Dependent Claim
187 words
The apparatus in claim 24 wherein the currently executing task has a first utility measure associated therewith and each of the future task instances has a second utility measure and a second probability measure associated therewith, the second probability measure specifying for a given future task instance a probability that the given future task instance will be executed at a future time, the first and second utility measures specifying a utility of partial results provided by the first and second task instances, respectively; and wherein the processor, in response to the stored instructions: determines, for the currently executing task, a first associated rate of change in an expected value of computation therefor; determines for each of said future task instances a second associated rate of change in an expected value of computation and a time-discounted product of the second utility measure and the second associated rate of change; and chooses, amongst all of said future task instances, a particular one of the future task instances, as said one future task instance, then having a largest time-discounted product associated therewith which exceeds the first associated rate of change.
Claim 28
Dependent Claim
42 words
The apparatus in claim 25 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 29
Dependent Claim
84 words
The apparatus in claim 26 wherein the processor, in response to the stored instructions and for each of said future task instances in the list: determines a corresponding second associated rate of change in the expected value of computation, as a function of the corresponding ones of both of the second probability measures and the second utility measures; and forms the time-discounted product as a product of a pre-defined numeric factor, the corresponding second associated rate of change and the second corresponding probability measure.
Claim 30
Dependent Claim
42 words
The apparatus in claim 27 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 31
Dependent Claim
18 words
The apparatus in claim 27 wherein the predefined factor, d, is a predetermined number in a range 0<d≦1.
Claim 32
Dependent Claim
36 words
The apparatus in claim 27 wherein processor, in response to the stored instructions, executes said one future task instance during said each time interval to the extent of all remaining time in said each time interval.
Claim 33
Dependent Claim
85 words
The apparatus in claim 30 wherein the processor, in response to the stored instructions: if the one future task instance completes during the remaining time in said each time interval, stores results of the one future task instance for subsequent use; and if the one future task instance does not complete during the remaining time in said each time interval, stores partial results of the one future task instance obtained at a conclusion of said each time interval and suspends the one future task instance.
Claim 34
Dependent Claim
106 words
The apparatus in claim 27 wherein the associated first utility measure and the second utility measure, for any one of said plurality of future task instances, are each a corresponding stored value, a corresponding stored function or a corresponding stored look-up table, and the processor, in response to the stored instructions: reads the corresponding stored value, evaluates the corresponding stored function or accesses the corresponding look-up table, respectively, to yield a numeric value of the first utility measure; and reads the corresponding stored value, evaluates the corresponding stored function or accesses the corresponding look-up table, respectively, to yield a numeric value of the second utility measure.
Claim 35
Dependent Claim
35 words
The apparatus of claim 27 wherein the processor, in response to the stored instructions, updates the list by adding each new future task instance to the list once said new future task instance is spawned.
Claim 36
Dependent Claim
26 words
The apparatus of claim 32 wherein the new future task instance is spawned by an application program or an operating system then executing on said processor.
Claim 37
Dependent Claim
69 words
The apparatus of claim 34 wherein the processor, in response to the stored instructions: evaluates a probability tree to determine a corresponding numeric value for the probability measure for each of said future task instances in said list; and selects a future task instance, from among the future task instances in the list, having largest corresponding numeric value for the associated probability measure as said one future task instance.
Claim 38
Dependent Claim
42 words
The apparatus in claim 35 wherein the first associated rate of change is a pre-defined function of the first utility measure; and the second associated rate of change is a pre-defined function of the second probability measure and the second utility measure.
Claim 39
Dependent Claim
27 words
The apparatus of claim 36 wherein the processor, in response to the stored instructions, determines probabilities in the tree through a Bayesian network or a Hidden-Markov model.
Claim 40
Dependent Claim
34 words
The apparatus of claim 36 wherein the processor, in response to stored instructions, updates the list by adding each new future task instance to the list once said new future task instance is spawned.
Claim 41
Dependent Claim
26 words
The apparatus of claim 37 wherein the new future task instance is spawned by an application program or an operating system then executing on said processor.