Light-weight lifecycle management of enqueue locks

US9672494B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9672494-B2
Application numberUS-201414553050-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateJun 6, 2017
Grant dateJun 6, 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.

In an example embodiment, a request for an enqueue lock for a first piece of data is received from a client application. At an enqueue server separate from an application server instance, a light-weight enqueue session is then created, including generating a light-weight enqueue session identification for the light-weight enqueue session. An enqueue lock for the first piece of data is stored in the light-weight enqueue session. The light-weight enqueue session identification is then sent to the client application. In response to a detection that a session between the client application and the application server instance has been terminated, all enqueue locks in the light-weight enqueue session are deleted and the light-weight enqueue session is deleted.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, from a client application, a request for an enqueue lock for a first piece of data; creating, by an enqueue server separate from an application server instance, a light-weight enqueue session at the enqueue server for managing lifecycle of enqueue locks, the creating including generating a light-weight enqueue session identification for the light-weight enqueue session; storing, in the light-weight enqueue session, the enqueue lock for the first piece of data; sending the light-weight enqueue session identification to the client application; receiving, from the client application, a request for an enqueue lock for a second piece of data, the request for the enqueue lock for the second piece of data including the light-weight enqueue session identification; storing, in the light-weight enqueue session, the enqueue lock for the second piece of data; detecting that a session between the client application and the application server instance has been terminated; and deleting all enqueue locks in the light-weight enqueue session and deleting the light-weight enqueue session in response to the detection that the session between the client application and the application server instance has been terminated. 2. The method of claim 1 , wherein the receiving, from the client application, the request for the enqueue lock for the first piece of data comprises receiving the request for the enqueue lock for the first piece of data via the application server instance. 3. The method of claim 1 , wherein the receiving, from the client application, the request for the enqueue lock for the second piece of data comprises receiving the request for the enqueue lock for the second piece of data via the application server instance. 4. The method of claim 1 , wherein the sending the light-weight enqueue session identification to the client application comprises sending the light-weight enqueue session identification to the client application via the application server instance. 5. The method of claim 1 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises receiving notification that a WebSocket connection between the client application and the application server instance has been terminated. 6. The method of claim 1 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises determining that a time elapsed since a last request from the client application including the light-weight enqueue session identification was received exceeds a timeout value. 7. The method of claim 1 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises receiving notification that a WebSocket connection between the client application and the application server instance has been terminated and also determining that a time elapsed since the WebSocket connection has been terminated and no new WebSocket connection including the light-weight enqueue session identification has been established. 8. The method of claim 1 , wherein the enqueue lock is owned by a database entry. 9. A system comprising: an application server instance; and an enqueue server; the application server instance comprising one or more processors and configured to: receive, from a client application, a request for an enqueue lock for a first piece of data; send the request for the enqueue lock for the first piece of data to the enqueue server; the enqueue server configured to: create a light-weight enqueue session for managing lifecycle of enqueue locks, the creating including generating a light-weight enqueue session identification for the light-weight enqueue session; store, in the light-weight enqueue session, the enqueue lock for the first piece of data; send the light-weight enqueue session identification to the application server instance; the application server instance further configured to: send the light-weight enqueue session identification to the client application; receive, from the client application, a request for an enqueue lock for a second piece of data, the request for the enqueue lock for the second piece of data including the light-weight enqueue session identification; send the request for the enqueue lock for the second piece of data to the enqueue server; the enqueue server further configured to: store, in the light-weight enqueue session, the enqueue lock for the second piece of data; detect that a session between the client application and the application server instance has been terminated; and delete all enqueue locks in the light-weight enqueue session and delete the light-weight enqueue session in response to the detection that the session between the client application and the application server instance has been terminated. 10. The system of claim 9 , wherein the application server instance is an index server in an in-memory database management system. 11. The system of claim 9 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises receiving notification that a WebSocket connection between the client application and the application server instance has been terminated. 12. The system of claim 9 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises determining that a time elapsed since a last request from the client application including the light-weight enqueue session identification was received exceeds a timeout value. 13. The system of claim 9 , wherein the detecting that the session between the client application and the application server instance has been terminated comprises receiving notification that a WebSocket connection between the client application and the application server instance has been terminated and also determining that a time elapsed since the WebSocket connection has been terminated and no new WebSocket connection including the light-weight enqueue session identification has been established. 14. The system of claim 13 , wherein the application server instance and the enqueue server operate on the same application server. 15. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising: receiving, from a client application, a request for an enqueue lock for a first piece of data; creating, by an enqueue server separate from an application server instance, a light-weight enqueue session at the enqueue server for managing lifecycle of enqueue locks, the creating including generating a light-weight enqueue session identification for the light-weight enqueue session; storing, in the light-weight enqueue session, the enqueue lock for the first piece of data; sending the light-weight enqueue session identification to the client application; receiving, from the client application, a request for an enqueue lock for a second piece of data, the request for the enqueue lock for the second piece of data including the light-weight enqueue session identification; storing, in the light-weight enqueue session, the enqueue lock for the second piece of data; detecting that a session between the client application and the application server instance has been terminated; and deleting all enqueue locks in the light-weight enqueue session and deleting t

Assignees

Inventors

Classifications

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

  • G06Q10/10Primary

    Office automation; Time management · CPC title

  • Transaction processing · CPC title

  • Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding · CPC title

  • Session management (for real-time applications in data packet communications networks H04L65/1066) · 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 US9672494B2 cover?
In an example embodiment, a request for an enqueue lock for a first piece of data is received from a client application. At an enqueue server separate from an application server instance, a light-weight enqueue session is then created, including generating a light-weight enqueue session identification for the light-weight enqueue session. An enqueue lock for the first piece of data is stored in…
Who is the assignee on this patent?
Jolfaei Masoud Aghadavoodi, Lott Edgar, Braemer Achim, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06Q10/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 06 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).