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: 7203756Abstract: 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: GrantFiled: April 27, 2001Date of Patent: April 10, 2007Assignee: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Patent number: 6918114Abstract: 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: GrantFiled: April 5, 2001Date of Patent: July 12, 2005Assignee: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Patent number: 6854109Abstract: 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: GrantFiled: June 7, 2001Date of Patent: February 8, 2005Assignee: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Publication number: 20040153996Abstract: 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: ApplicationFiled: January 30, 2003Publication date: August 5, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
-
Publication number: 20040123279Abstract: 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: ApplicationFiled: December 18, 2002Publication date: June 24, 2004Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James Russell Boykin, Alberto Giammaria, Brian Joseph Schlosser, Kevin Gary Tapperson
-
Publication number: 20020199174Abstract: 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: ApplicationFiled: June 7, 2001Publication date: December 26, 2002Applicant: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Publication number: 20020174163Abstract: 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: ApplicationFiled: April 5, 2001Publication date: November 21, 2002Applicant: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Publication number: 20020161894Abstract: 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: ApplicationFiled: April 27, 2001Publication date: October 31, 2002Applicant: International Business Machines CorporationInventor: Kevin Gary Tapperson
-
Publication number: 20020147860Abstract: 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: ApplicationFiled: April 5, 2001Publication date: October 10, 2002Applicant: International Business Machines CorporationInventor: Kevin Gary Tapperson