Methods and apparatus for minimally disruptive data migration
US-9417812-B1 · Aug 16, 2016 · US
US10459909B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10459909-B2 |
| Application number | US-201614995037-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 13, 2016 |
| Priority date | Jan 13, 2016 |
| Publication date | Oct 29, 2019 |
| Grant date | Oct 29, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Deadlock detection or avoidance · CPC title
Locking methods, e.g. distributed locking or locking implementation details · CPC title
Multiprogramming arrangements · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.