Tail of logs in persistent main memory

US10387274B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10387274-B2
Application numberUS-201715664517-A
CountryUS
Kind codeB2
Filing dateJul 31, 2017
Priority dateDec 11, 2015
Publication dateAug 20, 2019
Grant dateAug 20, 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 that uses a persistent main memory to preserve events that await logging in a persistent store. Each event is written into the persistent main memory so as to be loggable in case of recovery. For instance, the event may be written into a log cache structure, along with other state which identifies that the event is in the particular log cache structure, the location of the event within the particular log cache structure, and the order of the event. To recover, the log in the persistent store is evaluated to identify the end of the stored log. The tail of the log is identified in the persistent main memory by identifying any log cache structures that are after the end of the stored log and which are validly recoverable. The log cache structure contents are then serialized one log cache at a time, earliest first.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: one or more processors; and one or more hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computing system to operate within an architecture that performs a method for logging event content so as to enable a recovery when a failure event occurs, the method comprising: causing a thread to initiate a write of event content to a particular log cache; after the event content is written to the particular log cache and before the event content is logged in a log in persistent storage, releasing the thread so the thread is available to perform other work prior to the event content being logged in the log; detecting a change to a status of the particular log cache; in response to the detecting, changing the status of the particular log cache from an active state status to a filled state status which renders the particular log cache unable to receive additional event content; serializing the event content included in the particular log cache; writing the serialized event content into the log in the persistent storage; and changing the status of the particular log cache to an available state status which indicates that the particular log cache is available to receive new event content. 2. The computing system of claim 1 , wherein the particular log cache is maintained in persistent memory of the computing system. 3. The computing system of claim 1 , wherein the particular log cache is maintained in volatile memory of the computing system. 4. The computing system of claim 1 , wherein the detecting is performed in response to determining the particular log cache is full. 5. The computing system of claim 1 , wherein the detecting is performed in response to determining a particular amount of time has passed after an event is written to the particular log cache. 6. The computing system of claim 1 , wherein the method further includes: in response to the detecting, changing a state of a previously inactive log cache to an active state, the active state enabling the previously inactive log cache to be capable of receiving new events. 7. The computing system of claim 1 , wherein the method further includes: pre-serializing the event content included in the particular log cache. 8. The computing system of claim 7 , wherein the pre-serializing includes removing empty space in the particular log cache. 9. The computing system of claim 7 , wherein the pre-serializing includes performing a checksum of the particular log cache and inserting a generated checksum into the particular log cache. 10. The computing system of claim 7 , wherein the pre-serializing includes encrypting the particular log cache. 11. The computing system of claim 7 , wherein the pre-serializing includes compressing the particular log cache. 12. The computing system of claim 1 , wherein the method further includes: changing the status of the particular log cache from the available state status to the active state status and subsequently writing at least one event to the particular log cache. 13. The computing system of claim 1 , wherein the method further includes: reinitializing the particular log cache with default values in preparation for future use. 14. A method for operating a computing architecture that logs event content of a computing system so as to enable a recovery of the computing system when a failure event occurs, the method comprising: causing a thread to initiate a write of event content to a particular log cache; after the event content is written to the particular log cache and before the event content is logged in a log in persistent storage, releasing the thread so the thread is available to perform other work prior to the event content being logged in the log; detecting a change to a status of the particular log cache; in response to the detecting, changing the status of the particular log cache from an active state status to a filled state status which renders the particular log cache unable to receive additional event content; serializing the event content included in the particular log cache; writing the serialized event content into the log in the persistent storage; and changing the status of the particular log cache to an available state status which indicates that the particular log cache is available to receive new event content. 15. The method of claim 14 , wherein the detecting is performed in response to determining the particular log cache is full. 16. The method of claim 14 , wherein the detecting is performed in response to determining a particular amount of time has passed after an event is written to the particular log cache. 17. The method of claim 14 , wherein the method further includes, in response to the detecting, changing a state of a previously inactive log cache to an active state, the active state enabling the previously inactive log cache to be capable of receiving new events. 18. The method of claim 14 , wherein the method further includes pre-serializing the event content included in the particular log cache, and wherein the pre-serializing includes at least one of: removing empty space in the particular log cache, performing a checksum of the particular log cache, inserting a generated checksum into the particular log cache, encrypting the particular log cache, or compressing the particular log cache. 19. The method of claim 14 , wherein the method further includes changing the status of the particular log cache from the available state status to the active state status and subsequently writing at least one event to the particular log cache. 20. The method of claim 14 , wherein the method further includes reinitializing the particular log cache with default values in preparation for future use.

Assignees

Inventors

Classifications

  • Resetting or repowering · CPC title

  • Restarting or rejuvenating · CPC title

  • involving logging of persistent data for recovery · 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 US10387274B2 cover?
A system that uses a persistent main memory to preserve events that await logging in a persistent store. Each event is written into the persistent main memory so as to be loggable in case of recovery. For instance, the event may be written into a log cache structure, along with other state which identifies that the event is in the particular log cache structure, the location of the event within…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1471. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 20 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).