Reference count propagation
AssigneeSimpliVity Corporation
InventorsArthur J. Beaverson, Kishore Chitrapu, John Michael Czerkowicz, Sowmya Manjanatha
Life of this patent
Estimating the term…
Abstract
Methods and systems are provided for tracking object instances stored on a plurality of network nodes, which tracking enables a global determination of when an object has no references across the networked nodes and can be safely de-allocated. According to one aspect of the invention, each node has a local object store for tracking and optionally storing objects on the node, and the local object stores collectively share the locally stored instances of the objects across the network. One or more applications, e.g., a file system and/or a storage system, use the local object stores for storing all persistent data of the application as objects.
Claims18
A computer-readable medium containing executable program instructions for performing a method comprising:
- in a plurality of networked nodes wherein each node has its own local object store, the local object stores storing objects and sharing one or more objects, the objects having globally unique names across the networked nodes and wherein the object names do not change based upon where the objects are stored on the nodes;
- maintaining, at each node, a Local Reference Count LRC of local references to object names, independent of any object instance stored in the local store, the LRC being maintained as a signed integer,
- wherein adjustments are made to the LRC for each local new reference and dereference, wherein a de-referencing of an object name can generate a negative LRC value.
An apparatus comprising:
- a plurality of networked nodes, each node having a local object store for storing objects on the respective node and the objects having globally unique names across the networked nodes;
- wherein the object names do not change based upon where the objects are stored on the nodes;
- the local object stores sharing one or more of the objects;
- an application using the local object stores for storing persistent data as objects, the application requiring a reference count for each object stored on the networked nodes comprising a number of independent paths to the respective object;
- means for maintaining a local reference count LRC of local references to object names on each node, independent of any object instance stored in the local store, the LRC being maintained as a signed integer,
- wherein adjustments are made to the LRC for each local new reference and dereference, wherein a de-referencing of an object name can generate a negative LRC value.
Dependencies are inferred from the claim text.