Patents Assigned to SolarFlare Communications, Inc.
  • Publication number: 20210034526
    Abstract: A network interface device comprises a programmable interface configured to provide a device interface with at least one bus between the network interface device and a host device. The programmable interface is programmable to support a plurality of different types of a device interface.
    Type: Application
    Filed: July 29, 2019
    Publication date: February 4, 2021
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, Dmitri Kitariev, David J. Riddoch, Derek Roberts, Neil Turton
  • Publication number: 20200218587
    Abstract: A data processing system arranged for receiving over a network, according to a data transfer protocol, data directed to any of a plurality of destination identities, the data processing system comprising: data storage for storing data received over the network; and a first processing arrangement for performing processing in accordance with the data transfer protocol on received data in the data storage, for making the received data available to respective destination identities; and a response former arranged for: receiving a message requesting a response indicating the availability of received data to each of a group of destination identities; and forming such a response; wherein the system is arranged to, in dependence on receiving the said message.
    Type: Application
    Filed: October 11, 2019
    Publication date: July 9, 2020
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, Derek Edward Roberts, David James Riddoch, Greg Law, Steve Grantham, Matthew Slattery
  • Publication number: 20200104269
    Abstract: A network interface device comprises a plurality of components configured to process a flow of data one after another. A control component is configured to provide one or more control messages in said flow, said one or more control message being provided to said plurality of components one after another such that a configuration of one or more of said components is changed.
    Type: Application
    Filed: July 15, 2019
    Publication date: April 2, 2020
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, David James Riddoch
  • Publication number: 20200092120
    Abstract: A data processing system comprising: a processing subsystem supporting a plurality of consumers, each consumer being arranged to process messages received into a corresponding receive queue; a network interface device supporting a virtual interface for each of the receive queues; and a hardware accelerator coupled to the processing subsystem by the network interface device and configured to parse one or more streams of data packets received from a network so as to, for each consumer: identify in the data packets messages having one or more of a set of characteristics associated with the consumer; and frame the identified messages in a new stream of data packets addressed to a network endpoint associated with the virtual interface of the consumer so as to cause said new stream of data packets to be delivered into the receive queue of the consumer.
    Type: Application
    Filed: November 25, 2019
    Publication date: March 19, 2020
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steve L. Pope, David J. Riddoch
  • Publication number: 20200084095
    Abstract: A data processing system comprising: first and second network ports each operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols; and a processor configured to, on a network message being formed for transmission to a network endpoint accessible over either of the first and second network ports: estimate the total time required to, for each of the predetermined set of physical layer protocols, negotiate a respective network connection and transmit the entire network message over that respective network connection; select the physical layer protocol having the lowest estimate of the total time required to negotiate a respective network connection and transmit the network message over that respective network connection; and configure at least one of the first and second network ports to use the selected physical layer protocol.
    Type: Application
    Filed: November 12, 2019
    Publication date: March 12, 2020
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventor: Steve L. Pope
  • Publication number: 20200084094
    Abstract: A data processing system comprising: first and second network ports each operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols; and a processor configured to, on a network message being formed for transmission to a network endpoint accessible over either of the first and second network ports: estimate the total time required to, for each of the predetermined set of physical layer protocols, negotiate a respective network connection and transmit the entire network message over that respective network connection; select the physical layer protocol having the lowest estimate of the total time required to negotiate a respective network connection and transmit the network message over that respective network connection; and configure at least one of the first and second network ports to use the selected physical layer protocol.
    Type: Application
    Filed: November 12, 2019
    Publication date: March 12, 2020
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventor: Steve L. Pope
  • Publication number: 20200042509
    Abstract: 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: Application
    Filed: October 8, 2019
    Publication date: February 6, 2020
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Matthew Knight
  • Publication number: 20200026557
    Abstract: A network interface device has an input configured to receive data from a network. The data is for one of a plurality of different applications. The network interface device also has at least one processor configured to determine which of a plurality of available different caches in a host system the data is to be injected by accessing to a receive queue comprising at least one descriptor indicating a cache location in one of said plurality of caches to which data is to be injected, wherein said at least one descriptor, which indicates the cache location, has an effect on subsequent descriptors of said receive queue until a next descriptor indicates another cache location. The at least one processor is also configured to cause the data to be injected to the cache location in the host system.
    Type: Application
    Filed: July 12, 2019
    Publication date: January 23, 2020
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, David James Riddoch
  • Publication number: 20200028930
    Abstract: A network interface device has an input configured to receive data from a network. The data is for one of a plurality of different applications. The applications may be supported by a host system. The network interface device is configured to determine which of a plurality of available different caches in a host the data is to be injected. The network interface device will then inject the determined cached with the received data.
    Type: Application
    Filed: July 17, 2018
    Publication date: January 23, 2020
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, David James Riddoch
  • Patent number: 10515037
    Abstract: 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 network
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: December 24, 2019
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventor: Steven L. Pope
  • Publication number: 20190377704
    Abstract: A data processing system and method are provided. A host computing device comprises at least one processor. A network interface device is arranged to couple the host computing device to a network. The network interface device comprises a buffer for receiving data for transmission from the host computing device. The processor is configured to execute instructions to transfer the data for transmission to the buffer. The data processing system further comprises an indicator store configured to store an indication that at least some of the data for transmission has been transferred to the buffer wherein the indication is associated with a descriptor pointing to the buffer.
    Type: Application
    Filed: August 26, 2019
    Publication date: December 12, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Dmitri Kitariev
  • Patent number: 10505747
    Abstract: A data processing system comprising: a processing subsystem supporting a plurality of consumers, each consumer being arranged to process messages received into a corresponding receive queue; a network interface device supporting a virtual interface for each of the receive queues; and a hardware accelerator coupled to the processing subsystem by the network interface device and configured to parse one or more streams of data packets received from a network so as to, for each consumer: identify in the data packets messages having one or more of a set of characteristics associated with the consumer; and frame the identified messages in a new stream of data packets addressed to a network endpoint associated with the virtual interface of the consumer so as to cause said new stream of data packets to be delivered into the receive queue of the consumer.
    Type: Grant
    Filed: March 7, 2013
    Date of Patent: December 10, 2019
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steve L. Pope, David J. Riddoch
  • Publication number: 20190370090
    Abstract: A method and data processing system are provided. The data processing system comprises an application associated with a plurality of sockets and a sub-system for making data available to the application via the plurality of sockets. The sub-system is configured to provide in response to a request from the application: an indication of events that have occurred on one or more of the plurality of sockets; and an indication of an order in which the events should be processed.
    Type: Application
    Filed: August 14, 2019
    Publication date: December 5, 2019
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, David James Riddoch, Kieran Mansley, Sian Cathryn James
  • Publication number: 20190370215
    Abstract: A data processing system and method are provided. A host computing device comprises at least one processor. A network interface device is arranged to couple the host computing device to a network. The network interface device comprises a buffer for receiving data for transmission from the host computing device. The processor is configured to execute instructions to transfer the data for transmission to the buffer. The data processing system further comprises an indicator store configured to store an indication that at least some of the data for transmission has been transferred to the buffer wherein the indication is associated with a descriptor pointing to the buffer.
    Type: Application
    Filed: August 14, 2019
    Publication date: December 5, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Dmitri Kitariev
  • Patent number: 10498867
    Abstract: A network interface device includes an interface configured to receive data packets for a host processing device and an engine supporting a network interface device component of an application that is provided on the host processing device. In response to receiving data packets for the application, the engine is configured to cause at least some of the data packets to be available to the component of the application, to cause the data packets to be delivered to a protocol stack of the host processing device, and to receive control information associated the data packets from the protocol stack of the host processing device. The interface is configured to output an acknowledgement message comprising the control information.
    Type: Grant
    Filed: November 2, 2016
    Date of Patent: December 3, 2019
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Patent number: 10498602
    Abstract: A data processing system comprising: first and second network ports each operable to support a network connection configured according to one or more of a predetermined set of physical layer protocols; and a processor configured to, on a network message being formed for transmission to a network endpoint accessible over either of the first and second network ports: estimate the total time required to, for each of the predetermined set of physical layer protocols, negotiate a respective network connection and transmit the entire network message over that respective network connection; select the physical layer protocol having the lowest estimate of the total time required to negotiate a respective network connection and transmit the network message over that respective network connection; and configure at least one of the first and second network ports to use the selected physical layer protocol.
    Type: Grant
    Filed: January 11, 2018
    Date of Patent: December 3, 2019
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventor: Steve L. Pope
  • Patent number: 10491400
    Abstract: A NIC is provided in a cloud infrastructure. The NIC has a first information which receives least one application message from an application supported by the infrastructure. The NIC digitally signs the application message and outputs the digitally signed message to a network.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: November 26, 2019
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch
  • Patent number: 10469632
    Abstract: 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: Grant
    Filed: September 19, 2018
    Date of Patent: November 5, 2019
    Assignee: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, David James Riddoch, Kieran Mansley
  • Patent number: 10445156
    Abstract: A data processing system arranged for receiving over a network, according to a data transfer protocol, data directed to any of a plurality of destination identities, the data processing system comprising: data storage for storing data received over the network; and a first processing arrangement for performing processing in accordance with the data transfer protocol on received data in the data storage, for making the received data available to respective destination identities; and a response former arranged for: receiving a message requesting a response indicating the availability of received data to each of a group of destination identities; and forming such a response; wherein the system is arranged to, in dependence on receiving the said message.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: October 15, 2019
    Assignee: Solarflare Communications, Inc.
    Inventors: Steven Leslie Pope, Derek Edward Roberts, David James Riddoch, Greg Law, Steve Grantham, Matthew Slattery
  • Publication number: 20190303209
    Abstract: A data processing system being configured to select between different hardware resources for the running of an application configured for the sending and receiving of data over a network. The selection of hardware resources may be between resources on the network interface device, and hardware resources on the host. The selection of hardware resources may be between first and second hardware resources on the network interface device. An API is provided in the data processing system that responds to requests from the application irrespective of the hardware on which the application is executing.
    Type: Application
    Filed: March 29, 2018
    Publication date: October 3, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts