Serializing resource utilization using hardware built-in functions

US9477696B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9477696-B2
Application numberUS-201414206467-A
CountryUS
Kind codeB2
Filing dateMar 12, 2014
Priority dateMar 12, 2014
Publication dateOct 25, 2016
Grant dateOct 25, 2016

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 method includes identifying a first value of a lock word corresponding to a data structure, by a process in a plurality of processes that each have access to the data structure. The method also includes copying the data structure to a corresponding shadow record. The method additionally includes modifying the shadow record with a desired update for the data structure, and atomically updating the data structure and the lock word, by the process, using a hardware built-in function. The updating includes identifying a second value of the lock word and determining whether the first value of the lock word and the second value of the lock word are equivalent. The method additionally includes, in response to determining that the first value of the lock word and the second value of the lock word are equivalent, replacing the data structure with the shadow record and incrementing the lock word.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: identifying a first value of a lock word corresponding to a data structure, by a process in a plurality of processes that each have access to the data structure; copying the data structure to a corresponding shadow record; modifying the corresponding shadow record with a desired update for the data structure; and atomically updating the data structure and the lock word, by the process, using a hardware built-in function, the updating comprising: identifying a second value of the lock word; determining whether the first value of the lock word and the second value of the lock word are equivalent; in response to determining that the first value of the lock word and the second value of the lock word are equivalent, replacing the data structure with the modified corresponding shadow record; and incrementing the lock word. 2. The method of claim 1 , wherein the hardware built-in function is configured to atomically store three values based on the outcome of a comparison; and wherein the three values correspond to a first pointer in the data structure, a second pointer in the data structure, and the lock word respectively. 3. The method of claim 1 , wherein the updating the data structure further comprises: in response to determining that the first value of the lock word and the second value of the lock word are not equivalent, copying the data structure to a second corresponding shadow record; modifying the second corresponding shadow record with the desired update for the data structure; identifying a third value of the lock word; and determining whether the second value of the lock word and the third value of the lock word are equivalent. 4. The method of claim 1 , wherein the hardware built-in function comprises a perform lock operation (“PLO”) compare swap and triple store instruction in a z/OS system. 5. The method of claim 4 , wherein atomically updating the data structure and the lock word further comprise: initializing the PLO instruction with: the first value of the lock word; an incremented value of the lock word; a first pointer in the shadow record; and a second pointer in the shadow record; and executing the PLO instruction. 6. The method of claim 1 , wherein the data structure is stored in a first memory block having a first control key indicative of a high-protection state, and the process runs in a second memory block having a second control key state indicative of a low-protection state. 7. The method of claim 5 , wherein the PLO instruction returns a result code upon execution, the result code indicating success of the PLO instruction upon execution. 8. A computer configured to access a storage device, the computer comprising: a processor; and a non-transitory, computer-readable storage medium storing computer-readable instructions that when executed by the processor cause the computer to perform: identifying a first value of a lock word corresponding to a data structure, by a process in a plurality of processes that each have access to the data structure; copying the data structure to a corresponding shadow record; modifying the corresponding shadow record with a desired update for the data structure; and atomically updating the data structure and the lock word, by the process, using a hardware built-in function, the updating comprising: identifying a second value of the lock word; determining whether the first value of the lock word and the second value of the lock word are equivalent; in response to determining that the first value of the lock word and the second value of the lock word are equivalent, replacing the data structure with the modified corresponding shadow record; and incrementing the lock word. 9. The computer of claim 8 , wherein the hardware built-in function is configured to atomically store three values based on the outcome of a comparison; and wherein the three values correspond to a first pointer in the data structure, a second pointer in the data structure, and the lock word respectively. 10. The computer of claim 8 , wherein the updating the data structure further comprises: in response to determining that the first value of the lock word and the second value of the lock word are not equivalent, copying the data structure to a second corresponding shadow record; modifying the second corresponding shadow record with the desired update for the data structure; identifying a third value of the lock word; and determining whether the second value of the lock word and the third value of the lock word are equivalent. 11. The computer of claim 8 , wherein the hardware built-in function comprises a perform lock operation (“PLO”) compare swap and triple store instruction in a z/OS system. 12. The computer of claim 11 , wherein atomically updating the data structure and the lock word further comprise: initializing the PLO instruction with: the first value of the lock word; an incremented value of the lock word; a first pointer in the shadow record; and a second pointer in the shadow record; and executing the PLO instruction. 13. The computer of claim 8 , wherein the data structure is stored in a first memory block having a first control key indicative of a high-protection state, and the process runs in a second memory block having a second control key state indicative of a low-protection state. 14. The computer of claim 12 , wherein the PLO instruction returns a result code upon execution, the result code indicating success of the PLO instruction upon execution. 15. A computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising: computer-readable program code configured to identify a first value of a lock word corresponding to a data structure, by a process in a plurality of processes that each have access to the data structure; computer-readable program code configured to copy the data structure to a corresponding shadow record; computer-readable program code configured to modify the corresponding shadow record with a desired update for the data structure; and computer-readable program code configured to atomically update the data structure and the lock word, by the process, using a hardware built-in function, the updating comprising: identifying a second value of the lock word; determining whether the first value of the lock word and the second value of the lock word are equivalent; in response to determining that the first value of the lock word and the second value of the lock word are equivalent, replacing the data structure with the modified corresponding shadow record; and incrementing the lock word. 16. The computer program product of claim 15 , wherein the hardware built-in function is configured to atomically store three values based on the outcome of a comparison; and wherein the three values correspond to a first pointer in the data structure, a second pointer in the data structure, and the lock word respectively. 17. The computer program product of claim 15 , wherein the updating the data structure further comprises: in response to determining that the first value of the lock word and the second value of the lock word are not equivalent, copying the data structure to a second corresponding shadow record; modifying the second corresponding shadow record with the desired update for the data structure; identifying a third value of the lock word; and determining whether the second value of the lock word a

Assignees

Inventors

Classifications

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 US9477696B2 cover?
A method includes identifying a first value of a lock word corresponding to a data structure, by a process in a plurality of processes that each have access to the data structure. The method also includes copying the data structure to a corresponding shadow record. The method additionally includes modifying the shadow record with a desired update for the data structure, and atomically updating …
Who is the assignee on this patent?
Helsley David, Lee Lawrence, Ca Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/21. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 25 2016 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).