Claims Analysis
Total Claims: 66
Claim 1
Independent Claim
120 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application executing from the main memory, a computer-implemented method comprising the following steps: defining an application object as encompassing an address space of the application; executing the application to change the address space; tracking whether the application object has any flush order dependencies with other objects; in an event that one or more dependencies exist, enforcing a flushing sequence among the application object and the other objects to resolve the flush order dependencies; and occasionally flushing the application object to the non-volatile memory in an atomic procedure to install changes to the address space, said flushing step being performed in compliance with the flushing sequence.
Claim 2
Dependent Claim
120 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application executing from the main memory, a computer-implemented method comprising the following steps: defining an application object as encompassing an address space of the application; executing the application to change the address space; tracking whether the application object has any flush order dependencies with other objects; in an event that one or more dependencies exist, enforcing a flushing sequence among the application object and the other objects to resolve the flush order dependencies; and occasionally flushing the application object to the non-volatile memory in an atomic procedure to install changes to the address space, said flushing step being performed in compliance with the flushing sequence.
Claim 3
Dependent Claim
34 words
A computer-implemented method as recited in claim 1, further comprising the step of establishing a flush order dependency between the application object and another object when the application object interacts with the other object.
Claim 4
Dependent Claim
33 words
A computer-implemented method as recited in claim 1, further comprising the step of establishing a flush order dependency between the application object and another object when the application object reads the other object.
Claim 5
Dependent Claim
35 words
A computer-implemented method as recited in claim 1, further comprising the step of establishing a flush order dependency between the application object and another object when the application object writes data to the other object.
Claim 6
Dependent Claim
16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 1.
Claim 7
Dependent Claim
19 words
A computer-readable memory which directs a computer to perform the step in the method as recited in claim 1.
Claim 8
Dependent Claim
108 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application object which executes from the main memory, a computer-implemented method comprising the following steps: executing the application object which results in affecting a data object; characterizing application execution as a logical operation; logging the logical operation in the non-volatile memory; logging a reference to the affected data object in the non-volatile memory; establishing a flush order dependency between the application object and the data object; and managing a flushing order in which the application object and the data object are occasionally flushed to the non-volatile memory according to the flush order dependency.
Claim 9
Dependent Claim
108 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application object which executes from the main memory, a computer-implemented method comprising the following steps: executing the application object which results in affecting a data object; characterizing application execution as a logical operation; logging the logical operation in the non-volatile memory; logging a reference to the affected data object in the non-volatile memory; establishing a flush order dependency between the application object and the data object; and managing a flushing order in which the application object and the data object are occasionally flushed to the non-volatile memory according to the flush order dependency.
Claim 10
Dependent Claim
25 words
A computer-implemented method as recited in claim 7, further comprising the step of logging an object identifier and a state identifier of the application object.
Claim 11
Dependent Claim
26 words
A computer-implemented method as recited in claim 7, further comprising the step of logging an object identifier and a state identifier of the affected data object.
Claim 12
Dependent Claim
44 words
A computer-implemented method as recited in claim 7, wherein the step of establishing a flush order dependency comprises the step of associating with the data object a reference to the application object to identify the application object as being dependent on the data object.
Claim 13
Dependent Claim
47 words
A computer-implemented method as recited in claim 7, wherein the step of establishing a flush order dependency comprises the step of associating with the application object a reference to the data object to identify the data object as an object on which the application object is dependent.
Claim 14
Dependent Claim
55 words
A computer-implemented method as recited in claim 7, wherein the step of establishing a flush order dependency comprises the step of recording an object identifier and a state identifier of one of the application object or the data object in association with information pertaining to the other of the application object or the data object.
Claim 15
Dependent Claim
68 words
A computer-implemented method as recited in claim 7, wherein information pertaining to the application object and the data object is kept in an object table, and the step of establishing a flush order dependency comprises the step of recording a pointer in the object table which leads from one of the application object or the data object to the other of the application object or the data object.
Claim 16
Dependent Claim
62 words
A computer-implemented method as recited in claim 7, wherein information pertaining to the application object and the data object is kept in an object table, and the step of establishing a flush order dependency comprises the step of recording pointers in the object table leading from the application object to the data object and from the data object to the application object.
Claim 17
Dependent Claim
55 words
A computer-implemented method as recited in claim 7, further comprising the following steps: executing the application object to perform a read operation to read data from the data object; and classifying the application object as a predecessor to the data object indicating that the application object may precede the data object in the flushing sequence.
Claim 18
Dependent Claim
68 words
A computer-implemented method as recited in claim 15, wherein the classifying step further comprises the step of distinguishing between (1) a potential predecessor indicating that the application object depends on a current version of the data object which has not yet changed, and (2) a real predecessor indicating that the application object depends on a previous version of the data object which is previous to the current version.
Claim 19
Dependent Claim
30 words
A computer-implemented method as recited in claim 7, further comprising the step of flushing the application object and the data object to the non-volatile memory according to the flushing order.
Claim 20
Dependent Claim
25 words
A computer-implemented method as recited in claim 17, further comprising the step of retrieving the application object from the non-volatile memory following a system crash.
Claim 21
Dependent Claim
19 words
A record created in a storage medium as a result of the computer-implemented method as recited in claim 7.
Claim 22
Dependent Claim
16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 7.
Claim 23
Dependent Claim
19 words
A computer-readable memory which directs a computer to perform the step in the method as recited in claim 7.
Claim 24
Dependent Claim
110 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application object which executes from the main memory, a computer-implemented method comprising the following steps: executing the application object to perform a read operation to read data from a data object; logging the read operation and a reference to the data object; establishing a flush order dependency between the application object and the data object; and in an event that the data object is to be flushed to non-volatile memory, evaluating the dependency between the application object and the data object to determine whether the data object should be flushed prior to the application object.
Claim 25
Dependent Claim
110 words
In a database computer system having a non-volatile memory, a volatile main memory, and an application object which executes from the main memory, a computer-implemented method comprising the following steps: executing the application object to perform a read operation to read data from a data object; logging the read operation and a reference to the data object; establishing a flush order dependency between the application object and the data object; and in an event that the data object is to be flushed to non-volatile memory, evaluating the dependency between the application object and the data object to determine whether the data object should be flushed prior to the application object.
Claim 26
Dependent Claim
66 words
A computer-implemented method as recited in claim 22, wherein the establishing step comprises the step of initially establishing a potential dependency between the application object and the data object indicating that the application object is not yet dependent on the data object since the data object has not changed, but that the application object might become dependent on the data object when the data object changes.
Claim 27
Dependent Claim
24 words
A computer-implemented method as recited in claim 23, wherein the evaluating step comprises the step of evaluating whether the dependency is a potential dependency.
Claim 28
Dependent Claim
44 words
A computer-implemented method as recited in claim 24, wherein the evaluating step determines that the dependency is a potential dependency, further comprising the step of flushing the data object to the non-volatile memory without regard to flushing sequence in respects to the application object.
Claim 29
Dependent Claim
49 words
A computer-implemented method as recited in claim 22, wherein the establishing step comprises the step of establishing a real dependency between the application object and the data object when the application object depends on a previous version of the data object from which the data object is now changed.
Claim 30
Dependent Claim
24 words
A computer-implemented method as recited in claim 26, wherein the evaluating step comprises the step of evaluating whether the dependency is a real dependency.
Claim 31
Dependent Claim
35 words
A computer-implemented method as recited in claim 27, wherein the evaluating step determines that the dependency is a real dependency, further comprising the step of flushing the application object prior to flushing the data object.
Claim 32
Dependent Claim
19 words
A record created in a storage medium as a result of the computer-implemented method as recited in claim 22.
Claim 33
Dependent Claim
16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 22.
Claim 34
Dependent Claim
19 words
A computer-readable memory which directs a computer to perform the step in the method as recited in claim 22.
Claim 35
Dependent Claim
128 words
In a database computer system having a non-volatile memory and a volatile main memory, the volatile main memory maintaining an application object, a data object, and an object table with entries identifying the application object and the data object, a computer-implemented method comprising the following steps: executing the application object; calling to a resource manager to read a data object; performing a read operation at the resource manager on behalf of the application object to read data from the data object; returning the data to the application object; logging the read operation in the non-volatile memory; logging a reference to the data object that was read in the non-volatile memory; and recording in the object table a flush order dependency between the application object and the data object.
Claim 36
Dependent Claim
128 words
In a database computer system having a non-volatile memory and a volatile main memory, the volatile main memory maintaining an application object, a data object, and an object table with entries identifying the application object and the data object, a computer-implemented method comprising the following steps: executing the application object; calling to a resource manager to read a data object; performing a read operation at the resource manager on behalf of the application object to read data from the data object; returning the data to the application object; logging the read operation in the non-volatile memory; logging a reference to the data object that was read in the non-volatile memory; and recording in the object table a flush order dependency between the application object and the data object.
Claim 37
Dependent Claim
35 words
A computer-implemented method as recited in claim 32, wherein the recording step comprises the step of storing in an object table entry that is associated with the data object, an identity to the application object.
Claim 38
Dependent Claim
35 words
A computer-implemented method as recited in claim 32, wherein the recording step comprises the step of storing in an object table entry that is associated with the application object, an identity to the data object.
Claim 39
Dependent Claim
27 words
A computer-implemented method as recited in claim 32, further comprising the step of flushing the application object before the data object to remove the flush order dependency.
Claim 40
Dependent Claim
16 words
A computer programmed to perform the steps of the computer-implemented method as recited in claim 32.
Claim 41
Dependent Claim
19 words
A computer-readable memory which directs a computer to perform the step in the method as recited in claim 32.
Claim 42
Dependent Claim
176 words
A database computer system comprising: a volatile main memory; a non-volatile memory that persists across a system crash; a processing unit coupled to the main memory and the non-volatile memory; an application object stored in the volatile main memory and executable on the processing unit; a resource manager which interacts with the application object to mediate communication between the application object and a data object, the application object having an application state which is exposed to the resource manager during interaction through the resource manager with the data object; the resource manager being configured to map application execution resulting in the application state as a logical operation and to log the operation and a reference to the data object in the non-volatile memory; and the resource manager including a cache manager for establishing a flush order dependency between the application object and the data object resulting from the interaction and managing a flushing order in which the application object and the data object are occasionally flushed to the non-volatile memory according to the flush order dependency.
Claim 43
Dependent Claim
176 words
A database computer system comprising: a volatile main memory; a non-volatile memory that persists across a system crash; a processing unit coupled to the main memory and the non-volatile memory; an application object stored in the volatile main memory and executable on the processing unit; a resource manager which interacts with the application object to mediate communication between the application object and a data object, the application object having an application state which is exposed to the resource manager during interaction through the resource manager with the data object; the resource manager being configured to map application execution resulting in the application state as a logical operation and to log the operation and a reference to the data object in the non-volatile memory; and the resource manager including a cache manager for establishing a flush order dependency between the application object and the data object resulting from the interaction and managing a flushing order in which the application object and the data object are occasionally flushed to the non-volatile memory according to the flush order dependency.
Claim 44
Dependent Claim
25 words
A database computer system as recited in claim 38, wherein the resource manager logs an object identifier and a state identifier of the application object.
Claim 45
Dependent Claim
25 words
A database computer system as recited in claim 38, wherein the resource manager logs an object identifier and a state identifier of the data object.
Claim 46
Dependent Claim
58 words
A database computer system as recited in claim 38, wherein the cache manager maintains an object table listing records pertaining to the data object and the application object, the cache manager stores an identity of the application object in a record associated with the data object to identify a dependency between the application object and the data object.
Claim 47
Dependent Claim
58 words
A database computer system as recited in claim 38, wherein the cache manager maintains an object table listing records pertaining to the data object and the application object, the cache manager stores an identity of the data object in a record associated with the application object to identify a dependency between the application object and the data object.
Claim 48
Dependent Claim
91 words
A database computer system as recited in claim 38, wherein the cache manager maintains an object table having entries pertaining to the data object and the application object, the object table holding information pertaining to the dependency between the application object and the data object in at least one of an entry associated with the application object or an entry associated with the data object, the cache manager scanning the object table to discover dependencies between the application object and the data object prior to flushing either one of the objects.
Claim 49
Dependent Claim
31 words
A database computer system as recited in claim 38, wherein the cache manager flushes the application object and the data object in the flushing order dictated by the flush order dependency.
Claim 50
Dependent Claim
89 words
For use on a database computer system having a non-volatile memory, a volatile main memory, a processing unit, a data object stored in the main memory, and an application object stored in the main memory and executed on the processing unit, a cache manager executable on the processor to manage flushing of the data object and the application object from the main memory to the non-volatile memory, the cache manager having an object table which contains entries with information pertaining to both the data object and the application object.
Claim 51
Dependent Claim
89 words
For use on a database computer system having a non-volatile memory, a volatile main memory, a processing unit, a data object stored in the main memory, and an application object stored in the main memory and executed on the processing unit, a cache manager executable on the processor to manage flushing of the data object and the application object from the main memory to the non-volatile memory, the cache manager having an object table which contains entries with information pertaining to both the data object and the application object.
Claim 52
Dependent Claim
45 words
A cache manager as recited in claim 45, wherein an entry in the object table pertaining to one of the data object or the application object comprises a dependency field to hold a reference to the other of the data object or the application object.
Claim 53
Dependent Claim
53 words
A cache manager as recited in claim 45, wherein an entry in the object table pertaining to the data object comprises a predecessor field to hold a reference to the application object indicating that the application object should be flushed to non-volatile memory before the data object is flushed to the non-volatile memory.
Claim 54
Dependent Claim
53 words
A cache manager as recited in claim 45, wherein an entry in the object table pertaining to the application object comprises a successor field to hold a reference to the data object indicating that the application object should be flushed to non-volatile memory before the data object is flushed to the non-volatile memory.
Claim 55
Dependent Claim
112 words
A cache manager as recited in claim 45, wherein each entry in the object table associated with the application object comprises: an object identifier field to hold an object identifier for the application object; a state identifier field to hold a state ID for the application object; a dirty flag field to hold a flag bit indicating whether or not the application object has been modified in the main memory without those modifications being flushed to the non-volatile memory; a cache location field to hold an address to a location in the main memory where the application object physically resides; and a dependency field to hold a reference to the data object.
Claim 56
Dependent Claim
112 words
A cache manager as recited in claim 45, wherein each entry in the object table associated with the data object comprises: an object identifier field to hold an object identifier for the data object; a state identifier field to hold a state ID for the data object; a dirty flag field to hold a flag bit indicating whether or not the data object has been modified in the main memory without those modifications being flushed to the non-volatile memory; a cache location field to hold an address to a location in the main memory where the data object physically resides; and a dependency field to hold a reference to the application object.
Claim 57
Dependent Claim
12 words
A computer-readable medium storing a cache manager as recited in claim 45.
Claim 58
Dependent Claim
85 words
A computer-readable medium storing an object table which tracks objects stored in a volatile memory and is used by a cache manager in flushing the objects from volatile memory to non-volatile memory, the object table having individual entry structures comprising: an object identifier field to hold an object identifier for an object; and a dependency field to hold a reference to another object, the dependency field being used by the cache manager to indicate a flush order dependency between said object and said another object.
Claim 59
Dependent Claim
85 words
A computer-readable medium storing an object table which tracks objects stored in a volatile memory and is used by a cache manager in flushing the objects from volatile memory to non-volatile memory, the object table having individual entry structures comprising: an object identifier field to hold an object identifier for an object; and a dependency field to hold a reference to another object, the dependency field being used by the cache manager to indicate a flush order dependency between said object and said another object.
Claim 60
Dependent Claim
19 words
An object table stored in a computer-readable medium as recited in claim 52, wherein the reference comprises a pointer.
Claim 61
Dependent Claim
36 words
An object table stored in a computer-readable medium as recited in claim 52, wherein the dependency field comprises a predecessor field containing a reference said another object which must be flushed prior to flushing said object.
Claim 62
Dependent Claim
56 words
An object table stored in a computer-readable medium as recited in claim 52, wherein the dependency field comprises a predecessor field containing a reference said another object which must be flushed prior to flushing said object and a successor field containing a reference any other object which must be flushed after the flushing of said object.
Claim 63
Dependent Claim
33 words
An object table stored in a computer-readable medium as recited in claim 52, wherein the dependency field comprises a pointer to a separate table containing a reference to one or more dependent objects.
Claim 64
Dependent Claim
27 words
An object table stored in a computer-readable medium as recited in claim 52, further comprising a state identifier field to hold a state identifier for the object.
Claim 65
Dependent Claim
46 words
An object table stored in a computer-readable medium as recited in claim 52, further comprising a dirty flag field to hold a flag bit indicating whether or not the object has been modified in the volatile memory without those modifications being flushed to the non-volatile memory.
Claim 66
Dependent Claim
36 words
An object table stored in a computer-readable medium as recited in claim 52, further comprising a cache location field to hold an address to a location in the main memory where the host object physically resides.