Patents by Inventor Umesh Krishnaswamy

Umesh Krishnaswamy 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: 6918110
    Abstract: Method and apparatus for dynamic instrumentation of an executable application program. The application program includes a plurality of functions, each function having an entry point and an endpoint. When the application is executed, a shared memory segment is created for an instrumentation program and the application program. Upon initial invocation of the original functions in the application program, corresponding substitute functions are created in the shared memory segment, the substitute versions including instrumentation code. Thereafter, the substitute functions are executed in lieu of the original functions in the application program.
    Type: Grant
    Filed: April 11, 2001
    Date of Patent: July 12, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Robert Hundt, Vinodha Ramasamy, Eric Gouriou, David J. Babcock, Thomas C. Lofgren, Jose German Rivera, Umesh Krishnaswamy
  • Patent number: 6817014
    Abstract: Method and apparatus for analysis of executable program code. The executable program includes segments of code that correspond to callable functions in the source code from which the executable code was generated. Compiler-generated checkpoint descriptors are included in the executable and include pairs of entry points and endpoints. Each pair of entry points and endpoints is associated with a callable function in the source code. The pairs of entry points and endpoints are read from the executable program code and used to generate analysis data for the associated functions. In other embodiments, pairs of entry points and endpoints are additionally assembled from dynamic load modules and symbol tables.
    Type: Grant
    Filed: April 11, 2001
    Date of Patent: November 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Robert Hundt, Vinodha Ramasamy, Jose German Rivera, Umesh Krishnaswamy
  • Patent number: 6735774
    Abstract: Method and apparatus for managing operating system calls. In a computer system that includes a system vector and a first vector table, an alternative vector table is provided. The first vector table includes references to respective segments of operating system program code that are associated with operating system calls, and the alternative vector table includes references to one or more respective segments of wrapper program code associated with segments of operating, system program code. The system vector is set to reference the first vector table or the alternative vector table at selected times during execution of a user program. Thus, segments of operating system code are executed in response to operating system calls made when the system vector references the first vector table, and segments of code referenced in the alternative vector table are executed when the system vector references the alternative vector table.
    Type: Grant
    Filed: October 23, 2000
    Date of Patent: May 11, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Umesh Krishnaswamy
  • Publication number: 20040015883
    Abstract: Method and apparatus for analysis of executable program code. The executable program includes segments of code that correspond to callable functions in the source code from which the executable code was generated Compiler-generated checkpoint descriptors are included in the executable and include pairs of entry points and endpoints. Each pair of entry points and endpoints is associated with a callable function in the source code. The pairs of entry points and endpoints are read from the executable program code and used to generate analysis data for the associated functions. In other embodiments, pairs of entry points and endpoints are additionally assembled from dynamic load modules and symbol tables.
    Type: Application
    Filed: April 11, 2001
    Publication date: January 22, 2004
    Inventors: Robert Hundt, Vinodha Ramasamy, Jose German Rivera, Umesh Krishnaswamy
  • Publication number: 20040003375
    Abstract: A computer-implemented method for examining a software program using dynamic instrumentation and instruction pointer sampling. In one embodiment, the method includes the step of inserting probe code into a program during runtime. A performance analysis tool is used to collect data resulting from execution of the probe code. The performance analysis tool is also used to collect instruction pointer samples from the execution. The collected data and the instruction pointer samples are then combined.
    Type: Application
    Filed: June 28, 2002
    Publication date: January 1, 2004
    Inventors: Jini S. George, Robert Hundt, Dave Babcock, Sujoy Saraswati, Eric Gouriou, Manoj N. P., Umesh Krishnaswamy
  • Patent number: 6625760
    Abstract: Apparatus and method are described for a testing system that generates tests that share similar failure causing characteristics that can be discovered by a genetic generator quickly without going through the chance or long process of traditional random and exhaustive test generations. The testing system generates random test cases that are applied to a system under test (SUT). These tests are validated to determine whether they cause errors within the SUT. All testing programs that cause an error during the execution of the SUT are collected and are used in the genetic algorithm technique to create other testing programs that share similar characteristics.
    Type: Grant
    Filed: August 3, 1999
    Date of Patent: September 23, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard F. Man, Umesh Krishnaswamy
  • Patent number: 6622300
    Abstract: The present invention is a system and method of using a kernel module to perform dynamic optimizations both of user programs and of the computer operating system kernel, itself. The kernel module permits optimized translations to be shared across a computer system without emulation because the kernel module has the privileges necessary to write into the computer program text in shared user memory space. In addition, the kernel module can be used to optimize the kernel itself because it, too, is located in the kernel memory space.
    Type: Grant
    Filed: April 21, 1999
    Date of Patent: September 16, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Umesh Krishnaswamy, Lacky V. Shah
  • Publication number: 20020152455
    Abstract: Method and apparatus for dynamic instrumentation of an executable application program. The application program includes a plurality of functions, each function having an entry point and an endpoint. When the application is executed, a shared memory segment is created for an instrumentation program and the application program. Upon initial invocation of the original functions in the application program, corresponding substitute functions are created in the shared memory segment, the substitute versions including instrumentation code. Thereafter, the substitute functions are executed in lieu of the original functions in the application program.
    Type: Application
    Filed: April 11, 2001
    Publication date: October 17, 2002
    Inventors: Robert Hundt, Vinodha Ramasamy, Eric Gouriou, David J. Babcock, Thomas C. Lofgren, Jose German Rivera, Umesh Krishnaswamy
  • Publication number: 20020104074
    Abstract: The present invention, in various embodiments, is directed to techniques for providing debugging capability for program code instrumentation. In one embodiment, an instrumentor inserts an instrumentation breakpoint at the beginning of a block of original code. When this breakpoint is reached during execution of the application program that includes the block of original code, the instrumenator, from the block of original code, generates a block of instrumented code. This block of instrumented code may include debugging breakpoints that are carried from the block of original code or are inserted into the block of instrumented code during debugging. After generating the instrumented code, the instrumentor executes the instrumented code until debugging breakpoints are reached that stop the program flow, thereby allowing a programmer to perform debugging functions at these debugging breakpoints.
    Type: Application
    Filed: January 26, 2001
    Publication date: August 1, 2002
    Inventors: Robert Hundt, Vinodha Ramasamy, Umesh Krishnaswamy, Eric Gouriou
  • Patent number: 6308318
    Abstract: A method and apparatus for handling asynchronous exceptions in a dynamic translation system. In accordance with the present invention, the dynamic translation system utilizes an interpreter to determine when a point in the translated code has been reached at which application state is recoverable. When an asynchronous event occurs, execution of translated instructions in hardware is halted and control is transferred to the interpreter at the point at which the exception occurred during the translation. The interpreter then executes the translated code from the point of interruption and checks for a guaranteed application state recoverable point, or GAR point, at the end of each instruction or block of instructions. Once a GAR point is reached, control is transferred to an asynchronous exception handler.
    Type: Grant
    Filed: October 7, 1998
    Date of Patent: October 23, 2001
    Assignee: Hewlett-Packard Company
    Inventor: Umesh Krishnaswamy
  • Publication number: 20010013118
    Abstract: A method and apparatus for handling asynchronous exceptions in a dynamic translation system. In accordance with the present invention, the dynamic translation system utilizes an interpreter to determine when a point in the translated code has been reached at which application state is recoverable. When an asynchronous event occurs, execution of translated instructions in hardware is halted and control is transferred to the interpreter at the point at which the exception occurred during the translation. The interpreter then executes the translated code from the point of interruption and checks for a guaranteed application state recoverable point, or GAR point, at the end of each instruction or block of instructions. Once a GAR point is reached, control is transferred to an asynchronous exception handler.
    Type: Application
    Filed: October 7, 1998
    Publication date: August 9, 2001
    Inventor: UMESH KRISHNASWAMY