Patents by Inventor David J. Riddoch

David J. Riddoch 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: 20190102576
    Abstract: A network interface device comprises an integrated circuit device comprises at least one processor. A network interface device comprises a memory. The integrated device is configured to execute a function with respect to at least a part of stored data in said memory.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 4, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Paul Fox
  • Publication number: 20190103972
    Abstract: A network interface device comprises an integrated circuit device comprises at least one processor. A network interface device comprises a memory. The integrated device is configured to execute a function with respect to at least a part of stored data in said memory.
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven L. Pope, David J. Riddoch, Paul Fox
  • Publication number: 20190104086
    Abstract: A network interface device is provided in a first device. The network interface device comprises an interface configured to receive a first input from a network. The network interface device also has at least one processor configured to provide an output in dependence on contents of the first input and provenance information which uniquely identifies the network interface device, the output being output via the interface to the network.
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Applicant: Solarflare Communications, Inc.
    Inventors: Steven L. Pope, David J. Riddoch
  • Patent number: 10212135
    Abstract: A logic device and method are provided for intercepting a data flow from a network source to a network destination. A data store holds a set of compliance rules and corresponding actions wherein at least one of the set of compliance rules is a temporary compliance rule valid for a predetermined period. A packet inspector is configured to inspect the intercepted data flow and identify from the data store a temporary compliance rule associated with the inspected data flow. A packet filter is configured to when the data flow is identified as being associated with the temporary compliance rule, carry out an action with respect to the data flow corresponding to the temporary compliance rule while the temporary compliance rule is valid.
    Type: Grant
    Filed: August 8, 2016
    Date of Patent: February 19, 2019
    Assignee: Solarflare Communications, Inc.
    Inventors: Steve L. Pope, Derek Roberts, David J. Riddoch
  • Publication number: 20190020690
    Abstract: 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: Application
    Filed: September 18, 2018
    Publication date: January 17, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Publication number: 20190014197
    Abstract: Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful the data made available to the application is committed.
    Type: Application
    Filed: September 17, 2018
    Publication date: January 10, 2019
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steve Pope, Kieran Mansley, Sian James, David J. Riddoch
  • Publication number: 20180288082
    Abstract: A data analytical engine receives packets from a number of different network interface devices. The data is a replica of part or all of transmit or receive packets processed in the network interface device. A learning algorithm is applied to data from said different network interface devices and it is determined if an alert is to be generated.
    Type: Application
    Filed: March 31, 2017
    Publication date: October 4, 2018
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. POPE, David J. RIDDOCH, Derek Roberts
  • Publication number: 20180288198
    Abstract: A network interface device has in input. The input receives packets in accordance with a protocol and has at least one protocol header. The network interface has hardware which applies an artificial intelligence process to at least one of the protocol headers. This is used to provide an output which may, for example, indicate a risk associated with a packet.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 4, 2018
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Patent number: 10079919
    Abstract: Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful the data made available to the application is committed.
    Type: Grant
    Filed: May 27, 2016
    Date of Patent: September 18, 2018
    Assignee: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steve Pope, Kieran Mansley, Sian James, David J. Riddoch
  • Patent number: 10021223
    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: August 31, 2016
    Date of Patent: July 10, 2018
    Assignee: Solarflare Communications, Inc.
    Inventors: Steven L. Pope, David J. Riddoch, Kieran Mansley
  • Publication number: 20180124216
    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: Application
    Filed: November 2, 2016
    Publication date: May 3, 2018
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Patent number: 9948533
    Abstract: A method for use in a data processing system connected to a network in accordance with a data transfer protocol, the data processing system having one or more event queues for holding network events, and being capable of responding to interrupts issued in response to the presence of a network event in the data processing system by invoking a stack to cause processing in accordance with the data transfer protocol of network events on the event queues; the method comprising: deciding whether to permit the interrupts to be enabled, in dependence on the result of a determination as to the presence of current indications that the stack will be invoked by an entity in the data processing system to cause processing in accordance with the data transfer protocol of network events on the event queues.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: April 17, 2018
    Assignee: Solarflare Communitations, Inc.
    Inventors: Steven L. Pope, David J. Riddoch
  • Patent number: 9912665
    Abstract: Roughly described, a network interface device receiving data packets from a computing device for transmission onto a network, the data packets having a certain characteristic, transmits the packet only if the sending queue has authority to send packets having that characteristic. The data packet characteristics can include transport protocol number, source and destination port numbers, source and destination IP addresses, for example. Authorizations can be programmed into the NIC by a kernel routine upon establishment of the transmit queue, based on the privilege level of the process for which the queue is being established. In this way, a user process can use an untrusted user-level protocol stack to initiate data transmission onto the network, while the NIC protects the remainder of the system or network from certain kinds of compromise.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: March 6, 2018
    Assignee: Solarflare Communications, Inc.
    Inventors: Steve L. Pope, David J. Riddoch, Ching Yu, Derek Roberts
  • Publication number: 20180063197
    Abstract: 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: Application
    Filed: October 24, 2017
    Publication date: March 1, 2018
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Publication number: 20180062849
    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: Application
    Filed: August 23, 2016
    Publication date: March 1, 2018
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch
  • Publication number: 20170346933
    Abstract: Data is received at a buffer used by a protocol processing stack which protocol processes the received data. The received data is made available to, for example, an application, before the protocol processing of the data is complete. If the protocol processing is successful the data made available to the application is committed.
    Type: Application
    Filed: May 27, 2016
    Publication date: November 30, 2017
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steve POPE, Kieran MANSLEY, Sian JAMES, David J. RIDDOCH
  • Patent number: 9807117
    Abstract: 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: Grant
    Filed: March 17, 2015
    Date of Patent: October 31, 2017
    Assignee: Solarflare Communications, Inc.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts
  • Publication number: 20170272300
    Abstract: 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: Application
    Filed: June 1, 2017
    Publication date: September 21, 2017
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch
  • Publication number: 20170214775
    Abstract: A data processing system is provided. A host processing device supports a host transport engine operable to establish a first transport stream over a network with a remote peer. Device hardware comprises a device transport engine. The device transport engine is configured to monitor the first transport stream to determine a state of the first transport stream and in response to an indication from the host processing device perform transport processing of the first transport stream.
    Type: Application
    Filed: April 6, 2017
    Publication date: July 27, 2017
    Applicant: Solarflare Communications, Inc
    Inventors: Steven L. POPE, David J. RIDDOCH
  • Publication number: 20170187589
    Abstract: 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: Application
    Filed: December 29, 2015
    Publication date: June 29, 2017
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: Steven L. Pope, David J. Riddoch, Derek Roberts