Patents by Inventor Erik A. Daughtrey

Erik A. Daughtrey 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: 7703101
    Abstract: Incoming work units (e.g., requests) in a computing workload are analyzed and classified according to predicted execution. Preferred embodiments track which instrumented wait points are encountered by the executing work units, and this information is analyzed to dynamically and autonomically create one or more recognizers to programmatically recognize similar, subsequently-received work units. When a work unit is recognized, its execution behavior is then predicted. Execution resources are then allocated to the work units in view of these predictions. The recognizers may be autonomically evaluated or tuned, thereby adjusting to changing workload characteristics. The disclosed techniques may be used advantageously in application servers, message-processing software, and so forth.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: April 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: Gennaro A. Cuomo, Erik A. Daughtrey
  • Patent number: 7552215
    Abstract: The present invention provides a method, system, and computer program product for supporting a large number of intermittently used application clusters without consuming all the resources needed to run server processes for all the application clusters all the time. A method in accordance with the present invention comprises: holding an application request for a dormant application cluster in a holding zone; changing a status of the dormant application cluster to active; changing a status of an unused active application cluster to dormant; stopping server processes for the newly dormant application cluster; starting server processes for the newly active application cluster; and directing the application request held in the holding zone to the server processes for the newly active application cluster.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: June 23, 2009
    Assignee: International Business Machines Corporation
    Inventors: Nikolaos Anerousis, Gennaro A. Cuomo, Erik A. Daughtrey, Brian K. Martin, Giovanni Pacifici, Michael Spreitzer, Malgorzata Steinder, Asser N. Tantawi
  • Patent number: 7275239
    Abstract: Methods, systems, computer program products, and methods of doing business whereby programmatically-generated byte code insertion is used to perform run-time tracing of code that potentially encounters a wait during execution. The byte code insertion is performed at load time, and inserts byte codes before and after a located (potential) wait point. The inserted byte code functions to gather execution statistics, such as a time stamp before invoking a located wait point and a time stamp after invoking the located wait point. Preferred embodiments allow this tracing to be selectively activated/deactivated.
    Type: Grant
    Filed: February 10, 2003
    Date of Patent: September 25, 2007
    Assignee: International Business Machines Corporation
    Inventors: Gennaro A. Cuomo, Erik A. Daughtrey, Michael L. Fraenkel
  • Patent number: 7237242
    Abstract: Thread pools in a multithreaded server are programmatically adjusted, based on observed statistics from the server's inbound workload. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: June 26, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
  • Patent number: 7207043
    Abstract: Workload is programmatically distributed across a set of execution resources. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: April 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
  • Publication number: 20040158819
    Abstract: Methods, systems, computer program products, and methods of doing business whereby programmatically-generated byte code insertion is used to perform run-time tracing of code that potentially encounters a wait during execution. The byte code insertion is performed at load time, and inserts byte codes before and after a located (potential) wait point. The inserted byte code functions to gather execution statistics, such as a time stamp before invoking a located wait point and a time stamp after invoking the located wait point. Preferred embodiments allow this tracing to be selectively activated/deactivated.
    Type: Application
    Filed: February 10, 2003
    Publication date: August 12, 2004
    Applicant: International Business Machines Corporation
    Inventors: Gennaro A. Cuomo, Erik A. Daughtrey, Michael L. Fraenkel
  • Publication number: 20040139433
    Abstract: Workload is programmatically distributed across a set of execution resources. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Application
    Filed: December 31, 2002
    Publication date: July 15, 2004
    Applicant: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
  • Publication number: 20040139434
    Abstract: Thread pools in a multithreaded server are programmatically adjusted, based on observed statistics from the server's inbound workload. In a multithreaded server environment, response time to end users is improved while increasing the efficiency of software execution and resource usage. Execution time and wait/queued time are tracked, for various types of requests being serviced by a server. Multiple logical pools of threads are used to service these requests, and inbound requests are directed to a selected one of these pools such that requests of similar execution-time requirements are serviced by the threads in that pool. The number and size of thread pools may be adjusted programmatically, and the distribution calculation (i.e., determining which inbound requests should be assigned to which pools) is a programmatic determination. In preferred embodiments, only one of these variables is adjusted at a time, and the results are monitored to determine whether the effect was positive or negative.
    Type: Application
    Filed: December 31, 2002
    Publication date: July 15, 2004
    Applicant: International Business Machines Corporation
    Inventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom