Patents Assigned to Level 5 Networks, Inc.
  • Patent number: 7496699
    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: Grant
    Filed: June 17, 2005
    Date of Patent: February 24, 2009
    Assignee: Level 5 Networks, Inc.
    Inventors: Steve L. Pope, Derek Roberts, David Riddoch, Ching Yu, John Mingyung Chiang, Der-Ren Chu
  • 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: 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: 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: 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: 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