Patents by Inventor Riaz Y. Hussain

Riaz Y. Hussain 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: 7313734
    Abstract: A method, system, apparatus, and computer program product is presented for tracing operations. A set of related methodologies can be used within instruction tracing software, such as a tracing program, to reduce its tendency to generate interrupts that cause unwanted effects in the system that is being captured. A first methodology allows access to protected memory blocks so that instructions may be read from those memory blocks. A second methodology provides for the trace output buffer to be accessed using physical addressing. A third methodology traces only instruction addresses, which are resolved later during a post-processing phase of operation. A fourth methodology comprises multiple different methods for obtaining copies of instructions that have already executed rather than obtaining them before they are executed.
    Type: Grant
    Filed: January 14, 2002
    Date of Patent: December 25, 2007
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine, Robert John Urquhart
  • Publication number: 20070277157
    Abstract: A computer implemented method, apparatus and computer usable program code for collecting information on wait states occurring during execution of a program. Filter criteria associated with a wait state are identified. A determination is made as to whether the filter criteria are met for the wait state. Information is collected about a set of requesters associated with the wait state in response to a determination that the filter criteria have been met.
    Type: Application
    Filed: May 24, 2006
    Publication date: November 29, 2007
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 7277809
    Abstract: A computer implemented method, apparatus, and computer usable program code for calibrating a speedometer of a vehicle. First information is received by the vehicle from a first radio frequency identification tag. Second information is received by the vehicle from a second radio frequency identification tag. A first measured speed of the vehicle is determined based on a reading from the speedometer and a second measured speed of the vehicle is determined using an elapsed time between when the first information was read and when the second information was read and a predetermined distance. The speedometer is calibrated based on a speed difference between the first measured speed and the second measured speed.
    Type: Grant
    Filed: September 12, 2006
    Date of Patent: October 2, 2007
    Assignee: International Business Machines Corporation
    Inventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine, Enio Manuel Pineda
  • Patent number: 6819267
    Abstract: A system and method for activating bookmark files on a pervasive computing device is provided. When the pervasive computing device receives geographic coordinates from a global positioning system (GPS), it selects appropriate bookmarks for the user's location. The pervasive computing device compares geographic coordinate data received from the GPS with geographic matching data stored on the pervasive computing device. In addition, actions are taken to perform commands when the user is within the proximity of a location. Scheduling means are provided so that actions are performed during appropriate times. The pervasive computing device further connects to a computer network, such as the Internet, to access data files and to perform commands on external computing devices. If the commands are executed successfully, a success action is performed on the pervasive computing device. On the other hand, if errors were encountered a failure action is performed notifying the user of the error.
    Type: Grant
    Filed: May 31, 2000
    Date of Patent: November 16, 2004
    Assignee: International Business Machines Corporation
    Inventors: Ronald O'Neal Edmark, Riaz Y. Hussain, Donald Lawrence Mulvey
  • Patent number: 6754890
    Abstract: A method of monitoring execution performance of a program is provided. A process identifier associated with a process within a program is determined, and a trace output file is created for the process such that the file name of the trace output file contains the process identifier. Trace records are generated in response to events within the process. The trace records associated with the process are then written to the trace output file associated with the process. Multiple processes may then be associated with unique trace output files simultaneously. Using this methodology, multiple instances of JVMs may be executing simultaneously, and each JVM may be generating trace records through a profiler. However, the origin of the trace records, as identified by the process identifier, or PID, of the JVM is used to place the trace information into a file that is identified through the use of the same PID.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: June 22, 2004
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Ronald O'Neal Edmark, Riaz Y. Hussain, Frank Eliot Levine
  • Patent number: 6742178
    Abstract: The present invention is directed to a system and method for modifying a class file for the purpose of instrumenting without requiring separate files to correlate the instrumentation. A class file is instrumented with hooks. Each hook is injected in a method at a critical point in the code for tracking path flow, such as where the method will be entered or exited. Each hook includes an identifier to identify the method in which it is injected. Rather than using the method's name, hooks use unique major and minor codes to identify the method. Static initializers are declared for the class to output other hooks identifying the methods being instrumented. When a class is loaded, the static initializers are executed and hooks identifying the method name and the major and minor codes for each instrumented method are output to, for instance, a trace record. Then, when a method is entered or exited, the hooks identifying the entry or exit are also outputted to a trace record.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: May 25, 2004
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Weiming Gu, Riaz Y. Hussain, Frank Eliot Levine, Wai Yee Peter Wong
  • Patent number: 6735758
    Abstract: The value of non-discrete metric variables are synchronized at the processor level. When the profiler requests metric information for non-discrete metric variables, the operating system kernel obtains a global value for the requested metric rather than obtaining per-processor metric values for each processor. The global value may be written to trace records. By using a single global per-processor metric for all processors, a single global value of the last metric variable may be used for calculating the resources consumed on all processors since a last recorded event.
    Type: Grant
    Filed: July 6, 2000
    Date of Patent: May 11, 2004
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6732357
    Abstract: A program is profiled with enablement of trace record generation during a first period of time and with disablement of trace record generation during a second period of time. The number of trace records output during the first period of time is determined, and a trace overhead calibration value is computed as an average time for writing the number of trace records output during the first period of time. The trace overhead calibration value may be stored for subsequent use in a profiling-related process in the data processing system. The trace overhead compensation value represents the amount of time required to generate a trace record, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: May 4, 2004
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Jesse Mannes Gordon, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Patent number: 6662359
    Abstract: The present invention is directed to a system, method and instructions for handling path flow exception and finalization processing in an object oriented programming language. Initially, each instrumentation method is checked for a code to indicated an exception being thrown. A hook is inserted before the exception code and identifies the method throwing the exception. Methods must also be checked for exception tables. When an exception table is found, then a hook is inserted at the entry point of each exception handler for every entry in the exception table. This hook identifies the method which catches the exception.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: December 9, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, John Day Howard, Riaz Y. Hussain, Frank Eliot Levine, Robert John Urquhart
  • Patent number: 6658416
    Abstract: An apparatus and method for cataloging symbolic data for use in performance analysis of computer programs is provided. The apparatus and method stores symbolic data for loaded modules during or shortly after a performance trace and utilizes the stored symbolic data when performing a performance analysis at a later time. A merged symbol file is generated for a computer program, or application, under trace. The merged symbol file contains information useful in performing symbolic resolution of address information in trace files for each instance of a module. During post processing of the trace information generated by a performance trace of a computer program, symbolic information stored in the merged symbol file is compared to the trace information stored in the trace file. The correct symbolic information in the merged symbol file for loaded modules is identified based a number of validating criteria.
    Type: Grant
    Filed: July 10, 2000
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Riaz Y. Hussain, Chester Charles John, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert J. Urguhart
  • Patent number: 6598012
    Abstract: A method and system for compensating for output overhead in trace data is provided by analyzing and compensating for the overhead associated with outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record represents an occurrence of some profiling event of interest. Each trace record contains a starting timestamp representing the time at which the generation of the trace record was commenced and an ending timestamp representing the time at which the generation of the trace record was completed. In order to compute the period of execution time attributable to the application program or system being profiled, a starting timestamp of a trace record is compared with the ending timestamp of a preceding trace record, and the difference between the timestamps is directly related to the execution time of the application program or system being profiled.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: July 22, 2003
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Jesse Mannes Gordon, Riaz Y. Hussain, Frank Eliot Levine, Robert J. Urquhart
  • Publication number: 20030135787
    Abstract: A method, system, apparatus, and computer program product is presented for processing instructions. A processor is able to receive multiple types of interruptions while executing instructions, such as aborts, faults, interrupts, and traps. A set of processor fields are used to indicate whether or not one or more trap modes are active, such as a single-step trap mode or a taken-branch trap mode. The activity of a trap mode is conditioned, i.e., restricted, modified, or qualified, with a trap mode conditioning field that indicates whether or not the trap mode should remain active during interruption processing. The use of a trap mode conditioning field allows an interruption handler to run at full speed without being interrupted by the trap mode, yet the trap mode is preserved so that other processing, such as instruction tracing, may continue after interruption processing.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine
  • Publication number: 20030135720
    Abstract: A method, system, apparatus, and computer program product is presented for processing instructions. A processor is able to receive multiple types of interruptions while executing instructions. The types of interruptions can include aborts, faults, interrupts, and traps. The processor has a plurality of interruption resources, such as interruption control registers, in which a type of interruption can be associated with a specific interruption resource. In response to receiving an interruption, the processor saves processor state information into an interruption resource based on the type of the received interruption, after which the processor invokes an interruption handler to process the received interruption.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine
  • Publication number: 20030135718
    Abstract: A method, system, apparatus, and computer program product is presented for assisting instruction tracing operations. A mechanism is provided within the processor for revealing the most recently executed instruction. After the instruction is completed, the opcode of the instruction or the entire instruction is revealed in one of a variety of manners, such as by writing the opcode or instruction to a register that may be read by application-level code. Alternatively, a series of instructions may be stored in a trace buffer within the processor upon the completion of each instruction. In another alternative, the size and address of a trace buffer in memory may be placed into configuration registers, and a series of instructions may be stored in the trace buffer after the completion of each instruction. The tracing operation for the series of instructions may be qualified so that it is performed only in a taken-branch tracing mode.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine
  • Publication number: 20030135789
    Abstract: A method, system, apparatus, and computer program product is presented for tracing operations. A set of related methodologies can be used within instruction tracing software, such as a tracing program, to reduce its tendency to generate interrupts that cause unwanted effects in the system that is being captured. A first methodology allows access to protected memory blocks so that instructions may be read from those memory blocks. A second methodology provides for the trace output buffer to be accessed using physical addressing. A third methodology traces only instruction addresses, which are resolved later during a post-processing phase of operation. A fourth methodology comprises multiple different methods for obtaining copies of instructions that have already executed rather than obtaining them before they are executed.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine, Robert John Urquhart
  • Publication number: 20030135719
    Abstract: A method, system, apparatus, or computer program product uses a processor mechanism that generates a disposition indicator that reflects whether an instruction has been partially or fully executed by the processor, i.e., whether the results of the instruction are committed. The disposition indicator is then captured in conjunction with other instruction trace information for subsequent post-processing. For most instructions, a predicate register value controls whether an instruction is partially or fully executed; for these instructions, the disposition indicator equals the value of the predicate register. For other instructions that are not predicated or cannot be predicated, the disposition indicator is set when the instruction is executed. A series of indicators for a series of instructions may be stored in a disposition trace buffer upon the completion of each instruction; the disposition trace buffer may be located within the processor or within memory.
    Type: Application
    Filed: January 14, 2002
    Publication date: July 17, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jimmie Earl DeWitt, Riaz Y. Hussain, Frank Eliot Levine
  • 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: 6338159
    Abstract: The present invention is a system, method, and computer readable medium for representing program event trace information in a way which is very compact and efficient, and yet supports a wide variety of queries regarding system performance. The tracing and reduction of the present invention may be dynamic, in which case information is obtained and added to the trace representation in real-time. Alternately, the tracing and reduction may be static, in which case a trace text file or binary file is obtained from a trace buffer, and the reduction takes place using the trace file as input. The trace information, whether obtained statically or dynamically, is represented as a tree of events. The present invention may be used to present many types of trace information in a compact manner which supports performance queries.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: January 8, 2002
    Assignee: International Business Machines Corporation
    Inventors: William Preston Alexander, III, Robert Francis Berry, Riaz Y. Hussain, Chester Charles John, Jr., Frank Eliot Levine, Robert John Urquhart
  • Patent number: 6332117
    Abstract: During the recording of events occurring within the operation of a data processing system, a user-selected metric of interest is recorded along with the trace data for each recorded event. The metric of interest is a monotonically increasing variable that provides a non-time relationship between the recorded events. This relationship may be time or non-time based.
    Type: Grant
    Filed: October 22, 1998
    Date of Patent: December 18, 2001
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Riaz Y. Hussain, Chester Charles John, Jr., Frank Eliot Levine, Robert John Urquhart
  • Patent number: 6289503
    Abstract: When building an image for a JavaOS client, a date/time stamp is inserted into the symbolic image produced. When a trace program is initiated against this image, the same Build Identifier is inserted into the produced trace data. A comparison is made between the Build Identifiers to ensure that the trace file is analyzed using the correct symbolic image.
    Type: Grant
    Filed: September 24, 1998
    Date of Patent: September 11, 2001
    Assignee: International Business Machines Corporation
    Inventors: Robert Francis Berry, Riaz Y. Hussain, Chester Charles John, Jr., Frank Eliot Levine