Claims Analysis
Total Claims: 15
Claim 1
Independent Claim
491 words
A multi-user system for managing a database having a multitude of data objects arranged in a hierarchy, said system comprising: a file access processor for accessing the database and managing requests relating to said data objects; a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update a specified first data object and an explicit request for one of a plurality of explicit locks on said first data object pursuant to said read and/or update request, and a request to read and/or update a specified second data object without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to the explicit request for said explicit lock on said first data object, for providing said explicit lock only on said first data object, and means, responsive to the request to read and/or update said second data object without explicitly requesting an explicit lock on any of the data objects, for providing one of a plurality of implicitly locks on said second data object and all other data objects which descend from a same node as said second data object in said hierarchy; and said file access processor includes means, responsive to another request to read or update a specific data object pursuant to an associated explicit lock, for determining if a conflict exists with any previously established explicit or implicit lock; and wherein said plurality of explicit locks comprise an explicit exclusive lock in which the requesting application support processor has exclusive read and update access to said first data object and the other application support processors are denied all access to and all locks on said first data object, an explicit update lock in which a requesting application support processor has read and update access to said first data object and another application support processor can obtain an implicit share lock on said first data object, and an explicit share lock in which a requesting application support processor has read access to said first data object and all of the other application support processors have read access to said first data object but cannot obtain exclusive access to or an explicit update lock, explicit exclusive lock or implicit exclusive lock on said first data object; and said plurality of implicit locks comprise an implicit exclusive lock on said second data object in which the other application support processors are denied all access to and all explicit and implicit locks on said second data object, and an implicit share lock on said second data object in which the other application support processors can obtain an explicit share lock, an explicit update lock and an implicit share lock on said second data object but are denied an explicit exclusive lock and an implicit exclusive lock on said second data object.
Claim 2
Dependent Claim
491 words
A multi-user system for managing a database having a multitude of data objects arranged in a hierarchy, said system comprising: a file access processor for accessing the database and managing requests relating to said data objects; a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update a specified first data object and an explicit request for one of a plurality of explicit locks on said first data object pursuant to said read and/or update request, and a request to read and/or update a specified second data object without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to the explicit request for said explicit lock on said first data object, for providing said explicit lock only on said first data object, and means, responsive to the request to read and/or update said second data object without explicitly requesting an explicit lock on any of the data objects, for providing one of a plurality of implicitly locks on said second data object and all other data objects which descend from a same node as said second data object in said hierarchy; and said file access processor includes means, responsive to another request to read or update a specific data object pursuant to an associated explicit lock, for determining if a conflict exists with any previously established explicit or implicit lock; and wherein said plurality of explicit locks comprise an explicit exclusive lock in which the requesting application support processor has exclusive read and update access to said first data object and the other application support processors are denied all access to and all locks on said first data object, an explicit update lock in which a requesting application support processor has read and update access to said first data object and another application support processor can obtain an implicit share lock on said first data object, and an explicit share lock in which a requesting application support processor has read access to said first data object and all of the other application support processors have read access to said first data object but cannot obtain exclusive access to or an explicit update lock, explicit exclusive lock or implicit exclusive lock on said first data object; and said plurality of implicit locks comprise an implicit exclusive lock on said second data object in which the other application support processors are denied all access to and all explicit and implicit locks on said second data object, and an implicit share lock on said second data object in which the other application support processors can obtain an explicit share lock, an explicit update lock and an implicit share lock on said second data object but are denied an explicit exclusive lock and an implicit exclusive lock on said second data object.
Claim 3
Dependent Claim
83 words
A system as set forth in claim 1 wherein said plurality of implicit locks also comprise an intent exclusive lock in which the requesting application support processor has the option of later obtaining an implicit exclusive lock in place of the intent exclusive lock on said second data object, and an intent share lock in which the requesting application support processor has the option of later obtaining an implicit share lock in place of the intent share lock on said second data object.
Claim 4
Dependent Claim
134 words
A system as set forth in claim 2 wherein the means for determining if a conflict exists determines the conflicts as indicated by the following compatability chart in which a "Y" in any position indicates compatibility between the corresponding locks, and an "N" in any position indicates a conflict between the corresponding locks: __________________________________________________________________________
Explicit Explicit
Explicit
Intent
Intent
Implicit
Implicit
Share Update
Exclusive
Share
Exclusive
Share
Exclusive
__________________________________________________________________________
Explicit
Y N N Y N Y N
Share
Explicit
N N N Y N Y N
Update
Explicit
N N N N N N N
Exclusive
Intent
Y Y N Y Y Y N
Share
Intent
N N N Y Y N N
Exclusive
Implicit
Y Y N Y N Y N
Share
Implicit
N N N N N N N
[Share]
Exclusive
__________________________________________________________________________
Claim 5
Independent Claim
366 words
A system for managing a shared, hierarchical database having a multitude of data objects at a low level in the hierarchy and a plurality of nodes at a higher level in the hierarchy, each of said nodes encompassing a plurality of said data objects, said system comprising: file access processor means for managing access to the data base; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor means a request to read and/or update any one of said data objects, said request specifying said any one of said data objects and explicitly requesting one of a plurality of explicit locks on said any one of said data objects for said request, and a request to read and/or update any one of said data objects without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor means responds to a first request to update a first one of said data objects encompassed by a first node and an explicit request for one of a plurality of explicit locks on said first data object, by providing said explicit lock on said first data object but not on a second data object encompassed by said first node; said file access processor means responds to a second request to update said second data object and an explicit request for one of a plurality of explicit locks on said second data object, by providing said explicit lock an said second data object but not on said first data object; said file access processor means responds to a third request to update a third one of said data objects encompassed by said second node without explicitly requesting an explicit lock on any of said data objects or nodes, by providing one of a plurality of implicit locks on said second node and all data objects encompassed by said second node; and said file access processor means can concurrently provide said locks on said first and second data objects and all data objects encompassed by said second node pursuant to said first, second and third requests, respectively.
Claim 6
Independent Claim
366 words
A system for managing a shared, hierarchical database having a multitude of data objects at a low level in the hierarchy and a plurality of nodes at a higher level in the hierarchy, each of said nodes encompassing a plurality of said data objects, said system comprising: file access processor means for managing access to the data base; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor means a request to read and/or update any one of said data objects, said request specifying said any one of said data objects and explicitly requesting one of a plurality of explicit locks on said any one of said data objects for said request, and a request to read and/or update any one of said data objects without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor means responds to a first request to update a first one of said data objects encompassed by a first node and an explicit request for one of a plurality of explicit locks on said first data object, by providing said explicit lock on said first data object but not on a second data object encompassed by said first node; said file access processor means responds to a second request to update said second data object and an explicit request for one of a plurality of explicit locks on said second data object, by providing said explicit lock an said second data object but not on said first data object; said file access processor means responds to a third request to update a third one of said data objects encompassed by said second node without explicitly requesting an explicit lock on any of said data objects or nodes, by providing one of a plurality of implicit locks on said second node and all data objects encompassed by said second node; and said file access processor means can concurrently provide said locks on said first and second data objects and all data objects encompassed by said second node pursuant to said first, second and third requests, respectively.
Claim 7
Dependent Claim
24 words
A system as set forth in claim 4 wherein said file access processor means removes said implicit lock after said third request is satisfied.
Claim 8
Dependent Claim
81 words
A system as set forth in claim 5 wherein while said implicit lock exists, said file access processor means responds to a fourth request to update a fourth one of said data objects encompassed by said second node and an explicit request for an exclusive lock on said fourth data object, by determining that said explicit exclusive lock is not compatible with said implicit lock and rejecting said fourth request or holding said fourth request until said implicit lock is removed.
Claim 9
Dependent Claim
23 words
A system as set forth in claim 4 wherein said first, second and third requests all request update of the respective data objects.
Claim 10
Independent Claim
325 words
A system for managing a shared, hierarchical database having a multiplicity of data objects at a low level in the hierarchy and a plurality of nodes at a higher level in the hierarchy, each of said nodes encompassing a plurality of said data objects, said system comprising: a file access processor for managing access to the data base; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update any one of said data objects, said request specifying said any one of said data objects and explicitly requesting one of a plurality of types of explicit locks on said any one of said data objects for said request, and a request to read and/or update another one of said data objects without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to each explicit request for a type of explicit lock on a specific data object, for determining if said explicit lock is compatible with other extant explicit and implicit locks on said specific data object, and if so, providing said explicit lock for said specific data object, said explicit lock being limited to said specific data object; and said file access processor includes means, responsive to a request to read and/or update a specific one of said data objects encompassed by a node without explicitly requesting an explicit lock on any of said data objects or nodes, for determining if a type of implicit lock, corresponding to the type of request, on said node and all data objects encompassed by said node is compatible with other extent explicit and implicit locks on said node or any data objects encompassed by said node, and if so, providing said implicit lock on said node and all data objects encompassed by said node.
Claim 11
Independent Claim
325 words
A system for managing a shared, hierarchical database having a multiplicity of data objects at a low level in the hierarchy and a plurality of nodes at a higher level in the hierarchy, each of said nodes encompassing a plurality of said data objects, said system comprising: a file access processor for managing access to the data base; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update any one of said data objects, said request specifying said any one of said data objects and explicitly requesting one of a plurality of types of explicit locks on said any one of said data objects for said request, and a request to read and/or update another one of said data objects without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to each explicit request for a type of explicit lock on a specific data object, for determining if said explicit lock is compatible with other extant explicit and implicit locks on said specific data object, and if so, providing said explicit lock for said specific data object, said explicit lock being limited to said specific data object; and said file access processor includes means, responsive to a request to read and/or update a specific one of said data objects encompassed by a node without explicitly requesting an explicit lock on any of said data objects or nodes, for determining if a type of implicit lock, corresponding to the type of request, on said node and all data objects encompassed by said node is compatible with other extent explicit and implicit locks on said node or any data objects encompassed by said node, and if so, providing said implicit lock on said node and all data objects encompassed by said node.
Claim 12
Dependent Claim
67 words
A system as set forth in claim 8 wherein: said file access processor means determines compatibility based on the types of extant locks on a data object sought to be locked pursuant to a current request and the type of lock required for said object pursuant to said current request; and said file access processor means can concurrently provide plural compatible locks on a single data object.
Claim 13
Dependent Claim
215 words
A multi-user system for managing a database having a multitude of data objects arranged in a hierarchy, said system comprising: a file access processor for accessing the database and managing requests relating to said data objects; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update a specified first data object and an explicit request for one of a plurality of explicit locks on said first data object pursuant to said read and/or update request and a request to read and/or update a specified second data object without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to the explicit request for said explicit lock on said first data object, for providing said explicit lock only on said first data object, and means, responsive to the request to read and/or update said second data object without explicitly requesting an explicit lock on any of the data objects, for providing one of a plurality of implicit locks on said second data object and all other data objects which descend from a same node as said second data object in said hierarchy.
Claim 14
Dependent Claim
215 words
A multi-user system for managing a database having a multitude of data objects arranged in a hierarchy, said system comprising: a file access processor for accessing the database and managing requests relating to said data objects; and a plurality of application support processors coupled to the file access processor, each of said application support processors including means for transmitting to said file access processor a request to read and/or update a specified first data object and an explicit request for one of a plurality of explicit locks on said first data object pursuant to said read and/or update request and a request to read and/or update a specified second data object without explicitly requesting an explicit lock on any of said data objects; and wherein said file access processor includes means, responsive to the explicit request for said explicit lock on said first data object, for providing said explicit lock only on said first data object, and means, responsive to the request to read and/or update said second data object without explicitly requesting an explicit lock on any of the data objects, for providing one of a plurality of implicit locks on said second data object and all other data objects which descend from a same node as said second data object in said hierarchy.
Claim 15
Dependent Claim
51 words
A system as set forth in claim 10 wherein said file access processor includes means, responsive to each request to read or update a specific data object with or without an explicit request for an explicit lock, for determining if a conflict exists with any previously established explicit or implicit lock.