Algorithm for dynamic selection of data locking granularity
AssigneeOpenwave Systems Inc.
InventorSteve Holmgren
Life of this patent
Estimating the term…
Abstract
A method and apparatus for improving database concurrency are described. Upon receiving a request to access data, a data locality within a database may be determined utilizing unique data keys. An access to the data may be provided while locking part of the database based on a data locking level determined based on deadlock history corresponding to the data locality.
Claims51
A method for improving database concurrency comprising:
- receiving a request to access data;
- determining a data locality within a database utilizing unique data keys;
- determining a data locking level based on a deadlock history corresponding to the data locality;
- providing access to the data while locking part of the database based on the data locking level.
A method for improving database concurrency comprising:
- assigning a first unique key to a user of an email system located on a server;
- assigning a second unique key to a mailbox of a plurality of mailboxes corresponding to the user;
- assigning a third unique key to an email message of a plurality of email messages corresponding to the mailbox;
- receiving a request to access data from the user;
- determining a data locality of user requested data utilizing the unique identification keys;
- comparing a deadlock history corresponding to the data locality to a plurality of deadlock threshold levels;
- determining a data locking level based on a result of the comparing;
- and
- locking the database based on the data locking level.
A method for improving database concurrency comprising:
- assigning a first unique key to a user of a data system located on a server;
- assigning a second unique key to a mailbox of a plurality of mailboxes corresponding to the user;
- assigning a third unique key to an email message of a plurality of email messages corresponding to the mailbox;
- receiving a request to access data from the user;
- determining a data locality of user requested data utilizing the unique identification keys;
- comparing a deadlock history corresponding to the data locality to a plurality of deadlock threshold levels;
- determining a data locking level based on a result of the comparing;
- and
- locking the database based on the data locking level.
An apparatus for improving database concurrency comprising:
- a data locator to determine a user-requested data locality within a database utilizing unique data keys;
- a deadlock analysis module to determine a data locking level by comparing a number of deadlocks corresponding to the data locality occurred in a predetermined period of time to a deadlock threshold level and to lock the database based the data locking level.
An apparatus for improving database concurrency comprising:
- means for receiving a request to access data;
- means for determining a data locality within a database utilizing unique data keys;
- means for determining a data locking level based on a deadlock history corresponding to the data locality;
- means for providing access to the data while locking part of the database based on the data locking level.
A processing system comprising:
- a processor;
- and
- a storage medium having stored therein instructions which, when executed by the processor, cause the processing system to perform a method comprising:
- receiving a request to access data;
- determining a data locality within a database utilizing unique data keys;
- determining a data locking level based on a deadlock history corresponding to the data locality;
- providing access to the data while locking part of the database based on the data locking level.
Dependencies are inferred from the claim text.