Patents by Inventor Steven L. Pope
Steven L. Pope 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: 20170187605Abstract: A network interface device, said network interface device has a data transmission path configured to receive data for transmission. The data for transmission is to be sent over a network by the network interface device. A monitor is configured to monitor the data transmission path to determine if an underrun condition is associated with the data transmission path. If so, an indication is included in the transmitted data packet.Type: ApplicationFiled: December 20, 2016Publication date: June 29, 2017Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
-
Publication number: 20170185549Abstract: A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the networkType: ApplicationFiled: March 10, 2017Publication date: June 29, 2017Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventor: Steven L. Pope
-
Publication number: 20170187589Abstract: A network interface device, said network interface device has a data transmission path configured to receive data for transmission. The data for transmission is to be sent over a network by the network interface device. A monitor is configured to monitor the data transmission path to determine if an underrun condition is associated with the data transmission path. If so, an indication is included in the transmitted data packet.Type: ApplicationFiled: December 29, 2015Publication date: June 29, 2017Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
-
Patent number: 9686117Abstract: A software networking arrangement for operation in a data processing system comprising an OS being operable in: a first mode in which it performs protocol processing of a flow of traffic data and then passes the protocol processed data to a NIC for transmission; and a second mode in which it does not perform protocol processing, the OS being arranged to, on entering the second mode, transmit a message to the NIC indicating that the NIC is to perform protocol processing of the flow of traffic data; the software networking arrangement comprising: a protocol processing entity; and a driver for a NIC configured to receive said message from the OS and in response thereto, configure the protocol processing entity to perform transport-level protocol processing of the flow of traffic data received from an application within the context of that application and then pass the protocol processed data to the NIC.Type: GrantFiled: December 19, 2012Date of Patent: June 20, 2017Assignee: Solarflare Communications, Inc.Inventors: Steven L. Pope, David J. Riddoch
-
Patent number: 9600429Abstract: A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the networkType: GrantFiled: November 7, 2012Date of Patent: March 21, 2017Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventor: Steven L. Pope
-
Patent number: 9594842Abstract: Roughly described, a network interface device is assigned a maximum extent-of-search. A hash function is applied to the header information of each incoming packet, to generate a hash code for the packet. The hash code designates a particular subset of the table within which the particular header information should be found, and an iterative search is made within that subset. If the search locates a matching entry before the search limit is exceeded, then the incoming data packet is delivered to the receive queue identified in the matching entry. But if the search reaches the search limit before a matching entry is located, then device delivers the packet to a default queue, such as a kernel queue, in the host computer system. The kernel is then responsible for delivering the packet to the correct endpoint.Type: GrantFiled: January 30, 2015Date of Patent: March 14, 2017Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, Derek Roberts, David J. Riddoch, Ching Yu, John Mingyung Chiang, Der-Ren Chu
-
Publication number: 20160373561Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.Type: ApplicationFiled: August 31, 2016Publication date: December 22, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Kieran Mansley
-
Publication number: 20160357796Abstract: A system has data capture devices collecting data from different points in a network. The captured data is written to a data store and is directed to an output. The data from the different data capture devices can be delivered to a data analytics device. As long as the data analytics device is able to keep pace with the data that is directed to the output, that data is used by the analytics device. If the analytics device is not able to keep pace, the data written to the data store is retrieved and is used until the analytics device has caught up.Type: ApplicationFiled: June 26, 2015Publication date: December 8, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Matthew Knight
-
Publication number: 20160357793Abstract: A system is arranged to receive data which is written to a data store by a writer. A controller is able to read data from the data store. That controller is able to control the rate at which data is read from the data store with respect to the rate at which data is written to the data store. A query function receives a stream of said data substantially in real time and when said stream of data is unavailable in real time, the query function is able to subsequently obtain that unavailable data from said data store.Type: ApplicationFiled: June 3, 2015Publication date: December 8, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch
-
Patent number: 9456060Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.Type: GrantFiled: February 5, 2016Date of Patent: September 27, 2016Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Kieran Mansley
-
Publication number: 20160277447Abstract: A rule engine receives data flows. The data flows are between a network and an application. The rule engine determines data flow information and in dependence on the information performs an action with respect to said flow. A controller provides control information to the rule engine to define one or more actions. The communications between said rule engine and said controller are secure.Type: ApplicationFiled: March 17, 2015Publication date: September 22, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
-
Patent number: 9384071Abstract: A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising: for each of a plurality of application-level configuration calls: intercepting at a user-level interface a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object; and subsequently, on a predetermined criterion being met: the user-level interface causing the plurality of configuration calls to be effected by means of a first system call to the kernel.Type: GrantFiled: June 10, 2011Date of Patent: July 5, 2016Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch
-
Publication number: 20160162330Abstract: A method for managing I/O event notifications in a data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources. For each of a plurality of application-level configuration calls: intercepting at a user-level interface a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object; and subsequently, upon meeting a predetermined criterion: the user-level interface causing the plurality of configuration calls to be effected by means of a first system call to the kernel.Type: ApplicationFiled: February 12, 2016Publication date: June 9, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: STEVEN L. POPE, DAVID J. RIDDOCH
-
Publication number: 20160156749Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.Type: ApplicationFiled: February 5, 2016Publication date: June 2, 2016Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: STEVEN L. POPE, DAVID J. RIDDOCH, KIERAN MANSLEY
-
Patent number: 9256560Abstract: Roughly described, a data processing system comprises a central processing unit and a split network interface functionality, the split network interface functionality comprising: a first sub-unit collocated with the central processing unit and configured to at least partially form a series of network data packets for transmission to a network endpoint by generating data link layer information for each of those packets; and a second sub-unit external to the central processing unit and coupled to the central processing unit via an interconnect, the second sub-unit being configured to physically signal the series of network data packets over a network.Type: GrantFiled: January 14, 2010Date of Patent: February 9, 2016Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David Riddoch, Derek Roberts
-
Patent number: 9258390Abstract: A method of transmitting data for use at a data processing system and network interface device, the data processing system being coupled to a network by the network interface device, the method comprising: forming a message template in accordance with a predetermined set of network protocols, the message template including at least in part one or more protocol headers; forming an application layer message in one or more parts; updating the message template with the parts of the application layer message; processing the message template in accordance with the predetermined set of network protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.Type: GrantFiled: October 27, 2011Date of Patent: February 9, 2016Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch, Kieran Mansley
-
Patent number: 9225807Abstract: A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising: accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmissionType: GrantFiled: April 29, 2015Date of Patent: December 29, 2015Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David J. Riddoch
-
Patent number: 9210140Abstract: A network interface device providing a set of functions in hardware and being operable in first and second modes: in a first mode, the network interface device being configured to operate with a selected configuration of the set of functions; and in a second mode, the network interface device being operable to select a particular configuration of the set of functions in accordance with configuration instructions received at the network interface device; the network interface device being configured to, on receiving a network message having one or more predetermined characteristics and comprising an authentication key and one or more configuration instructions defining a particular configuration of the set of functions: verify the authentication key; and if the authentication key is successfully verified, select the particular configuration of the set of functions defined in the configuration instructions of the network message.Type: GrantFiled: August 17, 2010Date of Patent: December 8, 2015Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David Riddoch
-
Patent number: 9124539Abstract: Roughly described, a header processing engine for a network interface device has a header recognizer to parse the headers of a data packet stored at a buffer to identify the type and position of each header in the packet; a constructor unit; and a processor including an execution pipeline. The header recognizer is configured to, for each header: select in dependence on the header type commands stored at a command memory; and form one or more messages for the constructor unit identifying the selected commands and the position of the header in the data packet. The commands selected for the packet headers are collectively such as to, if executed by the constructor unit, cause the constructor unit to generate a data structure which operates to cause the processor to process of the packet headers without accessing the data packet at the buffer.Type: GrantFiled: April 24, 2014Date of Patent: September 1, 2015Assignee: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. Pope, David Riddoch, Dimitri Kitariev, Derek Roberts
-
Publication number: 20150237176Abstract: A method for performing segmentation of a first data packet into a plurality of second data packets at a functionality of a device driver for a network interface device supported by a data processing system, each second data packet comprising a header and a segment of data from the first data packet and the network interface device being capable of supporting a communication link over a network with another network interface device, the method comprising: accepting the first data packet, the first data packet carrying data for transmission by the network interface device over the network; forming a set of headers for the plurality of second data packets; writing the set of headers to memory; forming a specification, the specification indicating the headers in memory and the segments of data in the first data packet; requesting by means of the device driver transmission by the network interface device of the headers and the respective segments of data indicated in the specification so as to effect transmissionType: ApplicationFiled: April 29, 2015Publication date: August 20, 2015Applicant: SOLARFLARE COMMUNICATIONS, INC.Inventors: Steven L. POPE, David J. RIDDOCH