Garbage Collection (707/206) Patents (Class 707/999.206)
  • Patent number: 11630668
    Abstract: A processor including a pointer storage that stores pointer descriptors each including addressing information, an arithmetic logic unit (ALU) configured to execute an instruction which includes operand indexes each identifying a corresponding pointer descriptor, multiple address generation units (AGUs), each configured to translate addressing information from a corresponding pointer descriptors into memory addresses for accessing corresponding operands stored in a memory, and a smart cache. The smart cache includes a cache storage, and uses the memory addresses from the AGUs to retrieve and store operands from the memory into the cache storage, and to provide the stored operands to the ALU when executing the instruction. The smart cache replaces a register file used by a conventional processor for retrieving and storing operand information. The pointer operands include post-update capability that reduces instruction fetches. Wasted memory cycles associated with cache speculation are avoided.
    Type: Grant
    Filed: November 18, 2021
    Date of Patent: April 18, 2023
    Assignee: NXP B.V.
    Inventors: Kevin Bruce Traylor, Jayakrishnan Cheriyath Mundarath, Michael Andrew Fischer
  • Patent number: 11442966
    Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: September 13, 2022
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10282371
    Abstract: Systems and methods for utilizing probabilistic data structures to handle interrogations regarding whether or not objects might be stored in an object store of an object storage device are disclosed. More particularly, a controller of an object storage device includes control circuitry and a memory operative to store a probabilistic data structure. The probabilistic data structure has data related to the presence of data in an object store of the object storage device. The control circuitry is configured to receive an interrogation from a computing device for an object; utilize the probabilistic data structure to determine that the object is possibly stored in the object store or definitely not stored in the object store; and in response to a determination that the object is definitely not stored in the object store, respond to the interrogation that the object is not stored in the object store.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: May 7, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventor: Blaine Gaither
  • Patent number: 10223232
    Abstract: A system writes to a replicated direct access storage device (DASD) a record of each step within a job as each step begins and as each step completes. The records are maintained on the replicated DASD for a predetermined period of time. The predetermined period of time is, for example, the greatest amount of lag in replication of all storage systems operating within the system. The records are stored, for example, in an open jobs and datasets (OJD) file, where the file itself is a dataset. The dataset is written to by an online task (e.g., OJDSTC) which gathers input from two sources. Upon job completion, the records are stored, for example, in an OJD journal and removed from the OJD file.
    Type: Grant
    Filed: May 19, 2015
    Date of Patent: March 5, 2019
    Assignee: TERACLOUD SA
    Inventor: Paul J. Eckert
  • Patent number: 9928058
    Abstract: A classloader executing in an execution environment, such as a JAVA virtual machine or a software container, may be configured to generate class usage data describing the historical usage of classes by applications in the execution environment. Based upon the class usage data, one or more classes may be pre-loaded into a cache prior to receiving a request from an application to load the classes. If an application subsequently requests a class, the request may be satisfied using the class stored in the cache rather than by loading the class at the time the request is received. A probabilistic data structure, such as a Bloom filter, might also be utilized to determine whether a classloader can possibly load a requested class. Only if the classloader can possibly load the requested class will a search be made for the requested class in a classpath associated with the classloader.
    Type: Grant
    Filed: October 28, 2014
    Date of Patent: March 27, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Kevin Michael Beranek, Keian Christopher, Vijay Ravindra Kulkarni, Samuel Leonard Moniz
  • Patent number: 9588778
    Abstract: Embodiments of the present invention disclose a method, system, and computer program product for a JNI object access system. A computer receives a JNI reference and obtains the pointer data and call site of the referenced object. The computer determines whether a record of the object and call site exist and, if not, the respective records are created. The computer applies a heuristic analysis of the object and call site in which it determines whether the object is larger than a threshold size, whether the object is part of a particular region of the heap, whether the call site is associated with a read-only or a read-write function, and whether the object or call site has caused more non-moving garbage collections than a threshold number. Based on the heuristic, the computer either copies the object data or pins the object and any non-moving garbage collections are recorded.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: March 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Charles R. Gracie, Daniel J. Heidinga, Karl M. Taylor
  • Patent number: 9477576
    Abstract: A computer captures a thread state data of a first program. The computer generates a second program by applying a first program patch to the first program. The computer inserts additional code into a source code of the second program. The computer executes a first performance test using the second program and the inserted additional code. The computer monitors a first status of the second program and the inserted additional code that are under the first performance test. The computer determines a degree that a first deadlock state was prevented during the first performance test. The computer generates a first message based, at least in part, on the determined degree that the first deadlock state was prevented during the first performance test.
    Type: Grant
    Filed: April 11, 2013
    Date of Patent: October 25, 2016
    Assignee: International Business Machines Corporation
    Inventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
  • Patent number: 9418004
    Abstract: Embodiments of the present invention disclose a method, system, and computer program product for a JNI object access system. A computer receives a JNI reference and obtains the pointer data and call site of the referenced object. The computer determines whether a record of the object and call site exist and, if not, the respective records are created. The computer applies a heuristic analysis of the object and call site in which it determines whether the object is larger than a threshold size, whether the object is part of a particular region of the heap, whether the call site is associated with a read-only or a read-write function, and whether the object or call site has caused more non-moving garbage collections than a threshold number. Based on the heuristic, the computer either copies the object data or pins the object and any non-moving garbage collections are recorded.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Charles R. Gracie, Daniel J. Heidinga, Karl M. Taylor
  • Patent number: 9037828
    Abstract: A method for data storage, including configuring in a data storage system a volume storage pool as data storage resources available for allocation of volumes in the data storage system. The method also includes defining a threshold value for the volume storage pool. When the allocation of the volumes causes the threshold value to be crossed, the method includes performing an action for managing the volume storage pool.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: May 19, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Haim Helman, Omri Palmon, Ofir Zohar, Lior Segev
  • Patent number: 8965901
    Abstract: Aspects of the present invention are directed to system and methods for optimizing identification of locations within a search area using hash values. A hash value represents location information in a single dimension format. Computing points around some location includes calculating an identification boundary that surrounds the location of interest based on the location's hash value. The identification boundary is expanded until it exceeds a search area defined by the location and a distance. Points around the location can be identified based on having associated hash values that fall within the identification boundary. Hashing operations let a system reduce the geometric work (i.e. searching inside boundaries) and processing required, by computing straightforward operations on hash quantities (e.g. searching a linear range of geohashes), instead of, for example, point to point comparisons.
    Type: Grant
    Filed: March 1, 2011
    Date of Patent: February 24, 2015
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 8572748
    Abstract: A computer-implemented method and apparatus, adapted to receive a computer program, and dynamically analyze the computer program to determine flow of untrusted data with respect to a computer resource associated with the computer program. Based on the flow of untrusted data, the method and apparatus determine an abstraction of the computerized resource, and performing static analysis of the computer program with respect to the abstraction, wherein the static analysis is for identifying whether the computer program is susceptible to one or more possible security vulnerabilities.
    Type: Grant
    Filed: February 16, 2011
    Date of Patent: October 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Takaaki Tateishi, Omer Tripp
  • Patent number: 8281293
    Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.
    Type: Grant
    Filed: July 24, 2007
    Date of Patent: October 2, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
  • Patent number: 8073882
    Abstract: A method and computer-readable media for managing software object handles in a dual threaded or multi-threaded environment are provided. In a first version a software driven computational process drives a first thread, while a garbage collector process drives a second active computational thread within a host computer. The software driven computational process generates persistent software objects that are temporarily stored in a memory of the host. Each handle may include an object identifier of the handle itself, an open/closed flag and a pointer to a unique persistent object. The open/closed flag indicates whether the persistent object associated with a handle shall remain open and accessible for processing or may be selected for closure by the garbage collector process. A plurality of handle wrappers are each associated in a one-to-one correspondence with a unique handle.
    Type: Grant
    Filed: July 11, 2007
    Date of Patent: December 6, 2011
    Inventor: Mats Stefan Persson
  • Patent number: 7908441
    Abstract: Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: March 15, 2011
    Assignee: Oracle America, Inc.
    Inventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
  • Patent number: 7822938
    Abstract: The techniques and mechanisms described herein are directed to a method for performing garbage collection based on the total memory consumed by managed objects on a heap. The total memory includes heap memory and unmanaged memory. The garbage collector accepts input that indicates the amount of unmanaged memory and associates this amount with the managed object. The garbage collector then adjusts a collection strategy for the managed object based on the input. The input is sent to the garbage collector if the allocated amount meets a certain criteria in comparison with the size of the managed object on the heap. The amount may be automatically disassociated with the managed object when the managed is destroyed or the garbage collector may receive another input that removes the amount from being associated with the managed object.
    Type: Grant
    Filed: October 20, 2004
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Patrick H. Dussud, Christopher S. George, Gang Peng
  • Patent number: 7756911
    Abstract: A method (and system) for executing a task includes executing a first task in which garbage is collected using a garbage collector, and executing a second task, the garbage collector being preemptable (e.g., preempted) by the second task.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: July 13, 2010
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove, Daniel J. Spoonhower
  • Patent number: 7734618
    Abstract: A request logging component formulates an index that could have been utilized by a query to a database, if the index had existed. The request logging component stores the formulated query as an unsatisfied request. The index creation component creates the index of the database from the unsatisfied request.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
  • Patent number: 7707232
    Abstract: A method and system for garbage collecting managed and unmanaged memory that is no longer referenced. The time between allocations is compared with a threshold to determine if the garbage collector needs to collect unused memory. Unmanaged memory referenced by objects in the unused managed memory may be freed during the collection.
    Type: Grant
    Filed: May 13, 2005
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: Cedric Patrick Dussud, Yin Xie