|
Text of patents is confidential until patent has been granted.
Therefore, some documents are only available from the
internal IBM
version of this page.
Issued and
Filed patent applications
are available from the U.S. Patent and Trademark Office Database.
|
Patents |
|
Method for Detection of Unused Cyclic Data Structures in Linear
Time
United States Patent number 6879991, issued April 12, 2005.
D. Bacon
Docket number YOR8-2000-1143, filed 11 December 2000.
|
|
An algorithm for collecting cyclic garbage in linear time.
|
|
Method to Provide Concurrency Control over Objects
Without Atomic Operations on Non-Shared Objects
United States Patent number 6772153, issued August 3, 2004.
D. Bacon and S. Fink
Docket number YOR8-1999-0473, filed August 7, 2000.
|
|
A lazy locking protocol that normally avoids any global
synchronization when most potentially shared objects are in fact only
locked by one thread.
|
|
Removal of Unreachable Methods in Object-oriented Applications Based on Program Interface Analysis
United States Patent number 6654951, issued November 11, 2003.
D. Bacon, C. Laffra, P. Sweeney, and F. Tip
Docket number YO998-511, filed December 14, 1998.
|
|
Rapid Type Analysis for incomplete programs using interface
specifications -- a variation of the
algorithm from my thesis.
|
|
Method for Determining Reachable Methods in Object-Oriented
Applications that use Class Libraries
United States Patent number 6463581, issued 8 October 2002.
D. Bacon, C. Laffra, P. Sweeney, and F. Tip
Docket number YO998-511, filed December 14, 1998.
|
|
Rapid Type Analysis for incomplete programs -- a variation of the
algorithm from my thesis.
|
|
Locking and Unlocking Mechanism for Controlling Concurrent Access
to Objects
D. Bacon
United States Patent number 6247025, issued 12 June 2001.
IBM docket number YO997-225, filed July 18, 1997.
|
|
Fast nested locking technology developed for Java. For more
information, see the
paper and the
presentation.
|
|
Object-Oriented Dispatch Optimization
D. Bacon, M. Wegman, and K. Zadeck
United States Patent number 6041179, issued 21 March 2000.
IBM Docket number YO995-073, filed 3 October 1996.
|
|
Method for converting virtual to statically-dispatched calls in object
oriented languages. This technique is generally known as rapid type
analysis (RTA) and is described in a paper
and in my thesis.
|
Patents Pending |
|
Breaking Read Barrier to Apply Optimizations
D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0177, filed 15 December 2003.
|
|
In the
Metronome,
breaking up the steps of a read barrier allows the application of
optimizations which leacd to greatly reduced read barrier overhead.
|
|
Method and Apparatus for Optimizing Away a Null Check
D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0178, filed 15 December 2003.
|
|
In the
Metronome
the null check associated with a read barrier can be optimized away by
"sinking" the check to the first reference to the pointer, at which
point the system performs an implicit null check, usually using a
hardware trap with no overhead when not triggered.
|
|
Garbage Collector with Eager Read Barrier
D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0179, filed 15 December 2003.
|
|
Read barriers have typically been "lazy", that is, they are applied
when a pointer is used. In the
Metronome
pointers are forwarded eagerly, greatly reducing the overhead,
as when an array pointer is used in a loop.
|
|
Method and Apparatus for Dynamic Incremental Defragmentation of Memory
D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0180, filed 15 December 2003.
|
|
Incremental defragmentation in the
Metronome
allows the construction of a collector that
is able to move objects but usually only moves a few percent of the
total objects on each collection.
|
|
Method and Apparatus for Scheduling and Performing Garbage
Collection in a Real-time System with Guaranteed Space Bounds
D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0181, filed 15 December 2003.
|
|
Method used in the
Metronome
to ensure that the time-based scheduling of the incremental collector
meets the space bounds set for the system.
|
|
Method and Apparatus for Efficient Implementation of Discontiguous Objects
M. Arnold, D. Bacon, P. Cheng, and V. Rajan
Docket number YOR9-2003-0182, filed 15 December 2003.
|
|
In the
Metronome,
large objects are stored as discontiguous data to avoid external
fragmentation and large pauses when atomically copying an object. This
invention shows how discontiguous objects can be implemented for almost
the same cost as contiguous objects.
|
|
Space-Efficient Object Models for Object-Oriented Programming
Languages
D. Bacon, S. Fink, and D. Grove
Docket number YOR9-2002-0300, filed 10 December 2002.
|
|
A method for compact representation of objects in an object-oriented
language or system.
|
|
Method for Concurrent Detection of Unused Cyclic Data Structures
D. Bacon and V.T. Rajan
Docket number YOR8-2000-1142, filed 11 December 2000.
|
|
An algorithm for concurrently collecting cyclic garbage in linear time.
|
|
A Serially Reusable Virtual Machine
D. Dillenberger, A. Webb, R. Berry, D. Schmidt, B. Hutchison,
J. West, R. Bordawekar, D. Bacon, and S. Paice
Docket number YOR8-1999-0507.
|
|
A technique for efficiently reusing a virtual machine context in a
transactional environment so that every transaction sees a "clean"
virtual machine. The basis of IBM's
Shiraz
virtual machine.
|
Disclosures |
|
Lazy Generation of Hash Codes in a Garbage Collected System
D. Bacon and M. Wegman
Abandoned due to prior art.
|
|
Technique for representing a hash code with only two bits per object.
|