Patents by Inventor Daryl Starr
Daryl Starr 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: 9667729Abstract: 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: GrantFiled: May 31, 2016Date of Patent: May 30, 2017Assignee: Alacritech, Inc.Inventors: Peter Craft, Clive Philbrick, Daryl Starr
-
Publication number: 20160301613Abstract: 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: ApplicationFiled: June 17, 2016Publication date: October 13, 2016Applicant: Alacritech, Inc.Inventors: Laurence Boucher, Stephen Blightman, Craft Peter, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20120202529Abstract: 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: ApplicationFiled: October 18, 2000Publication date: August 9, 2012Applicant: Alacritech, Inc.Inventors: Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20080040519Abstract: A 10 Gb/s network interface device offloads TCP/IP datapath functions. Frames without IP datagrams are processed as with a non-offload NIC. Receive frames are filtered, then transferred to preallocated receive buffers within host memory. Outbound frames are retrieved from host memory, then transmitted. Frames with IP datagrams without TCP segments are transmitted without any protocol offload, but received frames are parsed and checked for protocol errors, including checksum accumulation for UDP segments. Receive frames without datagram errors are passed to the host and error frames are dumped. Frames with Tcp segments are parsed and error-checked. Hardware checking is performed for ownership of the socket state. TCP/IP frames which fail the ownership test are passed to the host system with a parsing summary. TCP/IP frames which pass the ownership test are processed by a finite state machine implemented by the CPU. TCP/IP frames for non-owned sockets are supported with checksum accumulation/insertion.Type: ApplicationFiled: May 1, 2007Publication date: February 14, 2008Inventors: Daryl Starr, Clive Philbrick, Colin Sharp
-
Publication number: 20070136495Abstract: 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: ApplicationFiled: February 2, 2007Publication date: June 14, 2007Inventors: Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20070130356Abstract: 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: ApplicationFiled: January 23, 2007Publication date: June 7, 2007Inventors: Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20070118665Abstract: 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: ApplicationFiled: January 22, 2007Publication date: May 24, 2007Inventors: Clive Philbrick, Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Daryl Starr
-
Publication number: 20060168281Abstract: A TCP Offload Engine (TOE) device includes a state machine that performs TCP/IP protocol processing operations in parallel. In a first aspect, the state machine includes a first memory, a second memory, and combinatorial logic. The first memory stores and simultaneously outputs multiple TCP state variables. The second memory stores and simultaneously outputs multiple header values. In contrast to a sequential processor technique, the combinatorial logic generates a flush detect signal from the TCP state variables and header values without performing sequential processor instructions or sequential memory accesses. In a second aspect, a TOE includes a state machine that performs an update of multiple TCP state variables in a TCB buffer all simultaneously, thereby avoiding multiple sequential writes to the TCB buffer memory. In a third aspect, a TOE involves a state machine that sets up a DMA move in a single state machine clock cycle.Type: ApplicationFiled: February 6, 2006Publication date: July 27, 2006Inventors: Daryl Starr, Clive Philbrick
-
Publication number: 20060010238Abstract: At least one intelligent network interface card (INIC) is coupled to a host computer to offload protocol processing for multiple network connections, reducing the protocol processing of the host. Plural network connections can maintain, via plural INIC ports and a port aggregation switch, an aggregate connection with a network node, increasing bandwidth and reliability for that aggregate connection. Mechanisms are provided for managing this aggregate connection, including determining which port to employ for each individual network connection, and migrating control of an individual network connection from a first INIC to a second INIC.Type: ApplicationFiled: August 30, 2005Publication date: January 12, 2006Inventors: Peter Craft, Clive Philbrick, Laurence Boucher, Daryl Starr, Stephen Blightman, David Higgen
-
Publication number: 20050278459Abstract: 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: ApplicationFiled: January 20, 2005Publication date: December 15, 2005Inventors: Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20050204058Abstract: 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: ApplicationFiled: August 4, 2003Publication date: September 15, 2005Inventors: Clive Philbrick, Peter Craft, David Higgen, Daryl Starr, Stephen Blightman, Laurence Boucher
-
Publication number: 20050160139Abstract: 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: ApplicationFiled: January 4, 2005Publication date: July 21, 2005Inventors: Laurence Boucher, Stephen Blightman, Peter Craft, David Higgen, Clive Philbrick, Daryl Starr
-
Publication number: 20050122986Abstract: A TCP Offload Engine (TOE) device includes a state machine that performs TCP/IP protocol processing operations in parallel. In a first aspect, the state machine includes a first memory, a second memory, and combinatorial logic. The first memory stores and simultaneously outputs multiple TCP state variables. The second memory stores and simultaneously outputs multiple header values. In contrast to a sequential processor technique, the combinatorial logic generates a flush detect signal from the TCP state variables and header values without performing sequential processor instructions or sequential memory accesses. In a second aspect, a TOE includes a state machine that performs an update of multiple TCP state variables in a TCB buffer all simultaneously, thereby avoiding multiple sequential writes to the TCB buffer memory. In a third aspect, a TOE involves a state machine that sets up a DMA move in a single state machine clock cycle.Type: ApplicationFiled: December 5, 2003Publication date: June 9, 2005Inventors: Daryl Starr, Clive Philbrick