Class / Patent application number | Description | Number of patent applications / Date published |
707814000 | Reference counting | 21 |
20100153475 | MONITORING MEMORY CONSUMPTION - Apparatus, systems, and methods are disclosed that operate to monitor the occurrence of memory garbage collection events and node content service requests, to determine a correlation between the node content service requests and the memory garbage collection events, and to report information associated with suspicious ones of the node content service requests. Suspicious requests may be identified as those that satisfy a preselected criteria associated with the correlation. Additional apparatus, systems, and methods are disclosed. | 06-17-2010 |
20100174762 | Apparatus, System, and Method for Maintaining A Context Stack - An apparatus, system, and method are disclosed for maintaining a context stack. A monitor module monitors a stack size after each monitor interval for a stack of a plurality of contexts. Each context defines communications between a process and a data set and comprises a pathway for communicating with the data set and a process identifier. A stack module deallocates a context that satisfies a stack policy from the stack if the stack size is within a buffer threshold of a maximum threshold. | 07-08-2010 |
20100223305 | INFRASTRUCTURE FOR SPILLING PAGES TO A PERSISTENT STORE - Techniques for managing memory usage in a processing system are provided. This may be achieved by receiving a data stream including multiple tuples and determining a query plan that was generated for a continuous query applied to the multiple tuples in the data stream. The query plan may include one or more operators. Before scheduling an operator in the query plan, it is determined when an eviction is to be performed based a level of free memory of the processing system. An eviction candidate is determined and a page associated with the eviction candidate is evicted from the memory to a persistent storage. | 09-02-2010 |
20100228796 | MEMORY MANAGEMENT OF SOFT REFERENCES - A garbage collector determines a target amount of heap space to deallocate, estimates an amount of heap space reachable by a plurality of soft references by determining a cumulative size of no more than an exploration bound N number of objects reachable from each soft reference, and deallocates heap space based on the target amount and the estimate of the heap space reachable from the soft references. Deallocating heap space may include clearing at least one soft reference. If the estimate is inaccurate, it may be utilized regardless or modified to account for inaccuracy. The least-recently-used or the largest soft reference may be cleared until the total cleared space reachable exceeds the target amount. By performing a bounded analysis, the garbage collector may be able to make a more informed decision about whether to clear a soft reference without consuming the full amount of resources consumed by an exhaustive analysis. | 09-09-2010 |
20100281081 | PREDICTING SPACE RECLAMATION IN DEDUPLICATED DATASETS - A technique for determining an amount of storage space that would be recovered in a storage system by deleting a list of logical containers of data is provided. In one embodiment, data blocks referenced by the list of files are first identified. The data blocks (e.g., deduplicated data blocks) may be referenced by two or more files. A number of references made by the identified list of files to each data block is compared against a number of references made by all files stored in a dataset of the storage system. A total amount of storage space is then calculated based on a sum of storage spaces utilized by each data block for which the two reference numbers match. This total amount of storage space is the storage space that would be reclaimed through deletion of the identified list of files. | 11-04-2010 |
20110125813 | Distributed Garbage Collection in a Dataflow System - A method and system for distributed garbage collection in a pipelined workflow environment comprising a plurality of processing nodes that pass item references to each other. Each node maintains a reference list of local item references and a reference dictionary of remote item references, and periodically synchronizes the reference list with the reference dictionaries of other nodes in the workflow, so that item references are not marked for garbage collection while other processing nodes may still have outstanding references to them. | 05-26-2011 |
20110137961 | TECHNIQUES FOR CROSS REFERENCING DATA - Techniques for cross referencing data are presented. A first database object and a second database object are linked together. The linkage is automatically cross referenced to a third database object. Access to any of the database objects can be achieved via any of the remaining database objects and vice versa. Additionally, the link and cross reference can be visualized and visually manipulated and modified. | 06-09-2011 |
20110161381 | METHODS AND APPARATUSES TO OPTIMIZE UPDATES IN A FILE SYSTEM BASED ON BIRTH TIME - Methods and apparatuses that maintain birth time for a file system to optimize file update operations are described. The file system can include a plurality of snapshots or clones of data stored in one or more extents of blocks allocated in a storage device. Each extent may be associated with a time stamp according to the birth time. A request may be received from an executable using the file system to update data in a particular extent associated with a particular time stamp. In response, the current birth time in the file system and the particular time stamp may be compared to determine if the particular extent is not shared by more than one of the snapshots. If the particular time stamp is equal to the current birth time, the particular extent may be updated directly without performing an expensive operation to check whether a reference count of the particular extent is equal to one. | 06-30-2011 |
20120124106 | GARBAGE COLLECTION OF INTERNED STRINGS - Provided are techniques for a garbage-collected interned string table. Reference objects that each reference strings in the interned string table are created. The reference objects and the strings referenced by the reference objects in the interned string table are marked with a current generation. Garbage collection is performed by: advancing the current generation to a next generation; in response to the reference objects in a previous generation from the current generation advancing to an acquired references state, promoting the reference objects and the strings referenced by the reference objects in the previous generation to the current generation; and deleting the strings that are marked with the previous generation in the interned string table. | 05-17-2012 |
20130066927 | MANAGING OBJECT LIFETIME IN A CYCLIC GRAPH - The present invention extends to methods, systems, and computer program products for managing object lifetime in a cyclic graph. Embodiments of the invention include reclaiming allocated system resources, for example, from a graph of objects that mixes different resource reclamation techniques (such as reference counting and garbage collection). In response to determining that garbage collection is to be performed, references between GC objects and Ref. Counted objects are detected. A reference type (e.g., direct, indirect, standard, tracked, weakened, etc.) for any detected references is also determined. Garbage collection is performed to determine if any allocated system resources can be reclaimed. Garbage collection considers references and references types between GC objects and Ref. Counted objects when determining if objects are to be reclaimed. | 03-14-2013 |
20140040326 | GARBAGE COLLECTION OF AN OBJECT - One or more embodiments are directed to creating a structure comprising a weak reference to an object, a strong reference to the object, a count of remote references to the object, and an identifier for the object, incrementing the count when a remote reference is created to the object and decrementing the count when a remote reference is removed, setting the strong reference in response to the count being greater than a first threshold in order to avoid a garbage collection of the object, clearing the strong reference in response to the count being less than a second threshold to enable a garbage collection of the object, and removing the structure and related resources based on a recognition of the object's collection through the weak reference. | 02-06-2014 |
20140040327 | GARBAGE COLLECTION OF AN OBJECT - One or more embodiments are directed to creating a structure comprising a weak reference to an object, a strong reference to the object, a count of remote references to the object, and an identifier for the object, incrementing the count when a remote reference is created to the object and decrementing the count when a remote reference is removed, setting the strong reference in response to the count being greater than a first threshold in order to avoid a garbage collection of the object, clearing the strong reference in response to the count being less than a second threshold to enable a garbage collection of the object, and removing the structure and related resources based on a recognition of the object's collection through the weak reference. | 02-06-2014 |
20140372490 | HYBRID GARBAGE COLLECTION - Disclosed is a method for hybrid garbage collection of objects in a file system. An example method includes associating, with each object in the file system, a reference counter, an expiration time, and a version identifier. The object is can be kept in the file system while the reference counter of the object is non-zero. After determining that the reference counter of the object is zero, the object can be kept in the file system up to the expiration time associated with the object. When a reference referring to the object is deleted, the expiration time of the object is updated to the latest of the expiration times of the object and the reference. Furthermore, the object can be kept in the file system while the version identifier of the object is larger than a predetermined version number. | 12-18-2014 |
20160098346 | ASSISTED GARBAGE COLLECTION IN A VIRTUAL MACHINE - A method relates to receiving, by a processing device executing a virtual machine, bytecode comprising an object to be loaded into a memory space, the object being tagged with a garbage collection descriptor, wherein the garbage collection descriptor is generated according to an annotation to the object in a source code, determining, in view of the garbage collection descriptor, a region of the memory space to store the object, wherein the memory space comprises a first region to store a first set of objects that have survived less than a pre-determined number of rounds of garbage collection and a second region to store a second set of objects that have survived at least the pre-determined number of rounds of garbage collection in the first region, and storing the object in the region of the memory space. | 04-07-2016 |
20160132429 | Method and Storage Device for Collecting Garbage Data - A method and a storage device for collecting garbage data, where the method includes separately recording a data volume of first data in each segment of a storage device at a current time and a variation of the first data in each segment of the storage device in a preset period of time before the current time; obtaining, by means of calculation, a predicted value of the first data according to the data volume of the first data in each segment and the variation of the first data in each segment; and determining, according to the predicted value of the first data in each segment, a segment whose garbage data needs to be collected. A segment that has more garbage data and whose garbage creating rate is lower is reclaimed preferentially. | 05-12-2016 |
20160147449 | Garbage Collection of Multi-Version Concurrency Control (MVCC) Data Blocks - Disclosed herein are system, method, and computer program product embodiments for performing garbage collection in a database management system with a multi-version concurrency control. An embodiment operate by qualifying a multi-version concurrency control (MVCC) block for garbage collection, where the MVCC block includes multiple cells, each cell corresponding to a row of a table that was acted on by a transaction. Determining that the MVCC block can be garbage collected based on MVCC information in the MVCC block, where the MVCC information includes information that determines whether changes made to rows in the multiple cells are visible in a database management system. Based on the determining, garbage collecting the MVCC block. | 05-26-2016 |
707815000 | Cyclic | 5 |
20100241675 | BREAKING A CIRCULAR REFERENCE BETWEEN PARENT AND CHILD OBJECTS - Architecture that automatically breaks the circular reference between objects without any different logic by introducing a helper object called a child object container. The child object is contained within the container object and both share a reference counter. The parent object holds a strong reference to the container object. When adding a reference to the child object both the shared reference counter and the parent reference counter increase. When releasing a reference to the child object both the shared reference counter and the parent reference counter decrease. This approach provides a systematic way of solving the circular reference problem that does not rely on any weak-reference feature provided by the programming language. | 09-23-2010 |
20120131070 | Concurrent Collection of Cyclic Garbage in Reference Counting Systems - The present invention provides techniques that allow concurrent collection of cyclic garbage on reference counting systems. In general, candidate objects are found that may be part of cyclic garbage. Each candidate object has a reference count. Two tests are performed to determine if concurrent operations have affected the reference counts of the candidate objects. If concurrent operations have not affected the reference counts, the candidate objects are collected as garbage. Additionally, during garbage collection, the decrements to reference counts are delayed so that increments occur before decrements and so that decrements are held a predetermined time before being applied. This prevents decrementing a reference and collecting a cycle as garbage right before a reference is added to an object in the cycle. | 05-24-2012 |
20120246204 | Handling Persistent/Long-Lived Objects To Reduce Garbage Collection Pause Times - A method, system and computer program product for reducing garbage collection pause time. According to example embodiments, a garbage collection cycle is initiated on a set of objects that have been dynamically allocated in a memory. An identification is made of new persistent objects and reachable non-persistent objects while ignoring old persistent objects that have been identified as persistent in previous garbage collection cycles. The new persistent objects are associated as members of a set of persistent objects that includes the old persistent objects. The persistence information for the set of persistent objects is preserved for use during subsequent garbage collection cycles. All reachable non-persistent objects and all persistent objects in the set of persistent objects are marked for memory reclamation phase processing. The persistent objects are so marked using the preserved persistence information such that repeated scanning of persistent objects during multiple garbage collection cycles is avoided. | 09-27-2012 |
20130066928 | CACHING SOCKET CONNECTIONS WHILE ENSURING THAT THERE ARE FILE DESCRIPTORS AVAILABLE FOR THE APPLICATIONS - A method, system and computer program product for caching socket connections while ensuring that there are file descriptors available for the applications. File descriptor references and their referenced objects are stored in a predefined memory region of the heap (“file descriptor heap”). Each time a socket connection is cached, a file descriptor reference may be created to be associated with the socket connection's file descriptor, where the file descriptor reference references the object of the cached socket connection. In order to ensure that there are available file descriptors for the applications, the file descriptor references and their referenced objects are collected by the garbage collector in response to various events (e.g., too many file descriptors are open) thereby freeing the file descriptors that were previously associated with the collected connection objects to be used by the applications. | 03-14-2013 |
20140082030 | REMEMBERED SET OVERHEAD REDUCTION BY DEFERRED GARBAGE COLLECTION OF STABLE REGIONS - At least one region of a heap that includes memory allocations is analyzed, using age and occupancy criteria, across a number of local garbage collection cycles using a processor executing a region-based garbage collector. Based upon the analyzed age and occupancy criteria of the at least one region, at least one stable region in age and occupancy is identified among the at least one region of the heap across the number of local garbage collection cycles. Maintenance of a remembered set (RS) of external references into the at least one stable region is temporarily stopped for each identified stable region during at least one additional local garbage collection cycle. | 03-20-2014 |