Patents by Inventor David A. Herr

David A. Herr 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: 10084890
    Abstract: A method, system, and program product for allocating a port for a connection by an application instance on a computer system is provided. The application instances used the port and a shared network address to connect to one or more application instances accessing the shared network address. A distributing stack creates at least one common table of available ports. Each table is associated with a different unique shared network address. When a request is received for a port to assign the shared network address, the distributing stack allocates a set of available ports. When a termination message is received, the distributing stack updates the common table of available ports associated with the shared network address. When a transfer from the distributing stack to a backup distributing stack is made, ownership of the common table of available ports is transferred to the backup distributing stack.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: September 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: David A. Herr, Grant S. Mericle, Benjamin T. Rau
  • Patent number: 9973574
    Abstract: According to some embodiments, a computer-implemented method for packet forwarding optimization across multiple nodes may include receiving, via a processor on a network controller, a first packet from a client. The first packet can include information indicative of a target node and a protocol type. The method may further include receiving, via the processor, a balancing node from a packet engine, forwarding, via the processor, the first packet to the target node though the balancing node according to a balancing node address, a target node address, and the protocol type, receiving, via the processor, a registration from the packet engine, and saving the registration to a network controller queue, and forwarding, via the network controller queue, a second packet to the target node based on the registration without the second packet traversing the balancing node.
    Type: Grant
    Filed: November 15, 2017
    Date of Patent: May 15, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
  • Patent number: 9954979
    Abstract: Embodiments relate to protocol selection for transmission control protocol/internet protocol (TCP/IP). An aspect includes tracking connection data corresponding to a plurality of TCP/IP connections in a computer system. Another aspect includes determining, based on the tracked connection data, whether a particular connection of the plurality of TCP/IP connections is appropriate for sockets over remote direct memory access (RDMA) protocol. Another aspect includes, based on determining that the particular connection is appropriate for sockets over RDMA protocol, automatically enabling sockets over RDMA protocol for the connection. Yet another aspect includes, based on determining that the particular connection is not appropriate for sockets over RDMA protocol, automatically disabling sockets over RDMA protocol for the connection.
    Type: Grant
    Filed: September 21, 2015
    Date of Patent: April 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David A. Herr, Constantinos Kassimis, Jerry W. Stevens
  • Publication number: 20180063230
    Abstract: According to some embodiments, a computer-implemented method for packet forwarding optimization across multiple nodes may include receiving, via a processor on a network controller, a first packet from a client. The first packet can include information indicative of a target node and a protocol type. The method may further include receiving, via the processor, a balancing node from a packet engine, forwarding, via the processor, the first packet to the target node though the balancing node according to a balancing node address, a target node address, and the protocol type, receiving, via the processor, a registration from the packet engine, and saving the registration to a network controller queue, and forwarding, via the network controller queue, a second packet to the target node based on the registration without the second packet traversing the balancing node.
    Type: Application
    Filed: November 15, 2017
    Publication date: March 1, 2018
    Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
  • Patent number: 9882972
    Abstract: According to some embodiments, a computer-implemented method for packet forwarding optimization across multiple nodes may include receiving, via a processor on a network controller, a first packet from a client. The first packet can include information indicative of a target node and a protocol type. The method may further include receiving, via the processor, a balancing node from a packet engine, forwarding, via the processor, the first packet to the target node though the balancing node according to a balancing node address, a target node address, and the protocol type, receiving, via the processor, a registration from the packet engine, and saving the registration to a network controller queue, and forwarding, via the network controller queue, a second packet to the target node based on the registration without the second packet traversing the balancing node.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: January 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
  • Publication number: 20170126791
    Abstract: According to some embodiments, a computer-implemented method for packet forwarding optimization across multiple nodes may include receiving, via a processor on a network controller, a first packet from a client. The first packet can include information indicative of a target node and a protocol type. The method may further include receiving, via the processor, a balancing node from a packet engine, forwarding, via the processor, the first packet to the target node though the balancing node according to a balancing node address, a target node address, and the protocol type, receiving, via the processor, a registration from the packet engine, and saving the registration to a network controller queue, and forwarding, via the network controller queue, a second packet to the target node based on the registration without the second packet traversing the balancing node.
    Type: Application
    Filed: October 30, 2015
    Publication date: May 4, 2017
    Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
  • Patent number: 9621686
    Abstract: A method for identifying reset source and reason in a TCP session is provided in the illustrative embodiments. A reset packet is prepared for the TCP session. An identifier associated with the target data processing system is added using a first header in the reset packet. The identifier associated with the target data processing system is unknown to a sender a data packet in the TCP session. The sender sends the data packet to another data processing system during the TCP session. A reason for resetting the TCP session is added using a second header in the reset packet. The TCP session is reset by sending the reset packet.
    Type: Grant
    Filed: August 27, 2015
    Date of Patent: April 11, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
  • Publication number: 20170085683
    Abstract: Embodiments relate to protocol selection for transmission control protocol/internet protocol (TCP/IP). An aspect includes tracking connection data corresponding to a plurality of TCP/IP connections in a computer system. Another aspect includes determining, based on the tracked connection data, whether a particular connection of the plurality of TCP/IP connections is appropriate for sockets over remote direct memory access (RDMA) protocol. Another aspect includes, based on determining that the particular connection is appropriate for sockets over RDMA protocol, automatically enabling sockets over RDMA protocol for the connection. Yet another aspect includes, based on determining that the particular connection is not appropriate for sockets over RDMA protocol, automatically disabling sockets over RDMA protocol for the connection.
    Type: Application
    Filed: September 21, 2015
    Publication date: March 23, 2017
    Inventors: David A. Herr, Constantinos Kassimis, Jerry W. Stevens
  • Publication number: 20160381132
    Abstract: A method, system, and program product for allocating a port for a connection by an application instance on a computer system is provided. The application instances used the port and a shared network address to connect to one or more application instances accessing the shared network address. A distributing stack creates at least one common table of available ports. Each table is associated with a different unique shared network address. When a request is received for a port to assign the shared network address, the distributing stack allocates a set of available ports. When a termination message is received, the distributing stack updates the common table of available ports associated with the shared network address. When a transfer from the distributing stack to a backup distributing stack is made, ownership of the common table of available ports is transferred to the backup distributing stack.
    Type: Application
    Filed: June 29, 2015
    Publication date: December 29, 2016
    Inventors: David A. Herr, Grant S. Mericle, Benjamin T. Rau
  • Publication number: 20160021195
    Abstract: A method for identifying reset source and reason in a TCP session is provided in the illustrative embodiments. A reset packet is prepared for the TCP session. An identifier associated with the target data processing system is added using a first header in the reset packet. The identifier associated with the target data processing system is unknown to a sender a data packet in the TCP session. The sender sends the data packet to another data processing system during the TCP session. A reason for resetting the TCP session is added using a second header in the reset packet. The TCP session is reset by sending the reset packet.
    Type: Application
    Filed: August 27, 2015
    Publication date: January 21, 2016
    Applicant: International Business Machines Corporation
    Inventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
  • Publication number: 20160021222
    Abstract: A method system, and computer program product for identifying reset source and reason in a TCP session are provided in the illustrative embodiments. A reset packet is prepared for the TCP session. An identifier associated with the target data processing system is added using a first header in the reset packet. The identifier associated with the target data processing system is unknown to a sender a data packet in the TCP session. The sender sends the data packet to another data processing system during the TCP session. A reason for resetting the TCP session is added using a second header in the reset packet. The TCP session is reset by sending the reset packet.
    Type: Application
    Filed: July 16, 2014
    Publication date: January 21, 2016
    Inventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
  • Patent number: 8880935
    Abstract: A system for managing communications to add a first Remote Direct Memory Access (RDMA) link between a TCP server and a TCP client, where the first RDMA link references first remote memory buffer (RMB) and a second RMB, and further based on a first remote direct memory access network interface card (RNIC) associated with the TCP server and a second RNIC associated with the TCP client. The system determines whether a third RNIC is enabled. The system adds a second RDMA link, responsive to a determination that the third RNIC is enabled. The system detects a failure in a failed RDMA link. The system reconfigures the first RDMA link to carry at least one TCP message of a connection formerly assigned to the failed RDMA link, responsive to detecting the failure. The system communicates at least one message of the at least one connection on the first RDMA link.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: November 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Fox, Jeffrey D. Haggar, David A. Herr, Hugh E. Hockett, Constantinos Kassimis, Benjamin P. Segal, Jerry W. Stevens
  • Publication number: 20130332767
    Abstract: A system for managing communications to add a first Remote Direct Memory Access (RDMA) link between a TCP server and a TCP client, where the first RDMA link references first remote memory buffer (RMB) and a second RMB, and further based on a first remote direct memory access network interface card (RNIC) associated with the TCP server and a second RNIC associated with the TCP client. The system determines whether a third RNIC is enabled. The system adds a second RDMA link, responsive to a determination that the third RNIC is enabled. The system detects a failure in a failed RDMA link. The system reconfigures the first RDMA link to carry at least one TCP message of a connection formerly assigned to the failed RDMA link, responsive to detecting the failure. The system communicates at least one message of the at least one connection on the first RDMA link.
    Type: Application
    Filed: June 12, 2012
    Publication date: December 12, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Fox, Jeffrey D. Haggar, David A. Herr, Hugh E. Hockett, Constantinos Kassimis, Benjamin P. Segal, Jerry W. Stevens
  • Patent number: 8230078
    Abstract: A server issues an enhanced accept and receive call to a client computer. The enhanced accept and receive call requires the server to subsequently receive a block of data from the client computer in order to establish a session connection between the client computer and a server resource. In response to the block of data from the client computer failing to be received by the server, the server prevents the session connection from being pushed onto an accept queue on the server until the server executes a corrective process.
    Type: Grant
    Filed: August 18, 2009
    Date of Patent: July 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: David A. Herr, Constantinos Kassimis, Jean K. Hawrysz
  • Publication number: 20110047276
    Abstract: A server issues an enhanced accept and receive call to a client computer. The enhanced accept and receive call requires the server to subsequently receive a block of data from the client computer in order to establish a session connection between the client computer and a server resource. In response to the block of data from the client computer failing to be received by the server, the server prevents the session connection from being pushed onto an accept queue on the server until the server executes a corrective process.
    Type: Application
    Filed: August 18, 2009
    Publication date: February 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: DAVID A. HERR, CONSTANTINOS KASSIMIS, JEAN K. HAWRYSZ