Patents by Inventor Clive M. Philbrick

Clive M. Philbrick 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: 20090234963
    Abstract: A transmit offload engine (TOE) such as an intelligent network interface device (INIC), video controller or host bus adapter (HBA) that can communicate data over transport protocols such as Transport Control Protocol (TCP) for a host. Such a device can send and receive data for the host to and from a remote host, over a TCP connection maintained by the device. For sending data, the device can indicate to the host that data has been transmitted from the device to a network, prior to receiving, by the device from the network, an acknowledgement (ACK) for all the data, accelerating data transmission. The greatest sequence number for which all previous bytes have been ACKed can be provided with a response to a subsequent command, with the host maintaining a table of ACK values to complete commands when appropriate.
    Type: Application
    Filed: May 22, 2009
    Publication date: September 17, 2009
    Inventors: Clive M. Philbrick, Peter K. Craft
  • Patent number: 7584260
    Abstract: A host CPU runs a network protocol processing stack that provides instructions not only to process network messages but also to allocate processing of certain network messages to a specialized network communication device, offloading some of the most time consuming protocol processing from the host CPU to the network communication device. By allocating common and time consuming network processes to the device, while retaining the ability to handle less time intensive and more varied processing on the host stack, the network communication device can be relatively simple and cost effective. The host CPU, operating according to instructions from the stack, and the network communication device together determine whether and to what extent a given message is processed by the host CPU or by the network communication device.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: September 1, 2009
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M. Philbrick, Laurence B. Boucher, David A. Higgen
  • Patent number: 7543087
    Abstract: A transmit offload engine (TOE) such as an intelligent network interface device (INIC), video controller or host bus adapter (HBA) that can communicate data over transport protocols such as Transport Control Protocol (TCP) for a host. Such a device can send and receive data for the host to and from a remote host, over a TCP connection maintained by the device. For sending data, the device can indicate to the host that data has been transmitted from the device to a network, prior to receiving, by the device from the network, an acknowledgement (ACK) for all the data, accelerating data transmission. The greatest sequence number for which all previous bytes have been ACKed can be provided with a response to a subsequent command, with the host maintaining a table of ACK values to complete commands when appropriate.
    Type: Grant
    Filed: April 14, 2003
    Date of Patent: June 2, 2009
    Assignee: Alacritech, Inc.
    Inventors: Clive M. Philbrick, Peter K. Craft
  • Publication number: 20090086732
    Abstract: A Network Interface device (NI device) coupled to a host computer receives a multi-packet message from a network (for example, the Internet) and DMAs the data portions of the various packets directly into a destination in application memory on the host computer. The address of the destination is determined by supplying a first part of the first packet to an application program such that the application program returns the address of the destination. The address is supplied by the host computer to the NI device so that the NI device can DMA the data portions of the various packets directly into the destination. In some embodiments the NI device is an expansion card added to the host computer, whereas in other embodiments the NI device is a part of the host computer.
    Type: Application
    Filed: December 1, 2008
    Publication date: April 2, 2009
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7502869
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The CPD provides a fast-path that avoids protocol processing for most large multipacket messages, greatly accelerating data communication. The CPD also assists the host CPU for those message packets that are chosen for processing by host software layers. A context for a message is defined that allows DMA controllers of the CPD to move data, free of headers, directly to or from a destination or source in the host. The context can be stored as a communication control block (CCB) that is controlled by either the CPD or by the host CPU. The CPD contains specialized hardware circuits that process media access control, network and transport layer headers of a packet received from the network, saving the host CPU from that processing for fast-path messages.
    Type: Grant
    Filed: November 28, 2003
    Date of Patent: March 10, 2009
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Clive M. Philbrick, Daryl D. Starr, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen
  • Patent number: 7496689
    Abstract: A TCP/IP offload network interface device (NID) is integrated with a processing device that executes a stack. The TCP/IP offload NID can either be a full TCP/IP offload device or a partial TCP/IP offload device. Common types of packets are processed by the NID in a fast-path such that the stack is offloaded of TCP and IP protocol processing tasks. A hash is made from the packet header and is pushed onto a queue. The hash is later popped off the queue and is used to identify an associated TCB number from a hash table. A mechanism caches hash buckets in SRAM and stores other hash buckets in DRAM. An “IN SRAM CAM” is used to determine whether the TCB associated with the identified TCB number is cached in SRAM or whether it must be moved from DRAM into the SRAM cache. A lock table and a “lock table CAM” mechanism is disclosed that facilitates multiple processors working on the protocol processing of a single packet.
    Type: Grant
    Filed: April 22, 2003
    Date of Patent: February 24, 2009
    Assignee: Alacritech, Inc.
    Inventors: Colin C. Sharp, Clive M. Philbrick, Daryl D. Starr, Stephen E. J. Blightman
  • Patent number: 7472156
    Abstract: A system and method for network communication, comprising a device coupled between a computer and a network to receive from the computer a Transport Control Protocol (TCP) connection, the device receiving from the network at least one packet associated with the TCP connection and processing a TCP header for the at least one packet, the computer having a memory storing instructions to pass the TCP connection to the device in first and second commands, the first command signaling an intent to transfer of the TCP connection, the second command responsive to an indication from the device that the device is prepared to receive the TCP connection.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: December 30, 2008
    Assignee: Alacritech, Inc.
    Inventors: Clive M. Philbrick, Peter K. Craft, David A. Higgen
  • Patent number: 7461160
    Abstract: A Network Interface device (NI device) coupled to a host computer receives a multi-packet message from a network (for example, the Internet) and DMAs the data portions of the various packets directly into a destination in application memory on the host computer. The address of the destination is determined by supplying a first part of the first packet to an application program such that the application program returns the address of the destination. The address is supplied by the host computer to the NI device so that the NI device can DMA the data portions of the various packets directly into the destination. In some embodiments the NI device is an expansion card added to the host computer, whereas in other embodiments the NI device is a part of the host computer.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: December 2, 2008
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Publication number: 20080263171
    Abstract: A method is disclosed comprising: receiving,.by a network interface, data and a corresponding header; storing, by the network interface, the data in a first memory buffer of a computer that is coupled to the network interface; and storing, by the network interface, the data in a second memory buffer of the computer. For example, the network interface can first store the data in a part of the computer memory that is accessible by a device driver for the network interface. If the application provides to the driver a pointer to a location in memory for storing the data, the driver can pass this pointer to the network interface, which can write the data directly to that location without copying by the CPU. If, however, the application does not provide a pointer, the data controlled by the driver can be copied by the CPU into the application's memory space.
    Type: Application
    Filed: April 19, 2007
    Publication date: October 23, 2008
    Inventors: Peter K. Craft, Clive M. Philbrick
  • Publication number: 20080126553
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Application
    Filed: June 25, 2007
    Publication date: May 29, 2008
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7337241
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: February 26, 2008
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7284070
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: September 17, 2002
    Date of Patent: October 16, 2007
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7237036
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: June 26, 2007
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7191241
    Abstract: A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: March 13, 2007
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7185266
    Abstract: A device and method are disclosed for calculating a CRC on a message or block of data that has been divided into portions, by calculating a partial CRC corresponding to each of the portions and then combining the partial CRCs. The device and method are operable for portions that may have different lengths, and which may be received out of order.
    Type: Grant
    Filed: February 12, 2003
    Date of Patent: February 27, 2007
    Assignee: Alacritech, Inc.
    Inventors: Stephen E. J. Blightman, Daryl D. Starr, Clive M. Philbrick
  • Patent number: 7174393
    Abstract: A system for protocol processing in a computer network has a TCP/IP Offload Network Interface Device (TONID) associated with a host computer. The TONID provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The TONID also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the TONID to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the TONID as a communication control block (CCB) that can be passed back to the host for message processing by the host. The TONID contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: March 12, 2002
    Date of Patent: February 6, 2007
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7167927
    Abstract: A network interface device has a fast-path ACK generating and transmitting mechanism. ACKs are generated using a finite state machine (FSM). The FSM retrieves a template header and fills in TCP and IP fields in the template. The FSM is not a stack, but rather fills in the TCP and IP fields without performing transport layer processing and network layer processing sequentially as separate tasks. The filled-in template is placed into a buffer and a pointer to the buffer is pushed onto a high-priority transmit queue. Pointers for ordinary data packets are pushed onto a low-priority transmit queue. A transmit sequencer outputs a packet by popping a transmit queue, obtaining a pointer, and causing information pointed to by the pointer to be output from the network interface device as a packet. The sequencer pops the high-priority queue in preference to the low-priority queue, thereby accelerating ACK generation and transmission.
    Type: Grant
    Filed: February 26, 2002
    Date of Patent: January 23, 2007
    Assignee: Alacritech, Inc.
    Inventors: Clive M. Philbrick, Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Daryl D. Starr
  • Patent number: 7167926
    Abstract: An intelligent network interface card (INIC) or communication processing device (CPD) works with a host computer for data communication. The device provides a fast-path that avoids protocol processing for most messages, greatly accelerating data transfer and offloading time-intensive processing tasks from the host CPU. The host retains a fallback processing capability for messages that do not fit fast-path criteria, with the device providing assistance such as validation even for slow-path messages, and messages being selected for either fast-path or slow-path processing. A context for a connection is defined that allows the device to move data, free of headers, directly to or from a destination or source in the host. The context can be passed back to the host for message processing by the host. The device contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU.
    Type: Grant
    Filed: November 7, 2001
    Date of Patent: January 23, 2007
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 7133940
    Abstract: A network interface device couples a host computer to a network. The network interface device includes a processor and a DMA controller. The processor causes the DMA controller to perform multiple DMA commands before the processor takes a particular software branch. The processor issues the DMA commands by placing the DMA commands in a memory and then pushing values indicative of the DMA commands onto a DMA command queue. The values are popped off the DMA command queue and are executed by the DMA controller one at a time. The DMA commands are executed in the same order that they were issued by the processor. The processor need not monitor multiple DMA commands to make sure they have all been completed before the software branch is taken, but rather the processor pops a DMA command complete queue to make sure that the last of the DMA commands has been completed.
    Type: Grant
    Filed: May 14, 2001
    Date of Patent: November 7, 2006
    Assignee: Alacritech, Inc.
    Inventors: Stephen E. J. Blightman, Daryl D. Starr, Clive M. Philbrick
  • Patent number: 7124205
    Abstract: A network interface device connected to a host provides hardware and processing mechanisms for accelerating data transfers between the host and a network. Some data transfers are processed using a dedicated fast-path whereby the protocol stack of the host performs no network layer or transport layer processing. Other data transfers are, however, handled in a slow-path by the host protocol stack. In one embodiment, the host protocol stack has an ISCSI layer, but a response to a solicited ISCSI read request command is nevertheless processed by the network interface device in fast-path. In another embodiment, an initial portion of a response to a solicited command is handled using the dedicated fast-path and then after an error condidtion occurs a subsequent portion of the response is handled using the the slow-path. The interface device uses a command status message to communicate status to the host.
    Type: Grant
    Filed: October 2, 2001
    Date of Patent: October 17, 2006
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M. Philbrick, Laurence B. Boucher