Handling failure of a command to add a record to a log

US9792066B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9792066-B2
Application numberUS-201514629012-A
CountryUS
Kind codeB2
Filing dateFeb 23, 2015
Priority dateFeb 23, 2015
Publication dateOct 17, 2017
Grant dateOct 17, 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.

Provided are a computer program product, system, and method for handling failure of a command to add a record to a log. The log has records at log addresses. Each record in the log includes a key and value and the log addresses map to physical addresses in the storage. A first command for a key and value pair for a record at a specified log address in the log to add to a selected log address in the log is sent. A second command for the key and value pair for the record at the specified log address with a resend parameter set is sent in response to not receiving the selected log address. In response to receiving the second command with the resend parameter set, the log is scanned to determine a log address having the key and value pair. The determined log address is returned.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for managing data in a storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising: providing a log having records at log addresses, wherein each record in the log includes a key and value, and wherein the log addresses map to physical addresses in the storage; sending a first command for a key and value pair for a record at a specified log address in the log to add to a selected log address in the log; sending a second command for the key and value pair for the record at the specified log address with a resend parameter set in response to not receiving the selected log address; in response to receiving the second command with the resend parameter set, scanning the log to determine if there is a determined log address after the specified log address having the key and value pair for the second command; and returning the determined log address in response to determining that the determined log address has the key and value pair for the second command. 2. The computer program product of claim 1 , wherein the operations further comprise: providing an index to records in a log, wherein each index entry in the index identifies a log address in the log of one of the records; receiving a returned log address in the log of the record having the key and value for the first or the second command in response to sending the first command or the second command, respectively, wherein the record having the key and value for the first or the second command is added to a record at the returned log address in the log; and updating the index to replace the index entry for the specified log address with an index entry for the returned log address. 3. The computer program product of claim 2 , wherein the log is scanned following a checkpoint log address in the log, wherein log addresses prior to the checkpoint log address have been validated as indexed in the index, and wherein log address following the checkpoint log address have not been validated. 4. The computer program product of claim 1 , wherein the first and second commands are of a command type, wherein the operations further comprise: determining whether any received command of the command type includes the resend parameter set; adding the key and value for the received command to a selected log address in the log in response to determining that the received command does not include the resend parameter; and returning the selected log address to the received command having the resend parameter not set. 5. The computer program product of claim 1 , wherein the operations further comprise: adding the key and value for the record for the second command to a selected log address in the log in response to not locating a log address following the specified log address having the key and value pair of the second command when scanning the log; and returning the selected log address to the second command. 6. The computer program product of claim 1 , wherein the selected log address is located at a most recently used end of the log to which new entries are added. 7. The computer program product of claim 1 , wherein the storage comprises a plurality of storage devices, wherein the log addresses map to physical addresses in the plurality of storage devices, and wherein the data for the records in the log is stored at the physical address in the storage device mapping to the log address identifying the record. 8. The computer program product of claim 1 , wherein the operations further comprise: providing a storage service on a first system to manage the log; providing an index service on a second system in communication with the first system to manage an index to records in the log, wherein each index entry in the index identifies a log address in the log of one of the records; wherein the index service performs the operations of sending the first and the second commands, and wherein the storage service performs the operations of the scanning the log and returning the determined log address. 9. The computer program product of claim 8 , wherein the operations further comprise: receiving, by the index service, a returned log address in the log of the record having the key and value for the first or the second command in response to sending the first command or the second command, respectively; and adding, by the index service, the returned log address to an index to records in the log, wherein each index entry in the index identifies a log address in the log of one of the records having a current key and value pair. 10. The computer program product of claim 9 , wherein the storage service further performs: adding a record having the key and value for the first or second command to a selected log address in the log in response to determining that the received second command does not include the resend parameter or in response to not locating a log address other than the specified log address having the key and value pair in the second command when scanning the log; and returning the selected log address to the first or second command causing the record having the key and value for the first or second command, respectively, to be added to the selected log address. 11. The computer program product of claim 10 , wherein the storage service further performs: deleting a record at a physical address in the storage to which the specified log address maps in response to adding the key and value to the selected log address. 12. The computer program product of claim 8 , wherein the first and second commands comprise a first PUT command and a second PUT command, wherein the index service includes the key, a value for the key, the specified log address, and the resend parameter not being set in the first PUT command and wherein the index service includes the key, the value for the key, the specified log address, and the resend parameter set in the second PUT command. 13. A system for managing data in a storage, comprising: a processor; and a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising: providing a log having records at log addresses, wherein each record in the log includes a key and value, and wherein the log addresses map to physical addresses in the storage; sending a first command for a key and value pair for a record at a specified log address in the log to add to a selected log address in the log; sending a second command for the key and value pair for the record at the specified log address with a resend parameter set in response to not receiving the selected log address; in response to receiving the second command with the resend parameter set, scanning the log to determine if there is a determined log address after the specified log address having the key and value pair for the second command; and returning the determined log address in response to determining that the determined log address has the key and value pair for the second command. 14. The system of claim 13 , wherein the first and second commands are of a command type, wherein the operations further comprise: determining whether any received command of the command type includes the resend parameter set; adding the key and value for the received command to a selected log address in the log in response to determining that the received command does not include the resend parameter; and returning the selected log address to th

Assignees

Inventors

Classifications

  • using file system or storage system metadata · CPC title

  • Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title

  • Transmit or communication errors · CPC title

  • Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs · CPC title

  • Journaling file systems · 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 US9792066B2 cover?
Provided are a computer program product, system, and method for handling failure of a command to add a record to a log. The log has records at log addresses. Each record in the log includes a key and value and the log addresses map to physical addresses in the storage. A first command for a key and value pair for a record at a specified log address in the log to add to a selected log address in…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1435. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 17 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).