Patents by Inventor MICHAEL D. BROOKS

MICHAEL D. BROOKS 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).

  • Publication number: 20200177682
    Abstract: Systems, methods, and computer program products for the dynamic management of the capacity of long-lived connections to a server are provided. A request to change a first connection to a server is received. The server has a total capacity to process multiple concurrent requests from one or more clients over respective connections, and each connection is configured with a capacity for communicating concurrent client requests. One or more active connections to the server and corresponding current capacities are determined. A new capacity for one or more connections of the first connection and the active connections to the server is determined based on the request, the total capacity and the current capacities of the one or more active connections.
    Type: Application
    Filed: November 30, 2018
    Publication date: June 4, 2020
    Inventors: Michael D. Brooks, Philip I. Wakelin, Alan Hollingshead, Julian Horn
  • Patent number: 10666537
    Abstract: A system, computer-implemented method and computer program performs heartbeat messaging for managing connections for data communications. In one example method, an indication of a problem associated with a connection for data communication in a computing system or network is received. In response to receiving the indication, a heartbeat message is sent over the connection. The method monitors for a heartbeat response to the heartbeat message within a predefined heartbeat time interval. If a heartbeat response is received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is invalid. If a heartbeat response is not received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is valid.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: May 26, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Publication number: 20200092395
    Abstract: Method and system are provided for overload management of a transaction processing server. The method includes detecting a high load state of a server based on a count of current transactions being processed in the server and activating prioritization of incoming client requests to the server based on prioritization of types of transaction request that reduce the load on the server. The prioritization may include: inspecting incoming client requests to determine their type and allocate a priority level; and forwarding a higher level prioritized request for processing ahead of a lower level priority request.
    Type: Application
    Filed: September 19, 2018
    Publication date: March 19, 2020
    Inventors: JULIAN HORN, ALAN HOLLINGSHEAD, MICHAEL D. BROOKS, PHILIP I. WAKELIN
  • Publication number: 20200076904
    Abstract: Methods, systems, and computer program products for handling multi-pipe connections is provided. A primary pipe request for a connection between a client and a server is received. The connection includes a plurality of pipes between the client and the server. The primary pipe request includes a number corresponding to the amount of pipes required for the connection. A first response acknowledging the receipt of the primary pipe request is transmitted. The first response includes a token. A plurality of subsequent pipe requests are received for the connection between the client and the server. Each subsequent pipe request includes the token. A subsequent response to each subsequent pipe request is transmitted. A count of the number of pipe requests received is maintained. The established pipes are released after a period of time has elapsed when the number of pipe requests received doesn't reach the number of pipes required for the connection.
    Type: Application
    Filed: November 11, 2019
    Publication date: March 5, 2020
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Publication number: 20200076903
    Abstract: Methods, systems, and computer program products for handling multi-pipe connections is provided. A primary pipe request for a connection between a client and a server is received. The connection includes a plurality of pipes between the client and the server. The primary pipe request includes a number corresponding to the amount of pipes required for the connection. A first response acknowledging the receipt of the primary pipe request is transmitted. The first response includes a token. A plurality of subsequent pipe requests are received for the connection between the client and the server. Each subsequent pipe request includes the token. A subsequent response to each subsequent pipe request is transmitted. A count of the number of pipe requests received is maintained. The established pipes are released after a period of time has elapsed when the number of pipe requests received doesn't reach the number of pipes required for the connection.
    Type: Application
    Filed: November 11, 2019
    Publication date: March 5, 2020
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Patent number: 10574761
    Abstract: An apparatus, computer-implemented method and computer program product manages connections for data communication. A first system initiates a process for establishing a new connection pipe of a socket-based connection between the first system and a second system. The new connection pipe is a replacement for an existing connection pipe. The existing connection pipe is accessed by a respective existing socket at each of the first and second systems. The first system receives acknowledgement from the second system confirming that the replacement connection pipe is established. The replacement connection pipe is accessed by a respective replacement socket at each of the first and second systems. The first system re-associates sessions of the existing socket at the first system to the replacement socket at the first system.
    Type: Grant
    Filed: November 3, 2017
    Date of Patent: February 25, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian Horn, Philip Wakelin
  • Patent number: 10511672
    Abstract: Methods, systems, and computer program products for handling multi-pipe connections is provided. A primary pipe request for a connection between a client and a server is received. The connection includes a plurality of pipes between the client and the server. The primary pipe request includes a number corresponding to the amount of pipes required for the connection. A first response acknowledging the receipt of the primary pipe request is transmitted. The first response includes a token. A plurality of subsequent pipe requests are received for the connection between the client and the server. Each subsequent pipe request includes the token. A subsequent response to each subsequent pipe request is transmitted. A count of the number of pipe requests received is maintained. The established pipes are released after a period of time has elapsed when the number of pipe requests received doesn't reach the number of pipes required for the connection.
    Type: Grant
    Filed: July 2, 2018
    Date of Patent: December 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Patent number: 10511673
    Abstract: Methods, systems, and computer program products for handling multi-pipe connections is provided. A primary pipe request for a connection between a client and a server is received. The connection includes a plurality of pipes between the client and the server. The primary pipe request includes a number corresponding to the amount of pipes required for the connection. A first response acknowledging the receipt of the primary pipe request is transmitted. The first response includes a token. A plurality of subsequent pipe requests are received for the connection between the client and the server. Each subsequent pipe request includes the token. A subsequent response to each subsequent pipe request is transmitted. A count of the number of pipe requests received is maintained. The established pipes are released after a period of time has elapsed when the number of pipe requests received doesn't reach the number of pipes required for the connection.
    Type: Grant
    Filed: July 2, 2018
    Date of Patent: December 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Patent number: 10452511
    Abstract: Generating a performance policy for a server. A plurality of system metrics of a first server is monitored, and a benchmark for the plurality of system metrics based on the monitored plurality of system metrics is stored. The benchmark indicates desirable system metrics of the first server. An operating policy for a second server is generated from the stored benchmark. The operating policy includes desirable system metrics of the second server based on the desirable system metrics of the first server.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: October 22, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, James A. Harrison, Robert C. Jones, Philip R. Lee, Catherine M. Moxey, Mayur Raja
  • Patent number: 10379928
    Abstract: Method and system are provided for preventing local processing problems interfering with a time-sensitive validation process. The method monitors an elapsed time of an instance of a time-sensitive validation process of a software component including dispatching of the process instance and determines if the elapsed time is significantly greater than a preset processing time. If so, the method may dynamically alter error processing of the time-sensitive validation process of the software component.
    Type: Grant
    Filed: June 28, 2017
    Date of Patent: August 13, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Mark Pocock, Philip I. Wakelin
  • Patent number: 10348840
    Abstract: In a network capable of handling a number of concurrent network connections between network nodes, referred to as client and server, the client and server connection managers are customized by adding respective status handler components which add server status information requests, from client to server, and responsive status information, from server to client into message headers of messages being sent between the server and client. The supported server status information types for any given connection are defined when a connection is established through dialogue between the client and server, and then persist for the lifetime of the connection. The customizations of the server and client connection managers are modest and the increase in network traffic over the connection is proportionally very small. Moreover, status information requests can be processed and responded to quickly by attaching to messages that are being sent between the nodes.
    Type: Grant
    Filed: January 16, 2017
    Date of Patent: July 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin, Russell I. Wilson
  • Publication number: 20190155673
    Abstract: Method and system are provided for notification of network connection errors between connected software systems. The method includes providing an error notification process for a local software system that uses one or more network connections to interact with a remote software system, wherein the error notification process includes a configuration of a selection of one or more error notification paths and enabling the error notification process that remains dormant and monitors the one or more network connections. The method detects an error in a network connection and invoking the error notification process, including: gathering information and building an error notification message; and sending the error notification message to the remote software system at the end of the network connection on which the error is detected via one or more error notification paths selected according to the configuration.
    Type: Application
    Filed: November 21, 2017
    Publication date: May 23, 2019
    Inventors: MICHAEL D. BROOKS, SIMON P. RACHMAN, JEREMY WEAVING, ANDREW WRIGHT
  • Patent number: 10243828
    Abstract: A system, computer-implemented method and computer program performs heartbeat messaging for managing connections for data communications. In one example method, an indication of a problem associated with a connection for data communication in a computing system or network is received. In response to receiving the indication, a heartbeat message is sent over the connection. The method monitors for a heartbeat response to the heartbeat message within a predefined heartbeat time interval. If a heartbeat response is received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is invalid. If a heartbeat response is not received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is valid.
    Type: Grant
    Filed: October 17, 2016
    Date of Patent: March 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Publication number: 20190068751
    Abstract: A transaction processing server and associated clients which send requests to the server via client-server connections. The server has a transaction processing region operable to process requests and issue responses to the requesting client. The server maintains a record of historical processing times taken to process recent client requests. The server has a connection manager that is operable to monitor incoming client requests and extract from them a goal response time, which is a maximum time within which the client expects the request to be processed which is included in each request. The server accepts or rejects each incoming client request based on deciding whether it is likely to be processed within the goal response time. If a request is rejected, the server transmits a rejection message to the originating client.
    Type: Application
    Filed: August 25, 2017
    Publication date: February 28, 2019
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian Horn, Philip I. Wakelin
  • Publication number: 20190068752
    Abstract: A transaction processing server and associated clients which send requests to the server via client-server connections. The server has a transaction processing region operable to process requests and issue responses to the requesting client. The server maintains a record of historical processing times taken to process recent client requests. The server has a connection manager that is operable to monitor incoming client requests and extract from them a goal response time, which is a maximum time within which the client expects the request to be processed which is included in each request. The server accepts or rejects each incoming client request based on deciding whether it is likely to be processed within the goal response time. If a request is rejected, the server transmits a rejection message to the originating client.
    Type: Application
    Filed: November 15, 2017
    Publication date: February 28, 2019
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian Horn, Philip I. Wakelin
  • Patent number: 10218563
    Abstract: A method for monitoring connections for communicating data is provided. The method includes monitoring communication of data from a device over a connection. A current connection performance parameter for the connection is determined based on the monitoring. The current connection performance parameter is compared with a predetermined threshold. If the current connection performance parameter is less than or equal to the predetermined threshold, the connection is determined to be degraded. An alert may be provided to a user if the connection is determined to be degraded and an alert condition is met.
    Type: Grant
    Filed: October 17, 2016
    Date of Patent: February 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Philip I. Wakelin
  • Publication number: 20190014183
    Abstract: An apparatus, computer-implemented method and computer program product manages connections for data communication. A first system initiates a process for establishing a new connection pipe of a socket-based connection between the first system and a second system. The new connection pipe is a replacement for an existing connection pipe. The existing connection pipe is accessed by a respective existing socket at each of the first and second systems. The first system receives acknowledgement from the second system confirming that the replacement connection pipe is established. The replacement connection pipe is accessed by a respective replacement socket at each of the first and second systems. The first system re-associates sessions of the existing socket at the first system to the replacement socket at the first system.
    Type: Application
    Filed: November 3, 2017
    Publication date: January 10, 2019
    Inventors: Michael D. BROOKS, Alan HOLLINGSHEAD, Julian HORN, Philip WAKELIN
  • Publication number: 20190014182
    Abstract: An apparatus, computer-implemented method and computer program product manages connections for data communication. A first system initiates a process for establishing a new connection pipe of a socket-based connection between the first system and a second system. The new connection pipe is a replacement for an existing connection pipe. The existing connection pipe is accessed by a respective existing socket at each of the first and second systems. The first system receives acknowledgement from the second system confirming that the replacement connection pipe is established. The replacement connection pipe is accessed by a respective replacement socket at each of the first and second systems. The first system re-associates sessions of the existing socket at the first system to the replacement socket at the first system.
    Type: Application
    Filed: July 6, 2017
    Publication date: January 10, 2019
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian Horn, Philip Wakelin
  • Publication number: 20190004889
    Abstract: Method and system are provided for preventing local processing problems interfering with a time-sensitive validation process. The method monitors an elapsed time of an instance of a time-sensitive validation process of a software component including dispatching of the process instance and determines if the elapsed time is significantly greater than a preset processing time. If so, the method may dynamically alter error processing of the time-sensitive validation process of the software component.
    Type: Application
    Filed: June 28, 2017
    Publication date: January 3, 2019
    Inventors: Michael D. Brooks, Alan Hollingshead, Julian C. Horn, Mark Pocock, Philip I. Wakelin
  • Publication number: 20180316590
    Abstract: A system, computer-implemented method and computer program performs heartbeat messaging for managing connections for data communications. In one example method, an indication of a problem associated with a connection for data communication in a computing system or network is received. In response to receiving the indication, a heartbeat message is sent over the connection. The method monitors for a heartbeat response to the heartbeat message within a predefined heartbeat time interval. If a heartbeat response is received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is invalid. If a heartbeat response is not received within the predefined heartbeat time interval, the method determines that the indication of a problem associated with the connection is valid.
    Type: Application
    Filed: July 6, 2018
    Publication date: November 1, 2018
    Inventors: MICHAEL D. BROOKS, ALAN HOLLINGSHEAD, JULIAN C. HORN, PHILIP I. WAKELIN