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: 10084890Abstract: 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: GrantFiled: June 29, 2015Date of Patent: September 25, 2018Assignee: International Business Machines CorporationInventors: David A. Herr, Grant S. Mericle, Benjamin T. Rau
-
Patent number: 9973574Abstract: 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: GrantFiled: November 15, 2017Date of Patent: May 15, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
-
Patent number: 9954979Abstract: 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: GrantFiled: September 21, 2015Date of Patent: April 24, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David A. Herr, Constantinos Kassimis, Jerry W. Stevens
-
Publication number: 20180063230Abstract: 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: ApplicationFiled: November 15, 2017Publication date: March 1, 2018Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
-
Patent number: 9882972Abstract: 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: GrantFiled: October 30, 2015Date of Patent: January 30, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
-
Publication number: 20170126791Abstract: 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: ApplicationFiled: October 30, 2015Publication date: May 4, 2017Inventors: David A. Herr, Grant S. Mericle, Bruce H. Ratcliff, Benjamin T. Rau
-
Patent number: 9621686Abstract: 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: GrantFiled: August 27, 2015Date of Patent: April 11, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
-
Publication number: 20170085683Abstract: 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: ApplicationFiled: September 21, 2015Publication date: March 23, 2017Inventors: David A. Herr, Constantinos Kassimis, Jerry W. Stevens
-
Publication number: 20160381132Abstract: 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: ApplicationFiled: June 29, 2015Publication date: December 29, 2016Inventors: David A. Herr, Grant S. Mericle, Benjamin T. Rau
-
Publication number: 20160021195Abstract: 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: ApplicationFiled: August 27, 2015Publication date: January 21, 2016Applicant: International Business Machines CorporationInventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
-
Publication number: 20160021222Abstract: 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: ApplicationFiled: July 16, 2014Publication date: January 21, 2016Inventors: Gregory M. Callis, David A. Herr, Mark W. McClintock
-
Patent number: 8880935Abstract: 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: GrantFiled: June 12, 2012Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventors: Michael J. Fox, Jeffrey D. Haggar, David A. Herr, Hugh E. Hockett, Constantinos Kassimis, Benjamin P. Segal, Jerry W. Stevens
-
Publication number: 20130332767Abstract: 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: ApplicationFiled: June 12, 2012Publication date: December 12, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael J. Fox, Jeffrey D. Haggar, David A. Herr, Hugh E. Hockett, Constantinos Kassimis, Benjamin P. Segal, Jerry W. Stevens
-
Patent number: 8230078Abstract: 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: GrantFiled: August 18, 2009Date of Patent: July 24, 2012Assignee: International Business Machines CorporationInventors: David A. Herr, Constantinos Kassimis, Jean K. Hawrysz
-
Publication number: 20110047276Abstract: 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: ApplicationFiled: August 18, 2009Publication date: February 24, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: DAVID A. HERR, CONSTANTINOS KASSIMIS, JEAN K. HAWRYSZ