Browse Prior Art Database

Efficient Tracking of Last Object Reference in a Distributed System

IP.com Disclosure Number: IPCOM000201867D
Publication Date: 2010-Nov-29
Document File: 4 page(s) / 32K

Publishing Venue

The IP.com Prior Art Database

Abstract

We present a novel method for collecting and maintaining the last usage time for persistent objects in a distributed system (for example the last usage time for tables, indexes, packages in a distributed DBMS), that both minimizes the overhead for collection of the data on the running system, as well as the overhead for writing the data to persistent storage for reporting purposes.

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

Page 01 of 4

Efficient Tracking of Last Object Reference in a Distributed System

Disclosed is a process for collecting and maintaining the last usage time for persistent objects in a distributed system (for example, the last usage time for tables, indexes,

p

                                                ackages in a distributed DBMS), that both minimizes the overhead for collection of the data on the running system, as well as the overhead for writing the data to persistent storage for reporting purposes. Embodiments of the disclosed process use a centralized polling model to extract data from various nodes within a distributed system to consolidate and write data to a persistent store with minimum contention. The disclosed process also introduce a model whereby objects are flagged with a dirty bit when the objects are referenced, and the polling process generates metadata for each object usage update upon detection of the dirty bits. Capture of the last usage data is thus

p

 erformed with much less overhead than in typical embodiments where usage information is stored in a separate per-node repository (for future collection by the polling process) whenever an object is accessed.

In a distributed system, a useful attribute to report is the last time persistent system objects were referenced (for example, tables, indexes, or packages in a distributed DBMS). Objects that are no longer needed represent a waste of system resources, such as the disk space, used to store the objects, maintenance overhead (for example, rebuilding indexes or rebinding packages in a RDBMS that are not needed) and runtime overhead (for example, updating index keys when the corresponding rows in a table are updated). Therefore reporting the last time or date an object was referenced to enable the user to determine which objects are frequently used, and which objects might be a candidate for removal is desirable. In the disclosed process, such last used information is stored and exposed through a centralized reporting location such as a system catalog tables in an RDBMS.

Tracking the last reference time for an object in such a system, and maintaining this value in the centralized reporting location however, is less simple than typically realized. The naive implementation of this type of scheme typically involves updating an appropriate timestamp or date in a central location each time an object is used in the system. This approach has numerous disadvantages, including significant performance overhead of having to make an extra update at the central location every time an operation on the system is performed. Further complications arise because multiple users referencing the same objects attempting to update the same entries lead to access contention, and further aggravate performance problems. Finally the problems are further compounded in a distributed system because the central location may not always be local to where the operations or queries are being run, and remote messages would be required for every referenc...