Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
173 words
An in-use table manager comprising: means for assigning an object, having a header, to a slot in an in-use table having an allocation bit map, and for hashing an address of said object into a preferred slot address; means for checking an object identifier in a preferred slot at said preferred slot address; means for assigning an alternative slot address if said object identifier does not match an address of said object by checking said allocation bit map to find an unassigned slot; means for inserting a slot address into said header of said object; means for locking individual slots in said in-use table to prevent concurrent access, each of said slots being locked by a lock indication contained in said slot, said slot being selected via a slot address; means for providing an indication of use of an object, said indication of use being contained in a slot, said slot being selected via said slot address; and means for modifying said indication of use to indicate desired recovery actions for each object.
Claim 2
Dependent Claim
173 words
An in-use table manager comprising: means for assigning an object, having a header, to a slot in an in-use table having an allocation bit map, and for hashing an address of said object into a preferred slot address; means for checking an object identifier in a preferred slot at said preferred slot address; means for assigning an alternative slot address if said object identifier does not match an address of said object by checking said allocation bit map to find an unassigned slot; means for inserting a slot address into said header of said object; means for locking individual slots in said in-use table to prevent concurrent access, each of said slots being locked by a lock indication contained in said slot, said slot being selected via a slot address; means for providing an indication of use of an object, said indication of use being contained in a slot, said slot being selected via said slot address; and means for modifying said indication of use to indicate desired recovery actions for each object.
Claim 3
Dependent Claim
37 words
The in-use table manager according to claim 1, wherein said means for assigning an object to a slot further comprises means for checking said header of said object to determine if a slot address has been inserted.
Claim 4
Dependent Claim
53 words
The in-use table manager according to claim 1, wherein the in-use table comprises: a plurality of pages, each page containing a slot allocation bit map, and a plurality of slots for containing in-use information about objects; and a header which has a page allocation bit map for indicating pages which have unassigned slots.
Claim 5
Dependent Claim
34 words
The in-use table manager according to claim 3, wherein said means for assigning an alternative slot address first checks said slot allocation bit map to find an unassigned slot to avoid excess page faults.
Claim 6
Dependent Claim
31 words
The in-use table manager according to claim 4, wherein said means for assigning an alternative slot address checks said page allocation bit map to find a page with an unassigned slot.
Claim 7
Dependent Claim
45 words
The in-use table manager according to claim 1, further including: first means for indicating a slot nearest the top of the in-use table which has been changed; and second means for indicating a slot nearest the bottom of the in-use table which has been changed.
Claim 8
Dependent Claim
49 words
The in-use table manager according to claim 6, further including: means for detecting when an object will be changed; and means for forcing said slots bounded by said indication of said first means and said indication of said second means to non-volatile storage prior to an object being changed.
Claim 9
Dependent Claim
39 words
The in-use table manager according to claim 1, further including: means for detecting an invalid slot address in said header of an object; and means for reassigning a valid slot address if an invalid slot address has been detected.
Claim 10
Dependent Claim
270 words
A high concurrency database system comprising: a plurality of processes; a plurality of objects containing database information for accessing by said processes; an in-use table having a header and a plurality of slots, each of said slots capable of indicating the in-use status of an object; and an in-use manager, comprising: means for assigning an object, having a header, to a slot in said in-use table having an allocation bit map, and for hashing an address of said object into a preferred slot address; means for checking an object identifier in a preferred slot at said preferred slot address; means for assigning an alternative slot address if said object identifier does not match an address of said object by checking said allocation bit map to find an unassigned slot; means for inserting a slot address into said header of said object; means for locking individual slots in said in-use table to prevent concurrent access, said individual slots being locked by a lock indication contained in each of said slots, each of said slots being selected via a slot address contained in each of the headers of each of the objects which have been assigned a slot; means for providing an indication of use of an object, said indication of use being contained in each of said slots, each of said slots being selected via a slot address contained in said headers of an object that have been assigned a slot; and means for modifying an indication of use contained in each of said slots to indicate desired recovery actions for each of said objects that have been assigned a slot.
Claim 11
Dependent Claim
270 words
A high concurrency database system comprising: a plurality of processes; a plurality of objects containing database information for accessing by said processes; an in-use table having a header and a plurality of slots, each of said slots capable of indicating the in-use status of an object; and an in-use manager, comprising: means for assigning an object, having a header, to a slot in said in-use table having an allocation bit map, and for hashing an address of said object into a preferred slot address; means for checking an object identifier in a preferred slot at said preferred slot address; means for assigning an alternative slot address if said object identifier does not match an address of said object by checking said allocation bit map to find an unassigned slot; means for inserting a slot address into said header of said object; means for locking individual slots in said in-use table to prevent concurrent access, said individual slots being locked by a lock indication contained in each of said slots, each of said slots being selected via a slot address contained in each of the headers of each of the objects which have been assigned a slot; means for providing an indication of use of an object, said indication of use being contained in each of said slots, each of said slots being selected via a slot address contained in said headers of an object that have been assigned a slot; and means for modifying an indication of use contained in each of said slots to indicate desired recovery actions for each of said objects that have been assigned a slot.
Claim 12
Dependent Claim
38 words
The high concurrency database system according to claim 9, wherein said means for assigning an object to a slot further comprises means for checking a header of said object to determine if a slot address has been inserted.
Claim 13
Dependent Claim
54 words
The high concurrency database system according to claim 9, wherein said in-use table comprises: a plurality of pages, each page containing a slot allocation bit map, and a plurality of slots for containing in-use information about objects; and a header which has a page allocation bit map for indicating pages which have unassigned slots.
Claim 14
Dependent Claim
35 words
The high concurrency database system according to claim 11, wherein said means for assigning an alternative slot address first checks said slot allocation bit map to find an unassigned slot to avoid excess page faults.
Claim 15
Dependent Claim
32 words
The high concurrency database system according to claim 12, wherein said means for assigning an alternative slot address checks said page allocation bit map to find a page with an unassigned slot.
Claim 16
Dependent Claim
46 words
The high concurrency database system according to claim 9, further comprising: first means for indicating a slot nearest the top of said in-use table which has been changed; and second means for indicating a slot nearest the bottom of said in-use table which has been changed.
Claim 17
Dependent Claim
50 words
The high concurrency database system according to claim 14, further comprising: means for detecting when an object will be changed; and means for forcing said slots bounded by said indication of said first means and said indication of said second means to non-volatile storage prior to an object being changed.
Claim 18
Dependent Claim
111 words
A mechanism for writing individually modifiable entries within a table to nonvolatile storage by I/O operations, said mechanism comprising: means for indicating pendency of I/O operations on said table, said means for indicating pendency being contained within said table; means for indicating a requirement for each entry to be written to nonvolatile storage, said means for indicating a requirement to be written being contained within each entry within said table; and means for comparing said means for indicating pendency of I/O operations with said means for indicating a requirement for each entry to be written to nonvolatile storage to determine whether contents of each entry should be written to nonvolatile storage.
Claim 19
Dependent Claim
111 words
A mechanism for writing individually modifiable entries within a table to nonvolatile storage by I/O operations, said mechanism comprising: means for indicating pendency of I/O operations on said table, said means for indicating pendency being contained within said table; means for indicating a requirement for each entry to be written to nonvolatile storage, said means for indicating a requirement to be written being contained within each entry within said table; and means for comparing said means for indicating pendency of I/O operations with said means for indicating a requirement for each entry to be written to nonvolatile storage to determine whether contents of each entry should be written to nonvolatile storage.
Claim 20
Dependent Claim
48 words
The mechanism according to claim 16, wherein said means for indicating pendency of I/O operations on said table comprises means for incrementing an I/O count in a header of said table by one at a beginning of each I/O operation and at an end of each I/O operation.
Claim 21
Dependent Claim
42 words
The mechanism according to claim 17, wherein said means for indicating a requirement for each entry to be written to nonvolatile storage comprises means for incrementing a count in each entry based upon said I/O count in said header of said table.
Claim 22
Dependent Claim
40 words
The mechanism according to claim 18, wherein said means for indicating a requirement for each entry to be written to nonvolatile storage further includes means for increment said count in each entry by two if said I/O count is even.
Claim 23
Dependent Claim
40 words
The mechanism according to claim 19, wherein said means for indicating a requirement for each entry to be written to nonvolatile storage further includes means for increments said count in each entry by three if said I/O count is odd.
Claim 24
Dependent Claim
63 words
The mechanism according to claim 20, wherein said means for comparing said means for indicating pendency of I/O operations with said means for indicating a requirement for each entry to be written to nonvolatile storage comprises means for indicating that an entry has been written to nonvolatile storage if said I/O count is greater than or equal to said count in said entry.