Patents by Inventor Robert J. Urquhart

Robert J. Urquhart 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: 6546548
    Abstract: A method and system for compensating for trace overhead is provided by analyzing and compensating for the temporal overhead associated with generating or outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record generally represents an occurrence of a profiling event of interest. The amount of time required to generate a trace record may be determined, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records. A trace overhead calibration value may be determined by computing the average time necessary to generate a trace record, or in certain cases, by computing the minimum time necessary to generate a trace record. The trace overhead calibration value is stored for subsequent use in a profiling-related process in the data processing system.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: April 8, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Jesse Mannes Gordon, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6539339
    Abstract: A method and system for maintaining a thread-relative metric for trace data using device driver support is provided. A profiling process may detect a current event, and in response to the current event, may request an elapsed metric since a preceding event. The profiling process then receives a thread-relative elapsed metric and may output a trace record for the current event in which is stored a metric equal to the received thread-relative elapsed metric. In response to a notification of an occurrence of the current event, a device driver computes the thread-relative elapsed metric by: determining a current thread; retrieving a stored metric for the preceding event of the current thread; obtaining a current metric; and computing the thread-relative elapsed metric as a difference between the current metric and the stored metric.
    Type: Grant
    Filed: September 9, 1999
    Date of Patent: March 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Ronald O'Neal Edmark, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6457111
    Abstract: A method and system are disclosed for operating an object-oriented environment within a computer system. The execution of the object-oriented environment is initiated. A first memory location is allocated in a memory area within the object-oriented environment for storing an object. A second memory location is allocated in the memory area with the allocation of the first memory location for storing a persistence indicator. The persistence indicator indicates a point during the execution of the object-oriented environment at which the allocation of the first memory location occurred. A total number of bytes of the memory area which had been allocated during the execution of the object-oriented environment when the allocation of the first memory location occurred is stored as the persistence indicator.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: September 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: John Day Howard, Kean G. Kuiper, Frank Eliot Levine, William Robert Reynolds, Robert J. Urquhart
  • Patent number: 6434575
    Abstract: A method and apparatus for instrumenting garbage collection in a data processing system is provided. During garbage collection, a pass is made through the object heap and a plurality of heap data is retrieved and written to a trace file. The data may include the type of object, the size of the object on the heap, the class of the object, if appropriate, and a plurality of pointers, including live set pointers, and one or more tags representing attributes that may be associated with the particular object. The instrumentation may controlled to occur at a preselected phase of the garbage collection process. Additionally, a user may dynamically initiate a garbage collection instrumentation if the user determines that an event has occurred during the operation of the data processing system about which the user wishes further data.
    Type: Grant
    Filed: November 12, 1998
    Date of Patent: August 13, 2002
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Raymond M. Bryant, Weiming Gu, John Day Howard, William Robert Reynolds, Robert J. Urquhart
  • Patent number: 5938778
    Abstract: The present invention is directed to a system and method for tracing operations in an information handling system without changing the operating system code. Certain machine registers are shadowed during critical machine state transitions (e.g., taking and returning from interrupts), so that the tracing program does not lose control of the system. The system is interrupted before each instruction is executed, and a tracing program determines if a change in program flow has occurred. If a change in program flow has occured, a record is written to a trace log. The record contains the number of consecutive instructions executed before the program flow change, along with a displacement field indicating the number of bytes from the end of the record to the beginning of the next record. Executed instructions are also embedded in the trace log, allowing for high compression ratios and less complex post-processing of the trace data.
    Type: Grant
    Filed: November 10, 1997
    Date of Patent: August 17, 1999
    Assignee: International Business Machines Corporation
    Inventors: Chester Charles John, Jr., Robert J. Urquhart
  • Patent number: 5940618
    Abstract: The present invention is directed to a system and method for monitoring performance in an information handling system in a minimally intrusive manner. The method of the present invention includes a collection phase, a placement phase, and an instrumentation phase. During the collection phase, a workload (i.e. code segment) is traced, and instruction and data accesses are determined. During the placement phase, the trace data is passed to a cache simulator. The cache simulator uses the trace data, along with hardware and instrumentation characteristics, to determine an optimal placement for instrumentation code and data. If the desired conflict level is not attainable, the best possible placement is found by executing the code to be monitored with a variety of instrumentation code and data placements until the least intrusive placement is found. The best possible placement is then used during the instrumentation phase to actually execute the instrumented code.
    Type: Grant
    Filed: September 22, 1997
    Date of Patent: August 17, 1999
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Maher Afif Saba, Robert J. Urquhart
  • Patent number: 5794243
    Abstract: Minimizing data cache misses when performing binary searches. Values in an array to be searched are stored as subsets, clustered to minimize the number of cache misses. A first set of auxiliary values is created consisting of a subset of the first-searched values that fit on one cache line. Subsequent sets of values are then created consisting of one cache line full of values for each value in the first set within one cache line. A binary search is conducted by first searching SET ONE, for the largest array value that is less-than or equal to the search key, or alternatively the smallest array value greater than or equal to the search key. The search of SET ONE, is followed by a search of any subsequent sets of values, with the binary search concluding by testing values within one cache line in the subsequent sets of values until the desired value is found.
    Type: Grant
    Filed: December 11, 1995
    Date of Patent: August 11, 1998
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Geoffrey Owen Blandy, Robert J. Urquhart
  • Patent number: 5355487
    Abstract: The invention disclosed herein is a system and method for comprehensive, non-invasive profiling of a processor whereby feedback is provided to a programmer of the execution dynamics of a program. In a preferred embodiment a partial real-time reduction is provided of selected trace events employing the environment's trace facility, and a post-processing function is then performed. A trace hook is provided in the environment's periodic clock routine which captures the address to be returned to following this timer's interrupt, and further captures the address of the caller of the routine represented by the first address. The frequency of occurrences of the first address is collected and correlated to various virtual address spaces and corresponding subroutine offsets within those virtual address spaces.
    Type: Grant
    Filed: July 23, 1993
    Date of Patent: October 11, 1994
    Assignee: International Business Machines Corporation
    Inventors: Thomas W. Keller, Robert J. Urquhart
  • Patent number: 5271094
    Abstract: A method and apparatus is provided which allows a computer graphics system to accurately determine the actual depth value for pixels on a display screen which lie at the same depth as an associated surface. The associated surface is identified such that the delta z value with respect to the x and y direction along the surface can be calculated. The present invention then determines whether the line being considered is contained within a surface, or is an edge lying between, and adjacent to two surfaces. If the line is contained within a surface, the delta z value is initially added to the known endpoints of the line and then successively added, in the incremental x or y directions, to the pixels selected to represent the line. If the line is an edge, and includes selected pixels which lie on both associated surfaces, a filter is invoked that prevents those pixels corresponding to the surface, other than the surface first being considered, from being processed.
    Type: Grant
    Filed: January 21, 1993
    Date of Patent: December 14, 1993
    Assignee: International Business Machines Corporation
    Inventors: Virgil A. Albaugh, Robert J. Urquhart
  • Patent number: 5068819
    Abstract: In a data processing system, a method for performing a series of operation sequence results and providing such results including the steps of (1) computing the results for each sequence of operations consecutively and (2) reading the results for the proceeding computations during the computation of a current operation result. This method further includes the use of registers for the temporary storage of the sequence results. During the computation of the operation sequence results, other registers are used in performing the sequence operations. The operations store parameters in a progressive fashion. In other words, the initial operations are performed in one set of registers while the final result from the sequence operation is stored in a different register. The result of a previous operation sequence computation is read from a register that is not being used during the computation of the current sequence operation.
    Type: Grant
    Filed: January 24, 1991
    Date of Patent: November 26, 1991
    Assignee: International Business Machines Corporation
    Inventors: Mamata Misra, Robert J. Urquhart, Michael T. Vanover, John A. Voltin
  • Patent number: 4962468
    Abstract: Two polygon fill algorithms are presented for filling polygons on a graphics display. The first polygon fill algorithm fills polygons that are strictly convex. The second polygon fill algorithm fills a larger class of polygons than the first polygon fill algorithm which includes polygons being concave in the x direction, and polygons having crossing lines. The first polygon fill algorithm tests the polygon for strict convexity by testing for a consistent turning direction, and by testing for once around in the y direction. The first polygon fill algorithm then stores the maximum and minimum value of the pel selected by the Bresenham algorithm for each scan line of the polygon. The fill line is drawn from the pel having the minimum value to the pel having the maximum value for each scan line of the polygon. The second polygon fill algorithm tests the polygon to ensure that it can be filled with one unique fill line for each scan line of the polygon.
    Type: Grant
    Filed: December 9, 1987
    Date of Patent: October 9, 1990
    Assignee: International Business Machines Corporation
    Inventors: Gary M. Beauregard, Larry K. Loucks, Khoa D. Nguyen, Robert J. Urquhart
  • Patent number: 4701851
    Abstract: A compound word spelling verification technique is described for use with a dictionary which does not include all verifiable compounds. During attempted verfication of a text word, all initial substrings of the word found in the dictionary are saved in a list. If the entire word is not found in the dictionary, the longest substring in the substring list is subtracted from the entire word to be verified to yield a "remainder" portion of the input text word. The dictionary words are then compared with this remainder portion to determine if a match occurs. If so, then both portions of the word are found in the dictionary and spelling of the word is considered correct. If the remainder is not found in the dictionary, successively shorter initial substrings are accessed to yield successively longer remainders. The word is considered correctly spelled if both a substring and a remainder are found in the dictionary. This techinque is applied recursively so that multiple-piece compounds can also be found.
    Type: Grant
    Filed: October 24, 1984
    Date of Patent: October 20, 1987
    Assignee: International Business Machines Corporation
    Inventors: Vance R. Bass, Veronica A. Bonebrake, David A. Garrison, James K. Landis, Mary S. Neff, Robert J. Urquhart, Susan C. Williams
  • Patent number: 4672571
    Abstract: A compound word spelling verification technique is described for use with a dictionary which does not include all verifiable compounds. During verification of a text word, an attempt is made to find a pair of words in the dictionary of which the text word consists. A table associated with the dictionary includes compound class information relative to each of the words stored therein. The compound class of each of the pair of words of which the input text word consists are tested for compatibility to determine if each of the pair of words may acceptably be used in a compound word in the physical position in which it is found in the input text word.
    Type: Grant
    Filed: October 24, 1984
    Date of Patent: June 9, 1987
    Assignee: International Business Machines Corporation
    Inventors: Vance R. Bass, Veronica A. Bonebrake, David A. Garrison, James K. Landis, Mary S. Neff, Robert J. Urquhart, Susan C. Williams
  • Patent number: 4503514
    Abstract: An improved method for storing and rapidly accessing a dictionary file of encoded data for use in verifying the correct spelling of input words. Dictionary words are numerically encoded and hashed into magnitude and unique angle pairs. The hashed pairs are sorted and the magnitudes are mapped into a pointer bit vector containing a binary representation for each possible magnitude value and a binary representation for each actual magnitude value. The pointer bit vector is coordinated with the angle values which are stored as is. The spelling of input words is checked by hashing the input word and using the magnitude as an access to the pointer bit vector which yields pointers to all angles having the same magnitude as the input word. These angles are compared to the angle calculated for the input word and an indicator produced to show the result of the comparison and thereby whether the input word is correctly spelled.
    Type: Grant
    Filed: December 29, 1981
    Date of Patent: March 5, 1985
    Assignee: International Business Machines Corporation
    Inventor: Robert J. Urquhart