Patents by Inventor Hanumantha R. Susarla

Hanumantha R. Susarla 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: 7765532
    Abstract: An Induced Multi-threading (IMT) framework may be configured to induce multi-threaded execution in software code. In one embodiment, the IMT framework may include a concurrent code generator configured to receive marked code having one or more blocks of code marked for concurrent execution. Software code initially intended for sequential execution may have been automatically marked by an automated code marker and/or marked manually to generate the marked code. The concurrent code generator may be configured to generate concurrent code from the marked code. The concurrent code may include one or more tasks configured for concurrent execution in place of the one or more marked blocks of code. In one embodiment, the IMT framework may also include a scheduler configured to schedule one or more of the tasks for multi-threaded execution.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: July 27, 2010
    Assignee: Oracle America, Inc.
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Patent number: 7603664
    Abstract: A method to instrument software code may comprise marking one or more blocks of code in an application program to provide a marked code. The marking may comprise inserting a marker at each of the one or more blocks according to a marking application programming interface (API). The one or more of the blocks of code marked according to the marking API may be transformed so that one or more functions are performed for the marked blocks. The one or more functions may not be part of the application program. The method may include executing the application program and performing the one or more functions for the marked blocks.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: October 13, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Patent number: 7346902
    Abstract: A method for inducing multi-threading in software code may use blocks of code as the basis for scheduling and to suggest concurrent execution for each block. The method may comprise marking one or more blocks of code in an application coded for sequential execution to generate marked code. The marking may comprise inserting a marker at each of the one or more blocks to suggest that block for potential concurrent execution. Concurrent code may be generated from the marked code. Generating the concurrent code may comprise analyzing the marked code to estimate performance benefits of concurrently executing the marked blocks of code and determine which marked blocks would meet a performance benefit threshold if executed concurrently. Generating the concurrent code may also comprise transforming one or more of the marked blocks into corresponding concurrently executable tasks. The method may include scheduling one or more of the concurrently executable tasks.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: March 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Patent number: 7222218
    Abstract: A scheduler may be configured to schedule a plurality of blocks of concurrent code for multi-threaded execution. The scheduler may be configured to initiate multi-threaded execution of the blocks of concurrent code in an order determined by block-level performance criteria for the blocks of concurrent code to reduce overall execution time of the concurrent code. In one embodiment, the scheduler may be configured to schedule code blocks having a longer run time ahead of blocks having a shorter run time. The scheduler may be configured to schedule a group of said blocks based on a goal of each of the blocks of the group completing execution at approximately the same time. The scheduler may also be configured to initiate multi-threaded execution of each block of the group at different times according to the block-level performance criteria to the goal.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: May 22, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Publication number: 20040078779
    Abstract: An Induced Multi-threading (IMT) framework may be configured to induce multi-threaded execution in software code. In one embodiment, the IMT framework may include a concurrent code generator configured to receive marked code having one or more blocks of code marked for concurrent execution. Software code initially intended for sequential execution may have been automatically marked by an automated code marker and/or marked manually to generate the marked code. The concurrent code generator may be configured to generate concurrent code from the marked code. The concurrent code may include one or more tasks configured for concurrent execution in place of the one or more marked blocks of code. In one embodiment, the IMT framework may also include a scheduler configured to schedule one or more of the tasks for multi-threaded execution.
    Type: Application
    Filed: October 22, 2002
    Publication date: April 22, 2004
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Publication number: 20040078538
    Abstract: A scheduler may be configured to schedule a plurality of blocks of concurrent code for multi-threaded execution. The scheduler may be configured to initiate multi-threaded execution of the blocks of concurrent code in an order determined by block-level performance criteria for the blocks of concurrent code to reduce overall execution time of the concurrent code. In one embodiment, the scheduler may be configured to schedule code blocks having a longer run time ahead of blocks having a shorter run time. The scheduler may be configured to schedule a group of said blocks based on a goal of each of the blocks of the group completing execution at approximately the same time. The scheduler may also be configured to initiate multi-threaded execution of each block of the group at different times according to the block-level performance criteria to meet said goal.
    Type: Application
    Filed: October 22, 2002
    Publication date: April 22, 2004
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Publication number: 20040078780
    Abstract: A method for inducing multi-threading in software code may use blocks of code as the basis for scheduling and to suggest concurrent execution for each block. The method may comprise marking one or more blocks of code in an application coded for sequential execution to generate marked code. The marking may comprise inserting a marker at each of the one or more blocks to suggest that block for potential concurrent execution. Concurrent code may be generated from the marked code. Generating the concurrent code may comprise analyzing the marked code to estimate performance benefits of concurrently executing the marked blocks of code and determine which marked blocks would meet a performance benefit threshold if executed concurrently. Generating the concurrent code may also comprise transforming one or more of the marked blocks into corresponding concurrently executable tasks. The method may include scheduling one or more of the concurrently executable tasks.
    Type: Application
    Filed: October 22, 2002
    Publication date: April 22, 2004
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla
  • Publication number: 20040078785
    Abstract: A method to instrument software code may comprise marking one or more blocks of code in an application program to provide a marked code. The marking may comprise inserting a marker at each of the one or more blocks according to a marking application programming interface (API). The one or more of the blocks of code marked according to the marking API may be transformed so that one or more functions are performed for the marked blocks. The one or more functions may not be part of the application program. The method may include executing the application program and performing the one or more functions for the marked blocks.
    Type: Application
    Filed: October 22, 2002
    Publication date: April 22, 2004
    Inventors: Bala Dutt, Ajay Kumar, Hanumantha R. Susarla