Patents by Inventor David Riddoch

David 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: 20080313655
    Abstract: A computer system comprising hardware including a data interface for interfacing between the computer system and a data source; a memory; a first operating system capable of communicating with the hardware; and a second operating system capable of supporting a user-level application and being configured to communicate with the hardware via the first operating system, the second operating system being capable of allocating a region of the memory for use as a buffer by such a user-level application. The data interface is configurable to associate a predetermined data format with a region of the memory that has been allocated for use as a buffer by a user-level application supported by the second operating system and to, on receiving from the data source a data message of that format, automatically store data of that message in that region of the memory without it passing via the first or second operating systems.
    Type: Application
    Filed: June 26, 2008
    Publication date: December 18, 2008
    Inventors: Steven Pope, David Riddoch
  • Publication number: 20080189510
    Abstract: A network interface device for providing an interface between a network and a data processing device, the network interface device having: a plurality of resources of different types for supporting the interface, and a bus interface for interfacing with the data processing device by means of a bus over which data can be sent by addressing to a address on the bus, the network interface device being arranged so that each resource may be addressed by a respective address on the bus.
    Type: Application
    Filed: September 2, 2005
    Publication date: August 7, 2008
    Inventors: David Riddoch, Steven Pope
  • Publication number: 20080072236
    Abstract: A data processing system comprising an operating system for supporting processes, such that the process are associated with one or more resources and the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated. Part of this system is an interface for interfacing between each process and the operating system and a memory for storing state information for at least one process. The interface may be arranged to analyze instructions from the processes to the operating system, and upon detecting an instruction to re-initialize a process cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialized process and to be associated with the resource.
    Type: Application
    Filed: September 10, 2007
    Publication date: March 20, 2008
    Inventors: Steven Pope, David Riddoch, Greg Law
  • Publication number: 20080065839
    Abstract: A data processing system with intercepting instructions comprising an operating system for supporting processes, such that the process are associated with one or more resources and the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated. Part of this system is an interface for interfacing between each process and the operating system and a memory for storing state information for at least one process. The interface may be arranged to analyze instructions from the processes to the operating system, and upon detecting an instruction to re-initialize a process cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialized process and to be associated with the resource.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 13, 2008
    Inventors: Steven Pope, David Riddoch, Greg Law
  • Publication number: 20080065840
    Abstract: A data processing system with data transmit capability comprising an operating system for supporting processes, such that the process are associated with one or more resources and the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated. Part of this system is an interface for interfacing between each process and the operating system and a memory for storing state information for at least one process. The interface may be arranged to analyze instructions from the processes to the operating system, and upon detecting an instruction to re-initialize a process cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialized process and to be associated with the resource.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 13, 2008
    Inventors: Steven Pope, David Riddoch, Greg Law
  • Publication number: 20080065838
    Abstract: A data processing system with memory access comprising an operating system for supporting processes, such that the process are associated with one or more resources and the operating system being arranged to police the accessing by processes of resources so as to inhibit a process from accessing resources with which it is not associated. Part of this system is an interface for interfacing between each process and the operating system and a memory for storing state information for at least one process. The interface may be arranged to analyze instructions from the processes to the operating system, and upon detecting an instruction to re-initialize a process cause state information corresponding to that pre-existing state information to be stored in the memory as state information for the re-initialized process and to be associated with the resource.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 13, 2008
    Inventors: Steven Pope, David Riddoch, Greg Law
  • Publication number: 20070214308
    Abstract: A communication interface for providing an interface between a data link and a data processor, the data processor being capable of supporting an operating system and a user application, the communication interface being arranged to: support a first queue of data received over the link and addressed to a logical data port associated with a user application; support a second queue of data received over the link and identified as being directed to the operating system; and analyse data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria, and if it does meet the criteria transmit an interrupt to the operating system.
    Type: Application
    Filed: May 17, 2007
    Publication date: September 13, 2007
    Applicant: LEVEL 5 NETWORKS LIMITED
    Inventors: Steve Pope, Derek Roberts, David Riddoch, David Clarke
  • Publication number: 20070183418
    Abstract: Roughly described, incoming data packets are delivered by the NIC directly to at least two user level endpoints. In an aspect, only filters that cannot be ambiguous are created in the NIC. In another aspect, the NIC maintains a filter table supporting direct delivery of incoming unicast and multicast data packets to one user level endpoint. Additional requests to join the same multicast group cause replacement of the NIC filter with one in the kernel. In another aspect, a NIC has limited capacity to maintain multicast group memberships. In response to a new multicast filter request, the kernel establishes it in the NIC only if the NIC still has sufficient capacity; otherwise it is established in the kernel.
    Type: Application
    Filed: February 8, 2006
    Publication date: August 9, 2007
    Applicant: Level 5 Networks, Inc.
    Inventors: David Riddoch, Martin Porter, Steven Pope
  • Publication number: 20070174511
    Abstract: System and method of a pace engine for governing the different transmission rates tailored for different connections by rate pacing a plurality of queues are described. Roughly described, the pace engine includes a binning controller for receiving queues from a transmit DMA queue manager and determines the earliest allowed time for a particular queue that is stored and paced in a Work Bin, a Fast Bin, or a Slow Bin. A pace table stores information about the minimum inter-packet-gap for each connection that is coupled to the transmit DMA queue manager. A timer is coupled to the binning controller with a multi-bit continuous counter that increments at a predetermined time unit and wraps around after a predetermined amount of time.
    Type: Application
    Filed: January 11, 2006
    Publication date: July 26, 2007
    Applicant: Level 5 Networks, Inc.
    Inventors: Ching Yu, David Riddoch, Steve Pope, John Chiang, Alok Singh, Derek Roberts
  • Publication number: 20070162609
    Abstract: A method of transmitting data according to a data transmission protocol wherein the data is transmitted as a plurality of data frames and each data frame includes an error checking field comprising at least two sub-fields, the data of the first sub-field being formed by a first error checking method performed on data of the frame and the data of the second sub-field being formed by a second error checking method performed on the said data of the frame, the first and second methods being such that the data of the first sub-field has different error checking properties from those of the data of the second sub-field.
    Type: Application
    Filed: March 3, 2004
    Publication date: July 12, 2007
    Applicant: Level 5 Network, Inc.
    Inventors: Steve Pope, Derek Roberts, David Riddoch, David Clarke
  • Publication number: 20070115982
    Abstract: 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: Application
    Filed: October 20, 2005
    Publication date: May 24, 2007
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, Derek Roberts, David Riddoch, Ching Yu, John Chiang, Der-Ren Chu
  • Publication number: 20070076712
    Abstract: A network interface device interfaces between a host device and a network by receiving packets over the network and passing at least some of those packets to ports of the host device is disclosed. Each packet may comprise a control section having one or more fields indicative of the type and data protocol of the packet, a source address field indicative of the source address of the packet, a destination address field indicative of the destination address of the packet, a source port field indicative of the source address of the packet and a destination port field indicative of the destination address of the packet. The network device comprises a data store for storing specifications for packets that are to be passed to the host device. A packet selection unit is provided and is capable of identifying the protocol of a received packet and operable in a different modes.
    Type: Application
    Filed: October 19, 2006
    Publication date: April 5, 2007
    Inventors: Steve Pope, Derek Roberts, David Riddoch
  • Publication number: 20070061439
    Abstract: A network interface device for connection to a data processing device and to a data network so as to provide an interface between the data processing device and the network for supporting the delivery of packets of a transport protocol, the network interface device being arranged to: transmit at least some of the content of the packets to the data processing device identify within the payloads of the packets data of a further protocol that represent a request to access memory of the data processing device; and on identifying such data apply a signal to a high priority processing function of the data processing device to enable that function to process the data.
    Type: Application
    Filed: October 19, 2006
    Publication date: March 15, 2007
    Inventors: Steve Pope, Derek Roberts, David Riddoch
  • Publication number: 20070036159
    Abstract: A network interface device for connection to a data processing device and to a data network so as to provide an interface between the data processing device and the network for supporting the network of packets of a transport protocol, the network interface device being configured to: identify within the payloads of such packets data of a further protocol, the data of the further protocol comprising payload data of the further protocol and framing data of the further protocol, and the framing data including verification data for permitting the integrity of the payload data to be verified; on so identifying data of the further protocol, process at least the payload data for determining the integrity thereof and transmit to the data processing device at least some of the framing data and an indication of the result of the said processing.
    Type: Application
    Filed: October 19, 2006
    Publication date: February 15, 2007
    Inventors: Steve Pope, Derek Roberts, David Riddoch
  • Publication number: 20070030859
    Abstract: A network interface device capable of communication with a data processing system supporting an operating system and at least one application, the network interface device supporting communication with the operating system by means of: two or more data channels, each data channel being individually addressable by the network interface device and being capable of carrying application-level data between the network interface device and the data processing device; and a control channel individually addressable by the network interface device and capable of carrying control data between the network interface device, the control data defining commands and the network interface being responsive to at least one command sent over the control channel to establish at least one additional data channel.
    Type: Application
    Filed: August 31, 2006
    Publication date: February 8, 2007
    Inventors: Steve Pope, David Riddoch
  • Publication number: 20070022206
    Abstract: A method for forming data received from a data source into frames for transmission over a data link according to a protocol in which data is carried as data frames and in which once transmission of the data frame begun the entirety of the data frame must be transmitted at no less than a pre-set data rate, the method comprising: including in a frame traffic data formed from data received for transmission from the data source, and if insufficient data received for transmission from the data source is available to transmit the frame at the pre-set data rate, including in the frame padding data, the padding data being of a predetermined format distinguishable from the traffic data.
    Type: Application
    Filed: March 3, 2004
    Publication date: January 25, 2007
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, Derek Roberts, David Riddoch, David Clarke
  • Publication number: 20060288129
    Abstract: Method and apparatus for retrieving buffer descriptors from a host memory for use by a peripheral device. In an embodiment, a peripheral device such as a NIC includes a plurality of buffer descriptor caches each corresponding to a respective one of a plurality of host memory descriptor queues, and a plurality of queue descriptors each corresponding to a respective one of the host memory descriptor queues. Each of the queue descriptors includes a host memory read address pointer for the corresponding descriptor queue, and this same read pointer is used to derive algorithmically the descriptor cache write addresses at which to write buffer descriptors retrieved from the corresponding host memory descriptor queue.
    Type: Application
    Filed: June 17, 2005
    Publication date: December 21, 2006
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, Derek Roberts, David Riddoch, Ching Yu, John Chiang, Der-Ren Chu
  • Publication number: 20060248234
    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: Application
    Filed: April 27, 2005
    Publication date: November 2, 2006
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts
  • Publication number: 20060174251
    Abstract: Method for managing a data transmit queue, for use with a host and a network interface device. Roughly described, the host writes data buffer descriptors into a transmit descriptor queue, and the network interface device writes events to notify the host when it has completed processing of a transmit data buffer. Each of the transmit completion event descriptors notify the host of completion of a plurality of the transmit data buffers.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts, John Chiang
  • Publication number: 20060173970
    Abstract: Roughly described, method for managing data transmission between a host subsystem and a network interface device, in which the host writes data buffer descriptors into a DMA descriptor queue, and the network interface device writes completion events to notify the host when it has completed processing of data buffers. Each of the completion event descriptors notify the host of completion of data transfer between the NIC and one or more of the data buffers, and can also embed a queue empty notification inside the completion event.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts