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: 8806153Abstract: 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: GrantFiled: February 22, 2011Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventors: Robert H. Bell, Jr., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
-
Publication number: 20120215982Abstract: 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: ApplicationFiled: February 22, 2011Publication date: August 23, 2012Applicant: International Business Machines CorporationInventors: Robert H. Bell, JR., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
-
Patent number: 7970925Abstract: 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: GrantFiled: November 19, 2008Date of Patent: June 28, 2011Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra
-
Patent number: 7937508Abstract: 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: GrantFiled: May 6, 2008Date of Patent: May 3, 2011Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
-
Patent number: 7818433Abstract: 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: GrantFiled: August 16, 2007Date of Patent: October 19, 2010Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Jose Raul Escalera, Kiet H. Lam, Venkat Venkatsubra
-
Patent number: 7817560Abstract: 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: GrantFiled: May 28, 2008Date of Patent: October 19, 2010Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Agustin Mena, III, Dirk Michel, Jean-Philipe Sugerbroad
-
Patent number: 7526706Abstract: 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: GrantFiled: January 18, 2006Date of Patent: April 28, 2009Assignee: International Business Machines CorporationInventors: William Stephen Carter, Herman Dietrich Dierks, Jr., Mallesh Lepakshaiah, Venkat Venkatsubra
-
Patent number: 7512072Abstract: 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: GrantFiled: September 15, 2005Date of Patent: March 31, 2009Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Agustin Mena, III, Dirk Michel, Jean-Philippe Sugarbroad
-
Publication number: 20090070481Abstract: 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: ApplicationFiled: November 19, 2008Publication date: March 12, 2009Applicant: International Business Machines CorporationInventors: Herman Dietrich Dierks, JR., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra
-
Publication number: 20090049178Abstract: 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: ApplicationFiled: August 16, 2007Publication date: February 19, 2009Inventors: Herman Dietrich Dierks, JR., Jose Raul Escalera, Kiet H. Lam, Venkat Venkatsubra
-
Patent number: 7469296Abstract: 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: GrantFiled: March 15, 2006Date of Patent: December 23, 2008Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena III, Venkat Venkatsubra
-
Patent number: 7454456Abstract: 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: GrantFiled: February 14, 2002Date of Patent: November 18, 2008Assignee: International Business Machines CorporationInventors: Dwip N. Banerjee, Herman Dietrich Dierks, Jr., Vinit Jain
-
Publication number: 20080244084Abstract: 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: ApplicationFiled: June 12, 2008Publication date: October 2, 2008Applicant: INTERNATIONAL BUSINESS MACHINE CORPORATIONInventors: Herman Dietrich Dierks, Kiet H. Lam, Venkat Venkatsubra
-
Publication number: 20080225724Abstract: 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: ApplicationFiled: May 28, 2008Publication date: September 18, 2008Applicant: International Business Machines CorporationInventors: Herman Dietrich Dierks, Agustin Mena, Dirk Michel, Jean-Phillipe Sugarbroad
-
Publication number: 20080209087Abstract: 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: ApplicationFiled: May 6, 2008Publication date: August 28, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Herman Dietrich Dierks,, Binh K. Hua, Sivarama K. Kodukula
-
Publication number: 20080178183Abstract: 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: ApplicationFiled: March 25, 2008Publication date: July 24, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jos Manuel Accapadi, Herman Dietrich Dierks, Andrew Dunshea, Dirk Michel
-
Patent number: 7376763Abstract: 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: GrantFiled: July 17, 2003Date of Patent: May 20, 2008Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
-
Patent number: 7356664Abstract: 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: GrantFiled: July 17, 2003Date of Patent: April 8, 2008Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Binh K. Hua, Sivarama K. Kodukula
-
Patent number: 7174386Abstract: 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: GrantFiled: June 27, 2002Date of Patent: February 6, 2007Assignee: International Business Machines CorporationInventors: James Brian Cunningham, Herman Dietrich Dierks, Jr., Octavian Florin Herescu, Kiet Hien Lam
-
Patent number: 7065581Abstract: 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: GrantFiled: June 27, 2001Date of Patent: June 20, 2006Assignee: International Business Machines CorporationInventors: Herman Dietrich Dierks, Jr., Vinit Jain, Agustin Mena, III, Venkat Venkatsubra