Browse Prior Art Database

Method and System for Collecting Garbage of a Persistent Change log of a Memory Data Structure

IP.com Disclosure Number: IPCOM000235735D
Publication Date: 2014-Mar-24
Document File: 1 page(s) / 31K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system is disclosed for collecting garbage of a persistent change log of a memory data structure. The method and system performs garbage collection of a log entry and generates a corresponding new log entry using the memory data structure.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 1

Method and System for Collecting Garbage of a Persistent Change log of a Memory Data Structure

Disclosed is a method and system for collecting garbage of a persistent change log of a memory data structure.

The method and system avoids reading, parsing, and filtering of old log entries by generating new log entries from a data structure. Here, the data structure is stored in a memory for quick access and changes to the data structure are appended to the persistent change log or a journal. The data structure can then be reconstructed at start time from the persistent change log or the journal. The method and system then atomically replaces the old log entries with the new log entries. The system continues to execute the method while the new log entries are written. In addition, the method and system determines when to rewrite a log entry.

The method initially assigns a lock to an old log entry A and a data structure D in order to avoid editing of the old log entry A and maintain the old log entry A and the data structure D in a consistent state. The lock is assigned as an exclusive lock for Garbage Collection (GC) of D, and as a shared lock on D. After assigning the lock, the method and system creates two new log entries, B and C. Thereafter, a forwarding pointer to C is appended to A such that a recovery machine first reads A and then the pointer to C. Subsequently, the method includes a step of appending subsequent changes on D to C rather than to A and creating...