Patents by Inventor Peter K. Craft

Peter K. Craft 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: 10798206
    Abstract: A network host such as a caching device is disclosed that greatly increases the speed with which a server reads and writes data for clients. The host may include a specialized network interface that not only processes TCP but also parses received network file system headers, identifying those headers within the TCP data stream, separating them from any corresponding network file system data, and providing them separately from that data to the network file system of the host for processing as a batch, all without any interrupt to the host. Similarly, the network file system of the host may communicate directly with the network interface by writing network file system headers directly to a register of the network interface to transmit data.
    Type: Grant
    Filed: September 27, 2017
    Date of Patent: October 6, 2020
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M. Philbrick, David A. Higgen
  • Patent number: 10461892
    Abstract: Systems and methods for reducing communication latency are provided. A communication session with a remote device is initiated. One or more message packets are transmitted to the remote device. Subsequently, it is determined whether any additional message packet is scheduled to be transmitted to the remote device. In the event that no additional message packet is scheduled to be sent to the remote device, a loss detection packet is appended to a last message packet. The last message packet and the loss detection packet are transmitted to the remote device. It is further determined whether the last message packet was successfully received by the remote device based on receipt of an acknowledgment message. In the event that the last message packet was not successfully transmitted, a retransmit of the last message packet is executed.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: October 29, 2019
    Assignee: Oracle International Corporation
    Inventors: Kurt Alan Shoens, Peter K. Craft
  • Patent number: 10148795
    Abstract: A TCP offload system is disclosed including apparatuses and methods for batching session layer headers to reduce interrupts as well as CPU copies. One embodiment includes the following steps: receiving a plurality of TCP packets: processing the packets by TCP, including removing TCP headers from TCP data, associating the TCP data with a TCP connection for an application, and updating a TCP control block (TCB) that defines the TCP connection; locating a plurality of upper layer headers in the TCP data, the headers each corresponding to application data contained in the packets, wherein the plurality of upper layer headers correspond to a protocol that is higher than TCP; processing the plurality of upper layer headers by the application to obtain memory locations for the application data; and placing the application data in the locations, after the processing of the plurality of upper layer headers by the application.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: December 4, 2018
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M Philbrick
  • Publication number: 20180167168
    Abstract: Systems and methods for reducing communication latency are provided. A communication session with a remote device is initiated. One or more message packets are transmitted to the remote device. Subsequently, it is determined whether any additional message packet is scheduled to be transmitted to the remote device. In the event that no additional message packet is scheduled to be sent to the remote device, a loss detection packet is appended to a last message packet. The last message packet and the loss detection packet are transmitted to the remote device. It is further determined whether the last message packet was successfully received by the remote device based on receipt of an acknowledgment message. In the event that the last message packet was not successfully transmitted, a retransmit of the last message packet is executed.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 14, 2018
    Inventors: Kurt Alan SHOENS, Peter K. CRAFT
  • Patent number: 9787792
    Abstract: A network host such as a caching device is disclosed that greatly increases the speed with which a server reads and writes data for clients. The host may include a specialized network interface that not only processes TCP but also parses received network file system headers, identifying those headers within the TCP data stream, separating them from any corresponding network file system data, and providing them separately from that data to the network file system of the host for processing as a batch, all without any interrupt to the host. Similarly, the network file system of the host may communicate directly with the network interface by writing network file system headers directly to a register of the network interface to transmit data.
    Type: Grant
    Filed: June 11, 2015
    Date of Patent: October 10, 2017
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M. Philbrick, David A. Higgen
  • Patent number: 9413788
    Abstract: A host with a network interface that offloads a TCP connection is disclosed in which the notification that relatively small data transmit commands have completed is batched whereas the notification that relatively large data transmit commands have completed are not batched. The notification that data transmit commands have completed may be intrinsically modulated by the size and frequency of the commands and the processing of the data transfer by the TCP connection. One embodiment involves a method comprising: running an application on a computer having a network interface; running, on the network interface, a TCP connection for the application; providing, by the computer to the network interface, a command to send data from the application; updating, by the network interface, a SndUna value for the TCP connection; and providing, by the network interface to the computer, the SndUna value, thereby indicating to the computer that the command has been completed.
    Type: Grant
    Filed: December 17, 2012
    Date of Patent: August 9, 2016
    Assignee: Alacritech, Inc.
    Inventors: Peter K Craft, Clive M Philbrick, Daryl D Starr
  • Patent number: 9306793
    Abstract: A TCP offload system is disclosed including apparatuses and methods for batching session (sometimes called application) layer headers to reduce interrupts as well as CPU copies. One embodiment includes receiving a plurality of TCP packets, comprising processing the packets by TCP, including removing TCP headers from TCP data, associating the TCP data with a TCP connection for an application, and updating a TCP control block (TCB) that defines the TCP connection; locating a plurality of upper layer headers in the TCP data, the headers each corresponding to application data contained in the packets, wherein the plurality of upper layer headers correspond to a protocol that is higher than TCP; processing the plurality of upper layer headers by the application to obtain memory locations for the application data; and placing the application data in the locations, after the processing of the plurality of upper layer headers by the application.
    Type: Grant
    Filed: October 19, 2009
    Date of Patent: April 5, 2016
    Assignee: Alacritech, Inc.
    Inventors: Peter K. Craft, Clive M. Philbrick
  • Patent number: 9307054
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: April 5, 2016
    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: 9264366
    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: April 29, 2015
    Date of Patent: February 16, 2016
    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: 20150249609
    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: Application
    Filed: April 29, 2015
    Publication date: September 3, 2015
    Applicant: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 9055104
    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: May 22, 2009
    Date of Patent: June 9, 2015
    Assignee: Alacritech, Inc.
    Inventors: Clive M. Philbrick, Peter K. Craft
  • Patent number: 9009223
    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: May 21, 2013
    Date of Patent: April 14, 2015
    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: 20150055661
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Application
    Filed: October 6, 2014
    Publication date: February 26, 2015
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 8893159
    Abstract: First and second operating systems of a virtual computer system can communicate using respective first and second network protocol stacks, by employing procedures that are specialized for a situation in which a TCP control block of the first stack and a TCP control block of the second stack correspond to the same logical connection. In this case, various TCP requirements can be bypassed by coupling the TCP control blocks, reducing or eliminating data copies and providing other efficiencies.
    Type: Grant
    Filed: September 9, 2013
    Date of Patent: November 18, 2014
    Assignee: Alacritech, Inc.
    Inventors: Daryl D. Starr, Peter K. Craft, Clive M. Philbrick
  • Patent number: 8856379
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: October 7, 2014
    Assignee: A-Tech LLC
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 8805948
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: August 12, 2014
    Assignee: A-Tech LLC
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 8782199
    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: October 18, 2002
    Date of Patent: July 15, 2014
    Assignee: A-Tech LLC
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Publication number: 20140059155
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Application
    Filed: September 26, 2013
    Publication date: February 27, 2014
    Applicant: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Publication number: 20140032779
    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 or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) 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 CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
    Type: Application
    Filed: September 27, 2013
    Publication date: January 30, 2014
    Applicant: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E.J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr
  • Patent number: 8631140
    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 multipacket 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: October 18, 2000
    Date of Patent: January 14, 2014
    Assignee: Alacritech, Inc.
    Inventors: Laurence B. Boucher, Stephen E. J. Blightman, Peter K. Craft, David A. Higgen, Clive M. Philbrick, Daryl D. Starr