System for providing a time-limited mutual exclusivity lock and method therefor

US10459909B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10459909-B2
Application numberUS-201614995037-A
CountryUS
Kind codeB2
Filing dateJan 13, 2016
Priority dateJan 13, 2016
Publication dateOct 29, 2019
Grant dateOct 29, 2019

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.

A system and method for providing mutual exclusivity to an operation is presented. A memory location is checked to determine if the memory location is subject to an exclusive lock. If so, the age of the exclusive lock is determined. If the age of the exclusive lock is greater than a certain length of time, the exclusive lock on the memory location is released such that operations can be performed on the memory location. When a memory lock is created, a length of time can be associated with the memory location. The length of time can be a default length of time. The length of time can be a custom length that is stored in a database. Other embodiments also are disclosed.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more processors; and one or more non-transitory computer-readable media storing computing instructions configured to run on the one or more processors and perform acts of: executing a procedure to detect a failed release condition for a memory location in a database indicating when an error has occurred which results in a process failing to release an exclusive lock on the memory location, wherein executing the procedure includes: setting an age limit for the exclusive lock comprising a first length of time which is utilized to determine whether or not the error has occurred to result in the failed release condition; determining whether the exclusive lock is present on the memory location; when the exclusive lock is present on the memory location, determining an age of the exclusive lock on the memory location and a period of time remaining on the first length of time; when a time requirement to complete a write operation is less than the period of time remaining on the first length of time: performing the write operation to store data in the database at a location other than the memory location; and performing a read operation while the data from the write operation remains in the database; when the age of the exclusive lock is greater than the first length of time associated with the age limit: determining that the failed release condition has occurred; releasing the exclusive lock on the memory location; and storing data in the memory location. 2. The system of claim 1 , wherein the computing instructions are further configured to perform acts of: creating the exclusive lock on the memory location; and releasing the exclusive lock on the memory location after completing an operation on the memory location. 3. The system of claim 2 , wherein the computing instructions are further configured to perform an act of: writing the first length of time and the memory location to a database. 4. The system of claim 1 , wherein the computing instructions are further configured to perform acts of: estimating the time requirement for completing the write operation on the memory location; determining a remaining time of the first length of time; aborting the write operation when the time requirement is greater than the remaining time of the first length of time; and releasing the exclusive lock on the memory location after aborting the write operation. 5. The system of claim 1 , wherein: the first length of time is a maximum allowed age for all memory locations within the system; and the first length of time is read from a database. 6. The system of claim 1 , wherein the computing instructions are further configured to perform acts of: creating the exclusive lock on the memory location; writing the first length of time and the memory location to a database; estimating a time requirement for completing the write operation on the memory location; determining a remaining time of the first length of time; aborting the write operation when the time requirement is greater than the remaining time of the first length of time; and releasing the exclusive lock on the memory location after aborting the write operation, wherein the first length of time is read from the database. 7. The system of claim 1 , wherein the procedure is configured to detect failed release conditions resulting from: errors that originate from a computer device, which is holding the exclusive lock, crashing; errors that originate from a computer device, which is holding the exclusive lock, becoming disconnected from a network; and errors that originate from deadlocks or exceptions being utilized with multiple concurrent threads running in a memory space within one computer program. 8. The system of claim 1 , determining an age of the exclusive lock location on the memory location. 9. A method comprising: executing a procedure to detect a failed release condition for a memory location in a database of a non-transitory computer memory, using a processor, indicating when an error has occurred which results in a process failing to release an exclusive lock on the memory location, wherein executing the procedure includes: setting an age limit for the exclusive lock comprising a first length of time which is utilized to determine whether or not the error has occurred to result in the failed release condition; determining whether the exclusive lock is present on the memory location; when the exclusive lock is present on the memory location, determining an age of the exclusive lock of the memory location and a period of time remaining on the first length of time; when a time requirement to complete a write operation is less than the period of time remaining on the first length of time: performing the write operation to store data in the database at a location other than the memory location; and performing a read operation while the data from the write operation remains in the database; and when the age of the exclusive lock is greater than the first length of time associated with the age limit: determining that the failed release condition has occurred and releasing the exclusive lock on the memory location. 10. The method of claim 9 , further comprising: creating the exclusive lock on the memory location; and releasing the exclusive lock on the memory location after completing an operation on the memory location. 11. The method of claim 10 , further comprising: writing the first length of time and the memory location to a database. 12. The method of claim 9 , further comprising: estimating the time requirement for completing the write operation on the memory location; determining a remaining time of the first length of time; aborting the write operation when the time requirement is greater than the remaining time of the first length of time; and releasing the exclusive lock on the memory location after aborting the write operation. 13. The method of claim 9 , wherein: the first length of time is a maximum allowed age for all memory locations within a system. 14. The method of claim 9 , wherein: the first length of time is read from a database. 15. The method of claim 9 , further comprising: creating the exclusive lock on the memory location; writing the first length of time and the memory location to a database; estimating a time requirement for completing the write operation on the memory location; determining a remaining time of the first length of time; aborting the write operation when the time requirement is greater than the remaining time of the first length of time; and releasing the exclusive lock on the memory location after aborting the write operation, wherein the first length of time is read from the database. 16. The method of claim 9 , determining an age of the exclusive lock location on the memory location. 17. A non-transitory computer readable storage medium having data stored therein representing software executable by a computer, the non-transitory computer readable storage medium comprising: instructions for executing a procedure to detect a failed release condition for a memory location in a database indicating when an error has occurred which results in a process failing to release an exclusive lock on the memory location, wherein the procedure includes: instructions for setting an age limit for the exclusive lock comprising a first length of time which is utilized to determine whether or not the error has occurred to result in the failed release condition; in

Assignees

Inventors

Classifications

  • Deadlock detection or avoidance · CPC title

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

  • Multiprogramming arrangements · CPC title

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 US10459909B2 cover?
A system and method for providing mutual exclusivity to an operation is presented. A memory location is checked to determine if the memory location is subject to an exclusive lock. If so, the age of the exclusive lock is determined. If the age of the exclusive lock is greater than a certain length of time, the exclusive lock on the memory location is released such that operations can be perform…
Who is the assignee on this patent?
Wal Mart Stores Inc, Walmart Apollo Llc
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 Oct 29 2019 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).