Patents by Inventor Herman Dietrich Dierks

Herman Dietrich Dierks 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: 8806153
    Abstract: A cache within a computer system receives a partial write request and identifies a cache hit of a cache line. The cache line corresponds to the partial write request and includes existing data. In turn, the cache receives partial write data and merges the partial write data with the existing data into the cache line. In one embodiment, the existing data is “modified” or “dirty.” In another embodiment, the existing data is “shared.” In this embodiment, the cache changes the state of the cache line to indicate the storing of the partial write data into the cache line.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
  • Publication number: 20120215982
    Abstract: A cache within a computer system receives a partial write request and identifies a cache hit of a cache line. The cache line corresponds to the partial write request and includes existing data. In turn, the cache receives partial write data and merges the partial write data with the existing data into the cache line. In one embodiment, the existing data is “modified” or “dirty.” In another embodiment, the existing data is “shared.” In this embodiment, the cache changes the state of the cache line to indicate the storing of the partial write data into the cache line.
    Type: Application
    Filed: February 22, 2011
    Publication date: August 23, 2012
    Applicant: International Business Machines Corporation
    Inventors: Robert H. Bell, JR., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
  • Patent number: 7970925
    Abstract: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK).
    Type: Grant
    Filed: November 19, 2008
    Date of Patent: June 28, 2011
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra
  • Patent number: 7937508
    Abstract: A method, apparatus, and computer instructions for transferring data from a memory to a network adapter in a data processing system. The frame size for a transfer of the data from the memory to the network adapter is identified. If the frame size is divisible by a cache line size without a remainder, a valid data length is set equal to the length field. However, if the frame size divided by the cache line size results in a remainder, the length field is set to align the data with the cache line size. The data transfer is then initiated using these fields.
    Type: Grant
    Filed: May 6, 2008
    Date of Patent: May 3, 2011
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
  • Patent number: 7818433
    Abstract: A system, method, and program product is provided that requests, by a first computer system, a new network session with a second computer system. The new network session request occurs after a previous network session between the two systems and the new network session request includes a new sequence number that is different from a previous sequence number that was used during the previous network session. The first computer system receives an acknowledgement from the second computer system that references the previous sequence number instead of the new sequence number. In response to receiving the acknowledgement at the first computer system that references the previous sequence number, the first computer system modifies the new sequence number by setting it to a value that is higher than the previous sequence number, and the first computer system re-requests the new network session using the modified new sequence number.
    Type: Grant
    Filed: August 16, 2007
    Date of Patent: October 19, 2010
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Jose Raul Escalera, Kiet H. Lam, Venkat Venkatsubra
  • Patent number: 7817560
    Abstract: A computer implemented method, apparatus, and computer usable code for receiving data from a sender across a network connection for the data transfer. An expected size for a congestion window for the sender is identified. An amount of the data received from the sender is tracked. An acknowledgment is sent in response to the amount of data received from the sender meet in the expected size of the congestion window for the sender.
    Type: Grant
    Filed: May 28, 2008
    Date of Patent: October 19, 2010
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Agustin Mena, III, Dirk Michel, Jean-Philipe Sugerbroad
  • Patent number: 7526706
    Abstract: A computer implemented method, apparatus, and computer usable program code to determine whether an acknowledgment packet from an end point acknowledges receipt of unsent data in response to receiving the acknowledgement packet over a connection with the end point. A determination is made as to whether acknowledgement packets for unsent data have been received sequentially a selected number of times over the connection in response to the acknowledgement packet being for unsent data. The acknowledgment packet is dropped if acknowledgement packets have been received sequentially the selected number of times over the connection.
    Type: Grant
    Filed: January 18, 2006
    Date of Patent: April 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Stephen Carter, Herman Dietrich Dierks, Jr., Mallesh Lepakshaiah, Venkat Venkatsubra
  • Patent number: 7512072
    Abstract: A computer implemented method for receiving data from a sender across a network connection for the data transfer. An expected size for a congestion window for the sender is identified. An amount of the data received from the sender is tracked. An acknowledgment is sent in response to the amount of data received from the sender meet in the expected size of the congestion window for the sender.
    Type: Grant
    Filed: September 15, 2005
    Date of Patent: March 31, 2009
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Agustin Mena, III, Dirk Michel, Jean-Philippe Sugarbroad
  • Publication number: 20090070481
    Abstract: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK).
    Type: Application
    Filed: November 19, 2008
    Publication date: March 12, 2009
    Applicant: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, JR., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra
  • Publication number: 20090049178
    Abstract: A system, method, and program product is provided that requests, by a first computer system, a new network session with a second computer system. The new network session request occurs after a previous network session between the two systems and the new network session request includes a new sequence number that is different from a previous sequence number that was used during the previous network session. The first computer system receives an acknowledgement from the second computer system that references the previous sequence number instead of the new sequence number. In response to receiving the acknowledgement at the first computer system that references the previous sequence number, the first computer system modifies the new sequence number by setting it to a value that is higher than the previous sequence number, and the first computer system re-requests the new network session using the modified new sequence number.
    Type: Application
    Filed: August 16, 2007
    Publication date: February 19, 2009
    Inventors: Herman Dietrich Dierks, JR., Jose Raul Escalera, Kiet H. Lam, Venkat Venkatsubra
  • Patent number: 7469296
    Abstract: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK).
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: December 23, 2008
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena III, Venkat Venkatsubra
  • Patent number: 7454456
    Abstract: A method, system and apparatus for improving network performance of a multiprocessor system that has a limited number of physical network interfaces by using virtual IP addresses are provided. When a processor of the multiprocessor system determines that it is processing network data, it uses a virtual IP address to transmit the data. The virtual IP address is associated with a buffer; and thus the data is sent to the buffer. This allows the processor to be free to process other data, network or otherwise. The buffer, with the help of a controller, then contends for the use of one of the limited physical network interfaces to transmit the data.
    Type: Grant
    Filed: February 14, 2002
    Date of Patent: November 18, 2008
    Assignee: International Business Machines Corporation
    Inventors: Dwip N. Banerjee, Herman Dietrich Dierks, Jr., Vinit Jain
  • Publication number: 20080244084
    Abstract: A method, system, and computer program product for negotiating a smart maximum segment size of a network connection for a data transfer. A client request to initiate a network connection, which includes a first maximum segment size, is received at a server. The server calculates a second maximum segment size, wherein at least one of the first maximum segment size or the second maximum segment size is a cache line size aligned Ethernet frame size, or smart maximum segment size. The server determines the smaller of the first and second maximum segment sizes and sends the second maximum segment size to the client. The client then selects the smaller of the first and second maximum segment sizes, and sends an acknowledgement to the server to complete the connection. The smaller of the first and second maximum segment sizes is used for the network connection and subsequent data transfer.
    Type: Application
    Filed: June 12, 2008
    Publication date: October 2, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINE CORPORATION
    Inventors: Herman Dietrich Dierks, Kiet H. Lam, Venkat Venkatsubra
  • Publication number: 20080225724
    Abstract: A computer implemented method, apparatus, and computer usable code for receiving data from a sender across a network connection for the data transfer. An expected size for a congestion window for the sender is identified. An amount of the data received from the sender is tracked. An acknowledgment is sent in response to the amount of data received from the sender meet in the expected size of the congestion window for the sender.
    Type: Application
    Filed: May 28, 2008
    Publication date: September 18, 2008
    Applicant: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Agustin Mena, Dirk Michel, Jean-Phillipe Sugarbroad
  • Publication number: 20080209087
    Abstract: A method, apparatus, and computer instructions for transferring data from a memory to a network adapter in a data processing system. The frame size for a transfer of the data from the memory to the network adapter is identified. If the frame size is divisible by a cache line size without a remainder, a valid data length is set equal to the length field. However, if the frame size divided by the cache line size results in a remainder, the length field is set to align the data with the cache line size. The data transfer is then initiated using these fields.
    Type: Application
    Filed: May 6, 2008
    Publication date: August 28, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Herman Dietrich Dierks,, Binh K. Hua, Sivarama K. Kodukula
  • Publication number: 20080178183
    Abstract: Scheduling threads in a multi-processor computer system including establishing an interrupt threshold for a thread, where the interrupt threshold represents a maximum permissible number of interrupts during thread execution on a processor; executing the thread on a current processor, where the thread has thread affinity for one or more processors including the current processor; counting a number of interrupts during execution of the thread on the current processor; and removing thread affinity for the current processor in dependence upon the counted number of interrupts and the interrupt threshold.
    Type: Application
    Filed: March 25, 2008
    Publication date: July 24, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jos Manuel Accapadi, Herman Dietrich Dierks, Andrew Dunshea, Dirk Michel
  • Patent number: 7376763
    Abstract: A method, apparatus, and computer instructions for transferring data from a memory to a network adapter in a data processing system. The frame size for a transfer of the data from the memory to the network adapter is identified. If the frame size is divisible by a cache line size without a remainder, a valid data length is set equal to the length field. However, if the frame size divided by the cache line size results in a remainder, the length field is set to align the data with the cache line size. The data transfer is then initiated using these fields.
    Type: Grant
    Filed: July 17, 2003
    Date of Patent: May 20, 2008
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
  • Patent number: 7356664
    Abstract: A method, apparatus, and computer instructions for transferring data from a memory to a network adapter. A request is received to transfer data to a network adapter. An offset is set for a starting address of the data to align the data with an end of a frame in the memory, wherein the frame is transferred from the memory to the network adapter.
    Type: Grant
    Filed: July 17, 2003
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
  • Patent number: 7174386
    Abstract: A system and method for tuning TCP/IP acknowledgments is provided. The system and method reduces the number of acknowledgments sent by a TCP/IP receiver by determining whether the connection state with the sender warrants using minimal acknowledgments. If minimal acknowledgments are used, the receiver sends fewer acknowledgments to the sender in response to received packets. The number of packets that are received before an acknowledgment is returned is increased until the delay value reaches a threshold value. The threshold value can be determined based on the size of the buffer setup to receive packets from the sender during the session. If errors, such as TCP/IP timeouts or duplicate packets, are detected, the threshold is changed to the last delay value that did not cause errors. If further errors are detected, the system is programmed to revert to sending traditional acknowledgments for the session.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: February 6, 2007
    Assignee: International Business Machines Corporation
    Inventors: James Brian Cunningham, Herman Dietrich Dierks, Jr., Octavian Florin Herescu, Kiet Hien Lam
  • Patent number: 7065581
    Abstract: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK).
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: June 20, 2006
    Assignee: International Business Machines Corporation
    Inventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra