Patents by Inventor Kevin Gary Tapperson

Kevin Gary Tapperson 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: 7203756
    Abstract: A caching mechanism for JAVA RMI remote objects is provided. In order to efficiently implement a cache for these connection objects, the client JYM may hold a normal reference to the object while the connection is in use and for a period of time thereafter. A thread is used as a timer for each connection. After that period of time expires, only a weak reference is held by the client JVM and the connection may be garbage collected. The period of time maybe adjusted. A shorter time may be used to ensure responsiveness of the server JVM to memory demand and shutdown requests, while a longer time may be used to enhance the effectiveness of the caching mechanism by forcing connections to stay open longer after they are no longer being used and before they are automatically destroyed due to garbage collection.
    Type: Grant
    Filed: April 27, 2001
    Date of Patent: April 10, 2007
    Assignee: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Patent number: 6918114
    Abstract: A single normal Java thread referred to as a “waiter” thread is used to prevent premature exit of the Java Virtual Machine during the shutdown process of the server application by waiting for any daemon threads in the JVM to complete execution. Using this mechanism, any daemon thread flagged by the application runs to completion before the JVM is allowed to exit. Once all flagged daemon threads exit, the waiter thread exits and allows the server application to properly terminate. The waiter thread uses an efficient mechanism to maintain a queue of threads. When a daemon thread is flagged, it is simply appended to the end of the queue. The waiter thread waits for the first thread in the queue to complete. Once the first thread in the queue completes, it is removed from the queue. At this point, the queue is searched for any other inactive threads and those threads are also removed from the queue.
    Type: Grant
    Filed: April 5, 2001
    Date of Patent: July 12, 2005
    Assignee: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Patent number: 6854109
    Abstract: A system, computer program product and method for converting a file in one format to another format. The first file written in a first format, e.g., .MAP file format generated by the IBM Visual Age C++ Linker, may comprise a list of segment portion/offset value pair(s) and a separate list of symbol name/address pair(s). Upon associating symbol name(s) with particular segment portion/offset value pair(s), the .MAP file written in a first format may be converted into a .MAP file written in a second format, e.g., .MAP file format generated by the Microsoft Visual C++ Linker, by writing a list of segment portion/offset pair(s) with their associated symbol name(s).
    Type: Grant
    Filed: June 7, 2001
    Date of Patent: February 8, 2005
    Assignee: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Publication number: 20040153996
    Abstract: A technique is presented for determining the defining ClassLoader class of a Java class as it is being defined within a Java Virtual Machine (JVM) by instrumenting the “java.lang.ClassLoader” class. Within a JVM, all ClassLoader instances call one of the “defineClass” methods of class “java.lang.ClassLoader” in order to pass the raw bytes for loaded a class to the JVM to have it defined as a Java class. Therefore, instrumentation code is inserted into the “defineClass” methods of class “java.lang.ClassLoader”; the instrumentation code stores an identity of the defining ClassLoader prior to the invocation of the class load hook by the JVM, which can use the identity of the defining ClassLoader for various purposes.
    Type: Application
    Filed: January 30, 2003
    Publication date: August 5, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
  • Publication number: 20040123279
    Abstract: A technique is presented for instrumenting a Java application in a just-in-time fashion. A software developer obtains Java class files that comprise an application that the software developer desires to instrument. The software developer also obtains code for instrumentation probes; each probe is associated with a location in an application, e.g., a specific method within a specific class. The probes along with the associated locations are registered in a registry, either programmatically or by loading a configuration file. At class load time, an injector determines whether a loaded class has any instrumentation locations as predetermined by information in the registry. If so, the injector inserts hooks in the loaded class. When the hooks are executed, the hooks can manage the execution of the probes, which can be dynamically added or removed from the registry during runtime and/or dynamically enabled or disabled during runtime.
    Type: Application
    Filed: December 18, 2002
    Publication date: June 24, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
  • Publication number: 20020199174
    Abstract: A system, computer program product and method for converting a file in one format to another format. The first file written in a first format, e.g., .MAP file format generated by the IBM Visual Age C++ Linker, may comprise a list of segment portion/offset value pair(s) and a separate list of symbol name/address pair(s). Upon associating symbol name(s) with particular segment portion/offset value pair(s), the .MAP file written in a first format may be converted into a .MAP file written in a second format, e.g., .MAP file format generated by the Microsoft Visual C++ Linker, by writing a list of segment portion/offset pair(s) with their associated symbol name(s).
    Type: Application
    Filed: June 7, 2001
    Publication date: December 26, 2002
    Applicant: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Publication number: 20020174163
    Abstract: A single normal Java thread referred to as a “waiter” thread is used to prevent premature exit of the Java Virtual Machine during the shutdown process of the server application by waiting for any daemon threads in the JVM to complete execution. Using this mechanism, any daemon thread flagged by the application runs to completion before the JVM is allowed to exit. Once all flagged daemon threads exit, the waiter thread exits and allows the server application to properly terminate. The waiter thread uses an efficient mechanism to maintain a queue of threads. When a daemon thread is flagged, it is simply appended to the end of the queue. The waiter thread waits for the first thread in the queue to complete. Once the first thread in the queue completes, it is removed from the queue. At this point, the queue is searched for any other inactive threads and those threads are also removed from the queue.
    Type: Application
    Filed: April 5, 2001
    Publication date: November 21, 2002
    Applicant: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Publication number: 20020161894
    Abstract: An efficient caching mechanism for Java RMI remote objects is implemented. In order to efficiently implement a cache for these connection objects, the client JVM may hold a normal reference to the object while the connection is in use and for a period of time thereafter. A thread, referred to as a connection expiration thread, is used as a timer for each connection. After that period of time expires, only a weak reference is held by the client JVM and the connection may be garbage collected. The period of time may be adjusted to suit the needs of the server JVM. A shorter time may be used to ensure responsiveness of the server JVM to memory demand and shutdown requests, while a longer time may be used to enhance the effectiveness of the caching mechanism by forcing connections to stay open longer after they are no longer being used and before they are automatically destroyed due to garbage collection by the server JVM.
    Type: Application
    Filed: April 27, 2001
    Publication date: October 31, 2002
    Applicant: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson
  • Publication number: 20020147860
    Abstract: A virtual windows console is provided for a server Java Virtual Machine. When a user enters a full thread dump command at a remote Java Virtual Machine, the dump command is sent to the server Java Virtual Machine via remote method invocation protocol in the same manner all other commands are sent to the server Java Virtual Machine. The server Java Virtual Machine then passes a key sequence to the virtual windows console and the virtual windows console sends the key sequence back to the server Java Virtual Machine that generates the full thread dump. The full thread dump is then passed to a thread dump server task through a hook in the server Java Virtual Machine. The thread dump server task then passes the full thread dump back to the client Java Virtual Machine via remote method invocation protocol in the same manner all other results are returned from the server Java Virtual Machine.
    Type: Application
    Filed: April 5, 2001
    Publication date: October 10, 2002
    Applicant: International Business Machines Corporation
    Inventor: Kevin Gary Tapperson