Patents by Inventor Brian James Knight

Brian James Knight 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: 8505012
    Abstract: A method is described that comprises suspending a currently executing thread at a periodic time interval, calculating a next time slot during which the currently executing thread is to resume execution, appending the suspended thread to a queue of threads scheduled for execution at the calculated time slot, and updating an index value of a pointer index to a next sequential non-empty time slot, where the pointer index references time slots within an array of time slots, and where each of the plurality of time slots corresponds to a timeslice during which CPU resources are allocated to a particular thread. The method further comprises removing any contents of the indexed non-empty time slot and appending the removed contents to an array of threads requesting immediate CPU resource allocation and activating the thread at the top of the array of threads requesting immediate CPU resource allocation as a currently running thread.
    Type: Grant
    Filed: April 13, 2010
    Date of Patent: August 6, 2013
    Assignee: Conexant Systems, Inc.
    Inventors: Mark Justin Moore, Brian James Knight
  • Publication number: 20100229179
    Abstract: A method is described that comprises suspending a currently executing thread at a periodic time interval, calculating a next time slot during which the currently executing thread is to resume execution, appending the suspended thread to a queue of threads scheduled for execution at the calculated time slot, and updating an index value of a pointer index to a next sequential non-empty time slot, where the pointer index references time slots within an array of time slots, and where each of the plurality of time slots corresponds to a timeslice during which CPU resources are allocated to a particular thread. The method further comprises removing any contents of the indexed non-empty time slot and appending the removed contents to an array of threads requesting immediate CPU resource allocation and activating the thread at the top of the array of threads requesting immediate CPU resource allocation as a currently running thread.
    Type: Application
    Filed: April 13, 2010
    Publication date: September 9, 2010
    Inventors: Mark Justin Moore, Brian James Knight
  • Patent number: 7716668
    Abstract: A circular array structure is maintained having multiple time slots, where each time slot corresponds to a timeslice during which CPU resources are allocated to a particular thread. The time slots in the circular array include a queue of threads scheduled for execution during that time slot. A pointer index and an array of threads requesting immediate CPU resource allocation are maintained. A currently executing thread is suspended, and a next time slot during which the currently executing thread should resume execution is calculated. The suspended currently executing thread is appended to the queue of threads scheduled for execution at the calculated time slot. The pointer index is undated to point to the identified next sequential non-empty time slot. Any contents of the indexed time slot is appended to the array of threads requesting immediate CPU resource allocation. The thread at the top of the array is removed and activated.
    Type: Grant
    Filed: December 16, 2003
    Date of Patent: May 11, 2010
    Assignee: Brooktree Broadband Holding, Inc.
    Inventors: Mark Justin Moore, Brian James Knight
  • Patent number: 7203198
    Abstract: One embodiment of a method for switching ATM cells using Early Packet Discard and Partial Packet Discard is provided. Initially, a first cell of an AAL5 packet is received at an input port. Next, it is determined whether there is likely to be enough buffering available to handle the whole packet (i.e., up to 64 Kbytes). If it is determined that sufficient buffering is unlikely to be available, the entire packet is discarded. If it is determined that sufficient buffering exists, the cell is received and buffered for subsequent transmission. Next it is determined whether the flow's buffer is filled at any time after initial transmission of a AAL5 cell but before reception of the final cell. If such a state is determined, the current cell is discarded and a flag is set in the flow structure so that subsequent cells of the same packet, except the last, will also be discarded.
    Type: Grant
    Filed: April 17, 2002
    Date of Patent: April 10, 2007
    Assignee: Conexant, Inc.
    Inventors: Brian James Knight, Timothy John Chick
  • Publication number: 20040187120
    Abstract: A method and system are provided for enabling scheduling thread execution in a computer system. Initially, a circular array structure is maintained having a plurality of time slots therein, wherein each of the plurality of time slots corresponds to a timeslice during which CPU resources are allocated to a particular thread. Next, each of the time slots in the circular array are configured to include a queue of threads scheduled for execution during that time slot. A pointer index is maintained for referencing one time slot in the circular array and whereby advancement through the circular array is provided by advancing the pointer index. An array of threads requesting immediate CPU resource allocation is also maintained. In operation, a currently executing thread is suspended. Next, a next time slot during which the currently executing thread should next resume execution is calculated.
    Type: Application
    Filed: December 16, 2003
    Publication date: September 23, 2004
    Applicant: Globespan Virata Inc.
    Inventors: Mark Justin Moore, Brian James Knight
  • Publication number: 20040030816
    Abstract: The present invention is directed to methods and systems for implementing a DMA scheduling mechanism and a DMA system for transmission from fragmented buffers. According to an aspect of the present invention, a processor controls several devices via a polled interface to interleave DMA data transfers on different Input/Output (I/O) ports in an efficient manner. According to another aspect of the present invention, a system for handling transmission of network packets which are assembled from multiple memory buffers with different octet alignments is provided. The hardware/software combination allows efficient joining of packet fragments with differing octet alignments when the underlying memory system is word based, and further allows insertion of other data fields generated by a processor.
    Type: Application
    Filed: July 8, 2003
    Publication date: February 12, 2004
    Applicant: Globespan Virata Incorporated
    Inventors: Brian James Knight, David Russell Milway
  • Publication number: 20040008713
    Abstract: The present invention is directed to methods and systems for implementing a DMA scheduling mechanism and a DMA system for transmission from fragmented buffers. According to an aspect of the present invention, a processor controls several devices via a polled interface to interleave DMA data transfers on different Input/Output (I/O) ports in an efficient manner. According to another aspect of the present invention, a system for handling transmission of network packets which are assembled from multiple memory buffers with different octet alignments is provided. The hardware/software combination allows efficient joining of packet fragments with differing octet alignments when the underlying memory system is word based, and further allows insertion of other data fields generated by a processor.
    Type: Application
    Filed: July 8, 2003
    Publication date: January 15, 2004
    Applicant: Globespan Virata Incorporated
    Inventors: Brian James Knight, David Russell Milway, Chris Holland
  • Publication number: 20030126520
    Abstract: A system and method is provided for uniquely handling exception an interrupts in at least two different processors in a multiprocessor system. Initially, the memory address identified in a common exception vector table is written to contain an instruction which copies the current version of an IRQ-mode banked register into the program counter of the processor for subsequent execution. Next, each processor initializes independent IRQ-mode registers to contain the respective addresses for their individual IRQ handler routines. Upon receipt of an interrupt request or other exception, the processor receiving the request changes to an IRQ-mode, resulting in at least one register change from a normal register to the previously initialized IRQ-mode register. Next, the processor looks in the exception vector table for the appropriate interrupt handler address location and jumps to the identified memory location.
    Type: Application
    Filed: February 26, 2002
    Publication date: July 3, 2003
    Applicant: GlobespanVirata
    Inventor: Brian James Knight
  • Publication number: 20020181463
    Abstract: A system and method for receiving ATM cells is provided. Initially an ATM cell is received by a network element. Next, a hardware filter examines the cell header and determines whether the VPI or VCI (virtual path identifier, virtual channel identifier) extracted therefrom is contained within a hardware lookup table stored within the processor's memory. If it is determined that the received cell's VCI and/or VPI are found within the hardware lookup table, the processor outputs the address of the ‘flow’ data structure associated with the identified values. However, if it is determined that the cell's VPI/VCI are not found in the hardware lookup table, then the cell is passed to a secondary software filter for additional searching. Next, the software filter examines the cell header and identifies the appropriate flow for the VPI/VCI included therein.
    Type: Application
    Filed: April 17, 2002
    Publication date: December 5, 2002
    Inventor: Brian James Knight
  • Publication number: 20020176424
    Abstract: One embodiment of a method for switching ATM cells using Early Packet Discard and Partial Packet Discard is provided. Initially, a first cell of an AAL5 packet is received at an input port. Next, it is determined whether there is likely to be enough buffering available to handle the whole packet (i.e., up to 64 Kbytes). If it is determined that sufficient buffering is unlikely to be available, the entire packet is discarded. If it is determined that sufficient buffering exists, the cell is received and buffered for subsequent transmission. Next it is determined whether the flow's buffer is filled at any time after initial transmission of a AAL5 cell but before reception of the final cell. If such a state is determined, the current cell is discarded and a flag is set in the flow structure so that subsequent cells of the same packet, except the last, will also be discarded.
    Type: Application
    Filed: April 17, 2002
    Publication date: November 28, 2002
    Inventors: Brian James Knight, Timothy John Chick
  • Publication number: 20020150047
    Abstract: A system and method for scheduling the transmission of ATM cells is provided which includes two discrete processors. One processor examines the virtual channels and their traffic parameters, and calculates the times at which cells should be transmitted from each channel. The second processor manages multiple ATM network ports, performs low-level cell handling and the majority of cell switching, and transmits cells when instructed by the first.
    Type: Application
    Filed: April 17, 2002
    Publication date: October 17, 2002
    Applicant: GlobespanVirata Incorporated
    Inventors: Brian James Knight, Timothy John Chick, Guido Barzini
  • Patent number: 6397305
    Abstract: A method and apparatus for controlling memory access in a system where at least a first and a second processor each share a common memory. The first processor has a write buffer, in which it stores words prior to writing them in the common memory, and a cache for receiving words from the common memory. The common memory is mapped twice into the address space of the first processor so that, in a first mapping, the first processor accesses the common memory directly and in a second mapping, the cache is enabled. The common memory can therefore be directly accessed with the first processor and the second processor when they share data that is read from or written into the common memory. The cache is accessed with the first processor in the second mapping for reading and writing data local to the first processor. Information written into the write buffer is tagged and the tagged information is flushed into the shared memory before the shared memory can be accessed by the second processor.
    Type: Grant
    Filed: June 26, 2000
    Date of Patent: May 28, 2002
    Assignee: Virata Ltd.
    Inventors: Brian James Knight, Fash Nowashdi
  • Patent number: 6122279
    Abstract: A switching device for switching ATM cells from a plurality of network input links to a plurality of network output links comprises a plurality of ports containing line interfaces and input and output buffers, a hardware switch controller, a microprocessor, and memory for storing routing tables and system software. All these elements are interconnected via a processor bus, and additionally, the ports are interconnected by a separate switching bus. The switch controller employs hash-based routing table indexing to route cells from selected input ports to appropriate output ports according to the cells' header information. Switch requests generated by incoming cells are arbitrated using a token bus allocation scheme. The majority of cells are switched almost entirely in hardware, but the microprocessor can assume control of the switching architecture to resolve exception conditions and to perform special processing on selected virtual circuits.
    Type: Grant
    Filed: October 2, 1995
    Date of Patent: September 19, 2000
    Assignee: Virata Limited
    Inventors: David Russell Milway, David James Greaves, Brian James Knight