Patents by Inventor Peter Wiebe Burka

Peter Wiebe Burka has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9870317
    Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.
    Type: Grant
    Filed: June 14, 2013
    Date of Patent: January 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 9152575
    Abstract: An illustrative embodiment of a computer-implemented process for managing a staging area creates the staging area for identified candidate cold objects, moves the identified candidate objects into the staging area, tracks application access to memory comprising the staging area and determines whether frequency of use information for a specific object exceeds a predetermined threshold. Responsive to a determination that the frequency of use information for the specific object exceeds a predetermined threshold, move the specific object into a regular area and determine whether a current time exceeds a predetermined threshold. Responsive to a determination that the current time exceeds a predetermined threshold, the computer-implemented process moves remaining objects from the staging area to a cold area.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: October 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Elijah El-Haddad, Aleksandar Micic, Ryan Andrew Sciampacone
  • Publication number: 20150169471
    Abstract: An illustrative embodiment of a computer-implemented process for managing a staging area creates the staging area for identified candidate cold objects, moves the identified candidate objects into the staging area, tracks application access to memory comprising the staging area and determines whether frequency of use information for a specific object exceeds a predetermined threshold. Responsive to a determination that the frequency of use information for the specific object exceeds a predetermined threshold, move the specific object into a regular area and determine whether a current time exceeds a predetermined threshold. Responsive to a determination that the current time exceeds a predetermined threshold, the computer-implemented process moves remaining objects from the staging area to a cold area.
    Type: Application
    Filed: February 26, 2015
    Publication date: June 18, 2015
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Elijah El-Haddad, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 9019135
    Abstract: A method for efficiently computing a hash value for a string is disclosed. In one embodiment, such a method includes receiving an original string comprising multiple characters. The method computes an original hash value for the original string. The method produces an updated string by performing at least one of the following updates on the original string: adding leading/trailing characters to the original string; removing leading/trailing characters from the original string, and modifying characters of the original string while preserving the length of the original string. The method then computes an updated hash value for the updated string by performing at least one operation on the original hash value, wherein the at least one operation takes into account the updates that were made to the original string. A corresponding apparatus and computer program product are also disclosed.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Peter Douglas Bain, Peter Wiebe Burka, Charles Robert Gracie
  • Patent number: 8972680
    Abstract: An illustrative embodiment of a computer-implemented process for managing a staging area creates the staging area for identified candidate cold objects, moves the identified candidate objects into the staging area, tracks application access to memory comprising the staging area and determines whether frequency of use information for a specific object exceeds a predetermined threshold. Responsive to a determination that the frequency of use information for the specific object exceeds a predetermined threshold, move the specific object into a regular area and determine whether a current time exceeds a predetermined threshold. Responsive to a determination that the current time exceeds a predetermined threshold, the computer-implemented process moves remaining objects from the staging area to a cold area.
    Type: Grant
    Filed: January 23, 2012
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Elijah El-Haddad, Aleksander Micic, Ryan Andrew Sciampacone
  • Patent number: 8875115
    Abstract: An apparatus, process, and computer program product to merge types in an object-oriented program is disclosed herein. In one embodiment, a process may include analyzing a method within an object-oriented program to identify merge candidates. These merge candidates may then be recorded in a merge candidate list. The process may further include identifying at least two code paths in the method that merge into a single code path and that operate on different types. The types in these code paths may then be merged to a nearest common superclass listed in the merge candidate list. In selected embodiments, the types may be merged to the java.lang.Object class in the event the merge candidate list is empty.
    Type: Grant
    Filed: November 29, 2008
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Thomas Mark Walter Bottomley
  • Patent number: 8769230
    Abstract: A method to implement parallel, single-pass compaction in a garbage collector is described. In one embodiment, such a method includes conducting a planning phase for multiple regions to be compacted. During the planning phase, the method determines new locations for data entities in the multiple regions. The method then performs a move phase for the multiple regions to move the data entities to their new locations. During the move phase, the method initiates multiple compaction threads to move the data entities to their new locations. While executing, the compaction threads dynamically build a dependency graph of the regions being compacted. The dependency graph guarantees that no data entity is moved to its new location until all data entities that it overwrites have been moved to their new locations. A corresponding computer program product and apparatus are also disclosed herein.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Publication number: 20140012829
    Abstract: A method for efficiently computing a hash value for a string is disclosed. In one embodiment, such a method includes receiving an original string comprising multiple characters. The method computes an original hash value for the original string. The method produces an updated string by performing at least one of the following updates on the original string: adding leading/trailing characters to the original string; removing leading/trailing characters from the original string, and modifying characters of the original string while preserving the length of the original string. The method then computes an updated hash value for the updated string by performing at least one operation on the original hash value, wherein the at least one operation takes into account the updates that were made to the original string. A corresponding apparatus and computer program product are also disclosed.
    Type: Application
    Filed: March 15, 2013
    Publication date: January 9, 2014
    Applicant: International Business Machines Corporation
    Inventors: Peter Douglas Bain, Peter Wiebe Burka, Charles Robert Gracie
  • Patent number: 8621171
    Abstract: An illustrative embodiment of a computer-implemented process for compaction planning selects a source region from a set of regions to form a selected source region, initializes process data using information from the selected source region and responsive to a determination that a current destination is not NULL and not full, determines whether to atomically consume from a destination. Responsive to a determination to atomically consume from a destination, the computer-implemented process plans to evacuate into a consumed extent and updates the process data and responsive to a determination that the source region is empty, determines whether more work remains. Responsive to a determination that more work does not remain, the computer-implemented process generates a relocation table.
    Type: Grant
    Filed: February 8, 2011
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8595462
    Abstract: An illustrative embodiment of a computer-implemented process for dynamic measurement and adaptation of a parallel copying garbage collector initializes values and data structures, receives an evacuate set, determines whether a new copy block is required and responsive to a determination that a new copy block is required, calculates a size of the new copy block. The computer-implemented process further selects a survivor region from a list of survivor regions to form a selected survivor region, places a lock on the selected survivor region, identifies a number of threads enqueued on the selected survivor region, responsive to a determination that a contention value exceeds a predetermined value, increases a size of the list of survivor regions, evacuates blocks to the selected survivor region and responsive to a determination that more evacuate blocks do not exist, terminates.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: November 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8577936
    Abstract: An operating system or virtual machine of an information handling system (IHS) initializes a garbage collector to provide object memory compaction during application execution. The operating system or virtual machine performs move and fixup management within heap or object memory stores. The garbage collector identifies holes or unused portions of heap memory and moves one or more objects during compaction operations. After the garbage collector moves the object, a fixup cache tool fixes up the object pointers within the object. The fixup cache tool maintains a fixup cache that includes pointer information corresponding to the objects that the garbage collector moves. The fixup cache tool employs the pointer information within the fixup cache to update or otherwise fixup the objects within the heap that the garbage collector moves during compaction operations. The fixup cache may provide predictive pointer update information during fixup operations for each object move within the heap.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: November 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Publication number: 20130282772
    Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.
    Type: Application
    Filed: June 14, 2013
    Publication date: October 24, 2013
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8554807
    Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: October 8, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Publication number: 20130191610
    Abstract: An illustrative embodiment of a computer-implemented process for managing a staging area creates the staging area for identified candidate cold objects, moves the identified candidate objects into the staging area, tracks application access to memory comprising the staging area and determines whether frequency of use information for a specific object exceeds a predetermined threshold. Responsive to a determination that the frequency of use information for the specific object exceeds a predetermined threshold, move the specific object into a regular area and determine whether a current time exceeds a predetermined threshold. Responsive to a determination that the current time exceeds a predetermined threshold, the computer-implemented process moves remaining objects from the staging area to a cold area.
    Type: Application
    Filed: January 23, 2012
    Publication date: July 25, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: PETER WIEBE BURKA, JEFFREY MICHAEL DISHER, ELIJAH EL-HADDAD, ALEKSANDER MICIC, RYAN ANDREW SCIAMPACONE
  • Patent number: 8489653
    Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.
    Type: Grant
    Filed: February 8, 2011
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8473529
    Abstract: An illustrative embodiment of a computer-implemented process for single pass marking of finalizable objects marks strong roots, marks finalizable roots and determines whether a strong work stack is empty. Responsive to a determination the strong work stack is empty the computer-implemented process determines whether a finalizable work stack is empty. Responsive to a determination the finalizable work stack is empty, synchronize threads, the computer-implemented process finalizes finalizable roots and merges mark maps to finish parallel marking.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: June 25, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8447793
    Abstract: A method for efficiently implementing a remembered set for a region-based garbage collector includes maintaining, for each region in an object heap, a remembered set card list (RSCL). Each card in the RSCL identifies an area in the object heap that includes at least one object that references an object in the region associated with the RSCL. The method further establishes a collection set identifying a subset of regions in the object heap on which to perform partial garbage collection. Prior to performing the partial garbage collection, the method flushes cards from RSCLs associated with the collection set to the card table, globally discards cards that are about to be rebuilt from all RSCLs, and globally cleans the card table. The method then adds cards to the RSCLs for inter-region references discovered while traversing live objects in the collection set. A corresponding computer program product and apparatus are also disclosed.
    Type: Grant
    Filed: June 4, 2011
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8438193
    Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: May 7, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Patent number: 8423589
    Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
  • Publication number: 20120136906
    Abstract: An operating system or virtual machine of an information handling system (IHS) initializes a garbage collector to provide object memory compaction during application execution. The operating system or virtual machine performs move and fixup management within heap or object memory stores. The garbage collector identifies holes or unused portions of heap memory and moves one or more objects during compaction operations. After the garbage collector moves the object, a fixup cache tool fixes up the object pointers within the object. The fixup cache tool maintains a fixup cache that includes pointer information corresponding to the objects that the garbage collector moves. The fixup cache tool employs the pointer information within the fixup cache to update or otherwise fixup the objects within the heap that the garbage collector moves during compaction operations. The fixup cache may provide predictive pointer update information during fixup operations for each object move within the heap.
    Type: Application
    Filed: November 29, 2010
    Publication date: May 31, 2012
    Inventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampaeone