Patents by Inventor Steve Pope

Steve 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).

  • Patent number: 7596644
    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: Grant
    Filed: January 11, 2006
    Date of Patent: September 29, 2009
    Assignee: Solarflare Communications, Inc.
    Inventors: Ching Yu, David Riddoch, Steve Pope, John Mingyung Chiang, Alok Singh, Derek Roberts
  • Patent number: 7562366
    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: Grant
    Filed: February 3, 2005
    Date of Patent: July 14, 2009
    Assignee: Solarflare Communications, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts, John Mingyung Chiang
  • 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: 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: 20070169396
    Abstract: A fishing rod holder (10) is disclosed having a spool assembly (16), a web (18), and a handle assembly (20). The web may be substantially prevented from moving when holding fishing rods in place by a web locking means (46). The web locking means may prevent the spool from turning or a web pinch may be employed, among other embodiments.
    Type: Application
    Filed: January 25, 2006
    Publication date: July 26, 2007
    Inventors: John O'Neill, Steve Pope
  • 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
  • Publication number: 20050226165
    Abstract: A method for transmitting data by means of a data processing system, the system being capable of supporting an operating system-and at least one application and having access to a memory and a network interface device capable of supporting a communication link over a network with another network interface device, the method comprising the steps of: forming by means of the application data to be transmitted; requesting by means of the application a non-operating-system functionality of the data processing system to send the data to be transmitted; responsive to that request: writing the data to be transmitted to an area of the memory; and initiating by means of direct communication between the non- operating-system functionality and the network interface device a transmission operation of at least some of the data over the network; and subsequently accessing the memory by means of the operating system and performing at least part of a transmission operation of at least some of the data over the network by mean
    Type: Application
    Filed: April 21, 2005
    Publication date: October 13, 2005
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch
  • Publication number: 20050183093
    Abstract: Method of managing interaction between a host subsystem and a peripheral device. Roughly described, the peripheral device writes an event into an individual event queue, and in conjunction therewith, also writes a wakeup event into an intermediary event queue. The wakeup event identifies the individual event queue. The host subsystem, in response to retrieval of the wakeup event from the intermediary event queue, activates an individual event handler to consume events from the individual event queue.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 18, 2005
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts
  • Publication number: 20050177657
    Abstract: Method for managing a queue in host memory for use with a peripheral device. Roughly described, the host makes a determination of the availability of space in the queue for writing new entries, in dependence upon historical knowledge of the number of queue entries that the host has authorized the device to write, and the number of entries that the host has consumed. In dependence on that determination, the host authorizes the device to write a limited number of new entries into the queue. The device writes entries into the queue dependence upon the number authorized. The host maintains a read pointer into the queue but does not need to maintain a write pointer, and the peripheral device maintains a write pointer into the queue but does not need to maintain a read pointer.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 11, 2005
    Applicant: Level 5 Networks, Inc.
    Inventors: Steve Pope, David Riddoch, Ching Yu, Derek Roberts
  • Publication number: 20050138242
    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: September 15, 2003
    Publication date: June 23, 2005
    Applicant: Level 5 Networks Limited
    Inventors: Steve Pope, Derek Roberts, David Riddoch, David Clarke