Patents by Inventor Herman Dierks

Herman 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).

  • Publication number: 20070168823
    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: Application
    Filed: January 18, 2006
    Publication date: July 19, 2007
    Inventors: William Carter, Herman Dierks, Mallesh Lepakshaiah, Venkat Venkatsubra
  • Publication number: 20070168525
    Abstract: The present invention provides a computer implemented method, apparatus, and computer usable program code for processing multiple interrupts for multiple packets concurrently. First, data packets are assigned one of a set of interrupt queues for a virtual adapter in response to detecting the data packets. Each of the interrupt queues is processed by one of a set of interrupt threads for executing an interrupt handler. Next, an interrupt is dispatched for each of the interrupt queues receiving the data packets. The data packets in the interrupt queues are concurrently processed by one of the set of interrupt threads.
    Type: Application
    Filed: January 18, 2006
    Publication date: July 19, 2007
    Inventors: Baltazar DeLeon, Herman Dierks, Kiet Lam
  • Publication number: 20070136481
    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: December 13, 2005
    Publication date: June 14, 2007
    Inventors: Herman Dierks, Kiet Lam, Venkat Venkatsubra
  • Publication number: 20070101102
    Abstract: A method, system and computer-usable medium are presented for pausing a software thread in a process. An instruction from a first software thread in the process is sent to an Instruction Sequencing Unit (ISU) in a processing unit. The instruction from the first software thread is then sent to a first instruction holding latch from a plurality of instruction holding latches in the ISU. The first instruction holding latch, which contains the instruction from the first software thread, is then selectively frozen, such that the instruction from the first software thread is unable to pass to an execution unit in a processor core while the first instruction holding latch is frozen. This causes the entire first software thread to likewise be frozen, while allowing other software threads in the process to continue executing.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: Herman Dierks, Jeffrey Messing, Rakesh Sharma, Satya Sharma
  • Publication number: 20070058531
    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: September 15, 2005
    Publication date: March 15, 2007
    Inventors: Herman Dierks, Agustin Mena, Dirk Michel, Jean-Phillippe Sugarbroad
  • Publication number: 20060161677
    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: March 15, 2006
    Publication date: July 20, 2006
    Inventors: Herman Dierks, Vinit Jain, Agustin Mena, Venkat Venkatsubra
  • Publication number: 20050246461
    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: April 29, 2004
    Publication date: November 3, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jos Accapadi, Herman Dierks, Andrew Dunshea, Dirk Michel
  • Publication number: 20050015549
    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: July 17, 2003
    Publication date: January 20, 2005
    Applicant: International Business Machines Corporation
    Inventors: Herman Dierks, Binh Hua, Sivarama Kodukula
  • Publication number: 20050015564
    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: Application
    Filed: July 17, 2003
    Publication date: January 20, 2005
    Applicant: International Business Machines Corporation
    Inventors: Herman Dierks, Binh Hua, Sivarama Kodukula
  • Patent number: 6430659
    Abstract: The present invention relates to means, a method and a computer program product of administrating in a computer system a global data element shared by a multitude of exploiters within said computer system for reducing contention among said exploiters. It is suggested to execute a first step by a first exploiter of accumulating one or a multitude of modifications performed by said first exploiter with respect to the current contents of said global data element into a first local data element not shared by other exploiters. In a second step executed by the first exploiter a size of the accumulated modifications in the first local data element with respect to the current contents of the global data element is determined. Moreover it is determined, if said size exceeds a specified quantum. If said size exceeds the specified quantum, the global data element is updated with the accumulated modifications as new contents.
    Type: Grant
    Filed: September 22, 2000
    Date of Patent: August 6, 2002
    Assignee: International Business Machines Corporation
    Inventors: Helmut Cossmann, Herman Dierks, William James Hymas, Satya Sharma