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: 7703101Abstract: 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: GrantFiled: February 13, 2004Date of Patent: April 20, 2010Assignee: International Business Machines CorporationInventors: Gennaro A. Cuomo, Erik A. Daughtrey
-
Patent number: 7552215Abstract: 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: GrantFiled: September 29, 2004Date of Patent: June 23, 2009Assignee: International Business Machines CorporationInventors: Nikolaos Anerousis, Gennaro A. Cuomo, Erik A. Daughtrey, Brian K. Martin, Giovanni Pacifici, Michael Spreitzer, Malgorzata Steinder, Asser N. Tantawi
-
Patent number: 7275239Abstract: 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: GrantFiled: February 10, 2003Date of Patent: September 25, 2007Assignee: International Business Machines CorporationInventors: Gennaro A. Cuomo, Erik A. Daughtrey, Michael L. Fraenkel
-
Patent number: 7237242Abstract: 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: GrantFiled: December 31, 2002Date of Patent: June 26, 2007Assignee: International Business Machines CorporationInventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
-
Patent number: 7207043Abstract: 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: GrantFiled: December 31, 2002Date of Patent: April 17, 2007Assignee: International Business Machines CorporationInventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
-
Publication number: 20040158819Abstract: 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: ApplicationFiled: February 10, 2003Publication date: August 12, 2004Applicant: International Business Machines CorporationInventors: Gennaro A. Cuomo, Erik A. Daughtrey, Michael L. Fraenkel
-
Publication number: 20040139433Abstract: 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: ApplicationFiled: December 31, 2002Publication date: July 15, 2004Applicant: International Business Machines CorporationInventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom
-
Publication number: 20040139434Abstract: 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: ApplicationFiled: December 31, 2002Publication date: July 15, 2004Applicant: International Business Machines CorporationInventors: Christopher James Blythe, Gennaro A. Cuomo, Erik A. Daughtrey, Matt R. Hogstrom