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
-
Publication number: 20070180453Abstract: Embodiments of the present invention address deficiencies of the art in respect to deploying heterogeneous workloads in separate resource pools and provide a method, system and computer program product for on-demand application scheduling in a heterogeneous environment. In one embodiment of the invention, a method for balancing nodal allocations in a resource pool common to both transactional workloads and long running workloads can include parsing a service policy for both transactional workloads and also long running workloads. An allocation of nodes for a common resource pool for the transactional and long running workloads can be determined to balance performance requirements for the transactional workloads and long running workloads specified by the service policy. Subsequently, the determined allocation can be applied to the common resource pool.Type: ApplicationFiled: January 27, 2006Publication date: August 2, 2007Applicant: International Business Machines CorporationInventors: Michael Burr, Erik Daughtrey, Charles Fricano, Daniel Labrecque, Gabriel Montero, Sajan Sankaran, Michael Spreitzer, Malgorzata Steinder
-
Publication number: 20070157212Abstract: In alternate embodiments, the invention is a message-passing process for routing communications between a transmitting parallel process and a receiving parallel process executing in an application server environment, or a machine or computer-readable memory having the message-passing process programmed therein, the message-passing process comprising: linking a context key to an addressable computing resource in the application server environment; linking the receiving parallel process to the context key; receiving a communication from the transmitting parallel process, wherein the communication transmits the context key; and routing the communication to the addressable computing resource linked to the context key.Type: ApplicationFiled: January 4, 2006Publication date: July 5, 2007Inventors: Douglas Berg, Erik Daughtrey, Donald Pazel
-
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: 20060085544Abstract: The invention described is a new and useful process for minimizing the overall rebate a provider disburses to customers when a service level agreement (SLA) breach occurs in a utility computing environment. Specifically, the process compares performance data and resource usage with the SLAs of the customers, and reallocates shared resources to those customers who represent a lesser penalty to the provider in the event of an SLA breach. The process determines which resources, used by customers representing the lesser penalty, are operating below peak capacity. The process then reallocates these under-utilized resources to those customers requiring additional resources to meet SLA thresholds. If all resources are operating at peak capacity, the process reallocates the resources to those customers whose SLAs represent a greater penalty in the event of an SLA breach as compared to those customers whose SLAs provide for a lesser penalty, thereby minimizing the total rebate due upon an SLA breach.Type: ApplicationFiled: October 18, 2004Publication date: April 20, 2006Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Yen-Fu Chen, Erik Daughtrey, Hari Shankar, Wenjian Qiao
-
Publication number: 20060075101Abstract: 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: ApplicationFiled: September 29, 2004Publication date: April 6, 2006Applicant: International Business Machines CorporationInventors: Nikolaos Anerousis, Gennaro Cuomo, Erik Daughtrey, Brian Martin, Giovanni Pacifici, Michael Spreitzer, Malgorzata Steinder, Asser Tantawi
-
Publication number: 20050183084Abstract: 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: ApplicationFiled: February 13, 2004Publication date: August 18, 2005Applicant: International Business Machines CorporationInventors: Gennaro Cuomo, Erik Daughtrey
-
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