Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
120 words
A method for using a computer to control a lifetime of an object, comprising the steps of: defining an object surrogate class comprising computer readable instructions stored in a memory of the computer for defining a class and including a reference to the object; and implementing a reference to the object by means of a reference to the object surrogate, wherein the object surrogate further comprises an invalidate( ) function comprising the step of considering the object invalid, wherein the object includes a reference to the object surrogate and a finalization routine comprising the step of calling the invalidate( ) function prior to performing any action which would render the object incapable of supporting an exposed interface of the object.
Claim 2
Independent Claim
120 words
A method for using a computer to control a lifetime of an object, comprising the steps of: defining an object surrogate class comprising computer readable instructions stored in a memory of the computer for defining a class and including a reference to the object; and implementing a reference to the object by means of a reference to the object surrogate, wherein the object surrogate further comprises an invalidate( ) function comprising the step of considering the object invalid, wherein the object includes a reference to the object surrogate and a finalization routine comprising the step of calling the invalidate( ) function prior to performing any action which would render the object incapable of supporting an exposed interface of the object.
Claim 3
Dependent Claim
23 words
A method according to claim 1 further comprising the step of controlling the lifetime of the object surrogate by means of reference counting.
Claim 4
Dependent Claim
23 words
A method according to claim 1 further comprising the step of controlling the lifetime of the object surrogate by means of garbage collection.
Claim 5
Dependent Claim
13 words
A method according to claim 1 wherein the finalization routine is a destructor.
Claim 6
Dependent Claim
34 words
A method according to claim 1 wherein the object surrogate further includes a valid -- object( ) function that returns a reference to the object only when the object surrogate considers the object valid.
Claim 7
Dependent Claim
30 words
A method according to claim 5 wherein the valid -- object( ) function further comprises the step of returning a NULL pointer when the object surrogate considers the object invalid.
Claim 8
Dependent Claim
29 words
A method according to claim 5 wherein the valid -- object( ) function further comprises the step of raising an exception when the object surrogate considers the object invalid.
Claim 9
Dependent Claim
25 words
A method according to claim 1 further comprising the step of preventing the object from being destroyed when there are active computations on the object.
Claim 10
Dependent Claim
26 words
A method according to claim 1 wherein the invalidate( ) function further comprises the step of blocking until there are no active computations on the object.
Claim 11
Dependent Claim
21 words
A method according to claim 1 wherein the object surrogate further includes a mechanism for tracking active computations on the object.
Claim 12
Dependent Claim
45 words
A method according to claim 10 wherein the mechanism for tracking active computations comprises an add -- computation( ) function noting a start for one of the active computations and a delete -- computation( ) function noting an end for one of the active computations.
Claim 13
Dependent Claim
57 words
A method according to claim 11 wherein: the mechanism for tracking active computations further includes a counter having a value reflecting the number of active computations; noting the start for one of the active computations is performed by incrementing the counter; and noting the end for one of the active computations is performed by decrementing the counter.
Claim 14
Dependent Claim
80 words
A method according to claim 12 wherein the counter includes: an array of elements each storing a count value; an increment function that selects an element of the array and increments the count value for the selected element; a decrement function that selects an element of the array and decrements the count value for the selected element; and a mechanism for computing a counter value by summing the count values of the elements of the array and returning the sum.
Claim 15
Dependent Claim
84 words
A method according to claim 11 including defining an ActiveComputation class having: an initialization function taking as an argument a reference to an instance of the object surrogate class, the initialization function comprising the steps of calling the add -- computation( ) function of the argument and storing the reference to the instance of the object surrogate class; and a finalization function comprising the step of calling the delete computation function of the instance of the object surrogate class stored by the initialization function.
Claim 16
Dependent Claim
13 words
A method according to claim 14 wherein the finalization function is a destructor.
Claim 17
Dependent Claim
13 words
A method according to claim 14 wherein the initialization function is a constructor.
Claim 18
Dependent Claim
79 words
A method according to claim 1 wherein the object surrogate further includes a mark -- for -- delete( ) function comprising the steps of considering the object invalid and recording that the mark -- for -- delete( ) function has been called; the method further comprising the step of deleting the object when the object surrogate has recorded that the mark -- for -- delete( ) function has been called and there are no active computations on the object.
Claim 19
Dependent Claim
24 words
A method according to claim 13 wherein the object calls the mark -- for -- delete( ) function whenever the object initiates self deletion.
Claim 20
Independent Claim
132 words
A method for using a computer to probabalistically maintain a count in a multi-threaded computer system comprising: defining a counter data type including an array of elements each storing a count value, the counter data type including: an increment function comprising the steps of selecting an element of the array and incrementing the count value for the selected element; a decrement function comprising the steps of selecting an element of the array and decrementing the count value for the selected element; a mechanism for computing the value of the counter comprising the steps of summing the count values of the elements of the array and returning a sum; the method further comprising the steps of incrementing the counter by calling the increment function and decrementing the counter by calling the decrement function.
Claim 21
Independent Claim
132 words
A method for using a computer to probabalistically maintain a count in a multi-threaded computer system comprising: defining a counter data type including an array of elements each storing a count value, the counter data type including: an increment function comprising the steps of selecting an element of the array and incrementing the count value for the selected element; a decrement function comprising the steps of selecting an element of the array and decrementing the count value for the selected element; a mechanism for computing the value of the counter comprising the steps of summing the count values of the elements of the array and returning a sum; the method further comprising the steps of incrementing the counter by calling the increment function and decrementing the counter by calling the decrement function.
Claim 22
Dependent Claim
28 words
A method according to claim 19 wherein the step of selecting the element of the array within the increment function comprises the step of computing a pseudo-random number.
Claim 23
Dependent Claim
28 words
A method according to claim 19 wherein the step of selecting the element of the array within the decrement function comprises the step of computing a pseudo-random number.
Claim 24
Dependent Claim
66 words
A method according to claim 20 wherein the increment function further comprises the step of returning a token indicating the selected element and the decrement function includes a parameter capable of accepting a token returned from a call to the increment function; and the step of selecting the element of the array within the decrement function is implemented by choosing the element indicated by the parameter.
Claim 25
Dependent Claim
47 words
A method according to claim 19 wherein the counter data type further includes an indexing mechanism which selects elements of the array sequentially; and the steps of selecting the element of the array within the increment and decrement functions comprise the step of using the indexing mechanism.
Claim 26
Dependent Claim
107 words
A computer readable storage medium for encoding program code for controlling a lifetime of an object, comprising: an object surrogate class comprising computer readable instructions stored in a memory of the computer for defining a class and including a reference to the object; and instructions for performing the storage of a reference to the object by storing a reference to the object surrogate, wherein the object surrogate class further comprises an invalidate( ) function, the storage medium further comprising instructions for performing the invalidate( ) function on the object surrogate class by considering the object invalid and blocking until there are no active computations on the object.
Claim 27
Dependent Claim
107 words
A computer readable storage medium for encoding program code for controlling a lifetime of an object, comprising: an object surrogate class comprising computer readable instructions stored in a memory of the computer for defining a class and including a reference to the object; and instructions for performing the storage of a reference to the object by storing a reference to the object surrogate, wherein the object surrogate class further comprises an invalidate( ) function, the storage medium further comprising instructions for performing the invalidate( ) function on the object surrogate class by considering the object invalid and blocking until there are no active computations on the object.
Claim 28
Dependent Claim
65 words
A storage medium according to claim 24 wherein the object surrogate class further includes an add -- computation( ) function and a delete -- computation( ) function, the storage medium further comprising instructions for performing the add -- computation( ) function noting a start of an active computation and instructions for performing a delete -- computation( ) function noting an end of the active computation.
Claim 29
Dependent Claim
89 words
A storage medium according to claim 24 wherein the object surrogate further includes a mark -- for -- delete( ) function, the storage medium further comprising: instructions for performing the mark -- for -- delete( ) function by considering the object invalid and recording that the mark -- for -- delete( ) function has been called; and instructions for deleting the object when the object surrogate has recorded that the mark -- for -- delete( ) function has been called and there are no active computations on the object.
Claim 30
Dependent Claim
116 words
A computer readable storage medium for encoding program code and probabalistically maintaining a count in a multi-threaded computer system comprising: a counter data type including an array of elements each capable of storing a count value, an increment function, a decrement function, and a mechanism for computing the value of the counters; instructions for performing the increment function by selecting an element of the array and incrementing the selected element count value; instructions for performing the decrement function by selecting an element of the array and decrementing the selected element count value; and instructions for computing a value of the counter by summing the count values of the elements of the array and returning a sum.
Claim 31
Dependent Claim
116 words
A computer readable storage medium for encoding program code and probabalistically maintaining a count in a multi-threaded computer system comprising: a counter data type including an array of elements each capable of storing a count value, an increment function, a decrement function, and a mechanism for computing the value of the counters; instructions for performing the increment function by selecting an element of the array and incrementing the selected element count value; instructions for performing the decrement function by selecting an element of the array and decrementing the selected element count value; and instructions for computing a value of the counter by summing the count values of the elements of the array and returning a sum.
Claim 32
Dependent Claim
26 words
A storage mechanism according to claim 27 further comprising instructions for selecting the element of the array within the increment function by computing a pseudo-random number.
Claim 33
Dependent Claim
59 words
A storage mechanism according to claim 27 wherein the counter data type further includes an indexing mechanism, the storage mechanism further comprising: instructions for implementing the indexing mechanism to select the elements of the array sequentially; and instructions for implementing the selection of the element of the array within the increment and decrement functions by using the indexing mechanism.