Supporting linked multi-user decision making in environments with constrained shared resources utilizing durable files

US9607033B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9607033-B2
Application numberUS-201113115531-A
CountryUS
Kind codeB2
Filing dateMay 25, 2011
Priority dateSep 23, 2010
Publication dateMar 28, 2017
Grant dateMar 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present invention manage multiple requests to allocate real world resources in a multi-user environment. A set of resource availability information is stored in a first durable data file for each resource in a plurality of resources provided by a database environment. The database environment is shared between a plurality of users. A decision context is associated with a second durable data file. The decision context is associated with a user interacting with the database environment. The decision context exists for a defined duration of time. A least one resource is determined to have been temporarily allocated to the decision context for the defined duration of time. The second durable data file is updated to indicate that the at least one resource has been temporarily allocated to the decision context. The first durable data file is updated to indicate that the at least one resource is currently unavailable.

First claim

Opening claim text (preview).

What is claimed is: 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 an identifier of the database record in the set of database records, a search specification using one of a database record identifier or an index value with the set of database records, and a lock mode to access the database record in the set of database records, the lock mode includes one of: update a single database record with an exclusive lock, update the single database record with an optimistic lock, and read access to one or more database records; and 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. 2. A system for managing multiple requests to allocate real world resources in a multi-user environment, the system comprising: a processor; a memory communicatively coupled to the processor; a decision base system communicatively coupled to the processor and the memory, wherein the decision base system is configured to perform a 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 an identifier of the database record in the set of database records, a search specification using one of a database record identifier or an index value within the set of database records, and a lock mode to access the database record in the set of database records, the lock mode includes one of: update a single database record with an exclusive lock, update the single database record with an optimistic lock, and read access to one or more database records; and 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 open multiple FABs are opened 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. 3. A computer program product for managing multiple requests to allocate real world resources in a multi-user environment, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit is configured to perform a 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 an identifier of the database record in the set of database records, a search specification using one of a database record identifier or an index value within the set of database records, and a lock mode to access the database record in the set of database records, the lock mode includes one of: update a single database record with an exclusive lock, update the single database record with an optimistic lock, and read access to one or more database records; and 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 open multiple FABs are opened 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. 4. The method of claim 1 , wherein one of the two nested FABs includes optimistic locking and the other of the two nested FABs includes pessimistic locking. 5. The system of claim 2 , wherein one of the two nested FABs includes optimistic locking and the other of the two nested FABs includes pessimistic locking. 6. The computer program product of claim 3 , wherein one of the two nested FABs includes optimistic locking and the other of the two nested FABs includes pessimistic locking.

Assignees

Inventors

Classifications

  • Locking methods, e.g. distributed locking or locking implementation details · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9607033B2 cover?
Embodiments of the present invention manage multiple requests to allocate real world resources in a multi-user environment. A set of resource availability information is stored in a first durable data file for each resource in a plurality of resources provided by a database environment. The database environment is shared between a plurality of users. A decision context is associated with a seco…
Who is the assignee on this patent?
Dantzig Paul M, Dryfoos Robert O, Duri Sastry S, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2343. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).