Patent ID: 9607033
Date: 2017-03-28
CPC Classifications: G06F

Claim:
1. A method for managing multiple requests to allocate real world resources in a multi-user environment, the method comprising: operating a multi-user database environment for access via user systems each with a software application, the database environment including a set of database records representing limited resources to share among the user systems; receiving a request from the software application to establish a file access block (FAB) for accessing and locking a database record in the set of database records, the request including open FAB input parameters of opening the FAB using the FAB input parameters and locking the database records in the set of database records for a given amount of time based on the lock mode; opening another FAB, allowing the software application concurrent access to multiple database records, wherein the software application holds open multiple FABs in a nested structure, wherein the another FAB includes lock mode access that is different than the lock mode access of the FAB, thereby resulting in two nested FABs with different lock modes and lock holding times; avoiding deadlock by ensuring that inner FABs only lock database records representing resources later in time in a resource ordering scheme than any other current locks held by the software application; and releasing locks independently on each database record accessed by the software application, without waiting for other outer FAB data accesses to complete, such that when control exits from a FAB, record locks associated with that FAB are immediately released.