Patents by Inventor Kenneth H. Potter

Kenneth H. Potter 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: 7623455
    Abstract: Techniques for distributing data packets over a network link bundle include storing an output data packet in a data flow queue based on a flow identification associated with the output data packet. The flow identification indicates a set of one or more data packets, including the output data packet, which are to be sent in the same sequence as received. State data is also received. The state data indicates a physical status of a first port of multiple active egress ports that are connected to a corresponding bundle of communication links with one particular network device. A particular data flow queue is determined based at least in part on the state data. A next data packet is directed from the particular data flow queue to a second port of the active egress ports. These techniques allow a more efficient use of a network link bundle.
    Type: Grant
    Filed: April 2, 2005
    Date of Patent: November 24, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Stephen Hilla, Kenneth H. Potter, John Marshall
  • Patent number: 7606158
    Abstract: Presently disclosed is an apparatus and method for returning control of bandwidth allocation and packet scheduling to the routing engine in a network communications device containing an ATM interface. Virtual circuit (VC) flow control is augmented by the addition of a second flow control feedback signal from each virtual path (VP). VP flow control is used to suspend scheduling of all VCs on a given VP when traffic has accumulated on enough VCs to keep the VP busy. A new packet segmenter is employed to segment traffic while preserving the first in, first out (FIFO) order in which packet traffic was received. Embodiments of the invention may be implemented using a two-level (per-VC and per-VP) scheduling hierarchy or may use as many levels of flow control feedback-derived scheduling as may be necessitated by multilevel scheduling hierarchies.
    Type: Grant
    Filed: September 24, 2004
    Date of Patent: October 20, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Guy C. Fedorkow, Kenneth H. Potter, Jr., Mark A. Gustlin, Christopher J. Kappler, Robert T. Olsen
  • Patent number: 7447872
    Abstract: An inter-chip communication (ICC) mechanism enables any processor in a pipelined arrayed processing engine to communicate directly with any other processor of the engine over a low-latency communication path. The ICC mechanism includes a unidirectional control plane path that is separate from a data plane path of the engine and that accommodates control information flow among the processors. The mechanism thus enables inter-processor communication without sending messages over the data plane communication path extending through processors of each pipeline.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: November 4, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Russell Schroter, John William Marshall, Kenneth H. Potter
  • Patent number: 7324438
    Abstract: A technique non-disruptively recovers from a processor failure in a multi-processor flow device, such as an intermediate network node of a computer network. Data relating to a particular data flow of a processor within the node is tagged with specific information used to detect and recover from a failure of the processor without affecting data from other processors of the node. A data path management device tags the data with the specific information reflecting the processor issuing the data and a state of the processor. When the tagged data subsequently passes through the data path management device, the specific information is compared with current information for the issuing processor. If the comparison indicates that the specific information is valid, the data path management device forwards the related data flow through the node. If the comparison indicates that the specific information is invalid, the data and its related data flow are discarded and “cleanly” purged from the node.
    Type: Grant
    Filed: February 13, 2003
    Date of Patent: January 29, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Mark Savoldi, Hong-Man Wu, Kenneth H. Potter, Jr.
  • Patent number: 7290105
    Abstract: A technique efficiently accesses locks associated with resources in a computer system. A processor accesses (e.g., acquires or releases) a lock by specifying and issuing a request to a resource controller, the request containing attribute and resource location information associated with the lock. In response, the resource controller applies the information contained in the request to an outstanding lock data structure to determine if the request should be blocked, blocked as a pending writer, allowed or an error condition. If the request is blocked, it remains blocked until the outstanding lock blocking the request is released. If the request is allowed, operations associated with the request are performed.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: October 30, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Robert E. Jeter, Jr., Kenneth H. Potter, Darren Kerr, John W. Marshall, Manish Changela
  • Patent number: 7286532
    Abstract: An aggregation router architecture comprises a plurality of line cards coupled to at least one performance routing engine (PRE) via an interconnect system. The line cards include input cards having input ports coupled to subscribers and at least one trunk card configured to aggregate packets received from the subscriber inputs over at least one output port. The PRE performs packet forwarding and routing operations, along with quality of service functions for the packets received from each input line card over the interconnect system. The interconnect system comprises a plurality of high-speed unidirectional (i.e., point-to-point) links coupling the PRE to each line card. The point-to-point links couple the line cards to a novel logic circuit of the PRE that is configured to interface the line cards to a packet buffer and a forwarding engine of the PRE.
    Type: Grant
    Filed: February 22, 2001
    Date of Patent: October 23, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Maruthingendra P. Rachepalli, Ramesh Sivakolundu, Kenneth H. Potter, Guy C. Fedorkow, Gary S. Muntz
  • Patent number: 7287255
    Abstract: In one embodiment a set of threads are assigned in a particular order to an order group. The first assigned thread is treated as being, at least initially, at a head-of-line (HOL) for the order group. Each thread of the set is assigned a separate sequence number, each sequence number indicating the order in which the respective thread was assigned to the order group. A given thread is prevented from performing at least some of the given thread's instruction sequence until the given thread reaches the HOL of the order group as indicated by a modifiable HOL sequence value.
    Type: Grant
    Filed: April 3, 2006
    Date of Patent: October 23, 2007
    Assignee: Cisco Technology, Inc.
    Inventor: Kenneth H. Potter, Jr.
  • Patent number: 7254687
    Abstract: A technique for controlling access to resources that may be accessed by one or more entities in a system. According to the technique, an entity accesses a shared resource by issuing a request containing an identifier that identifies the resource and an operation that specifies an operation to be performed on the resource. The operation is compared with one or more outstanding operations associated with the shared resource to determine if the operation conflicts with one or more of the outstanding operations. If a conflict is detected, a guard value is applied to determine if a race condition could occur. If a race condition is detected, the operation is blocked; otherwise, the operation is allowed.
    Type: Grant
    Filed: December 16, 2002
    Date of Patent: August 7, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Robert E. Jeter, Jr., Kenneth H. Potter
  • Patent number: 7245615
    Abstract: The present invention comprises a technique for performing a reassembly assist function that enables a processor to perform packet reassembly in a deterministic manner. The technique employed by the present invention enables a processor to reassemble a packet without having to extend its normal processing time to reassemble a varying number of fragments into a packet. The invention takes advantage of the fact that the reassembly assist can be dedicated exclusively to reassembling a packet from a series of fragments and thereby offloading the reassembly process from the processor.
    Type: Grant
    Filed: October 30, 2001
    Date of Patent: July 17, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth H. Potter, Michael L. Wright, Hong-Man Wu
  • Patent number: 7194568
    Abstract: A dynamic addressing technique mirrors data across multiple banks of a memory resource. Information stored in the memory banks is organized into separately addressable blocks, and memory addresses include a mirror flag. To write information mirrored across two memory banks, a processor issues a single write transaction with the mirror flag asserted. A memory controller detects that the mirror flag is asserted and, in response, waits for both memory banks to become available. At that point, the memory controller causes the write to be performed at both banks. To read data that has been mirrored across two memory banks, the processor issues a read with the mirror flag asserted. The memory controller checks the availability of both banks having the desired information. If either bank is available, the read request is accepted and the desired data is retrieved from the available bank and returned to the processor.
    Type: Grant
    Filed: March 21, 2003
    Date of Patent: March 20, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Robert E. Jeter, Jr., Kenneth H. Potter, Jr.
  • Patent number: 7174394
    Abstract: The present invention provides a system and method for a plurality of independent processors to simultaneously assemble requests in a context memory coupled to a coprocessor. A write manager coupled to the context memory organizes segments received from multiple processors to form requests for the coprocessor. Each received segment indicates a location in the context memory, such as an indexed memory block, where the segment should be stored. Illustratively, the write manager parses the received segments to their appropriate blocks of the context memory, and detects when the last segment for a request has been received. The last segment may be identified according to a predetermined address bit, e.g. an upper order bit, that is set. When the write manager receives the last segment for a request, the write manager (1) finishes assembling the request in a block of the context memory, (2) enqueues an index associated with the memory block in an index FIFO, and (3) sets a valid bit associated with memory block.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: February 6, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Trevor Garner, Kenneth H. Potter, Robert Leroy King, William R. Lee
  • Patent number: 7155722
    Abstract: A load balancing mechanism and technique that monitors a memory interface associated with a processor resource in a processor pool associated with at least one node of a computer network. The monitoring determines the actual load activity executed by the processor during a specified period of time. The mechanism comprises a hardware access monitor configured to determine the true activity of each processor resource. The access monitor tracks certain memory requests over the memory interface and stores the requests in a counter assigned to each processor. The access monitor then collects statistics from each processor resource of the pool and provides those statistics to a central load balancing resource for use when determining assignment of loads (tasks) to the various processor resources.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: December 26, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Stephen C. Hilla, Kenneth H. Potter
  • Patent number: 7124231
    Abstract: The present invention provides a technique for ordering responses received over a split transaction bus, such as a HyperTransport bus (HPT). When multiple non-posted requests are sequentially issued over the split transaction bus, control logic is used to assign each request an identifying (ID) number, e.g. up to a maximum number of outstanding requests. Similarly, each response received over the split transaction bus is assigned the same ID number as its corresponding request. Accordingly, a “response memory” comprises a unique memory block for every possible ID number, and the control logic directs a received response to its corresponding memory block. The responses are extracted from blocks of response memory in accordance with a predetermined set of ordering rules. For example, the responses may be accessed in the same order the corresponding non-posted requests were issued.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: October 17, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Trevor Garner, Kenneth H. Potter, Hong-Man Wu
  • Patent number: 7117308
    Abstract: A data path protocol eliminates most of the conventional read transactions required to transfer data between devices interconnected by a split transaction bus, such as a HyperTransport (HPT) bus. To that end, each device is configured to manage its own set of buffer descriptors, unlike previous data path protocols in which only one device managed all the buffer descriptors. As such, neither device has to perform a read transaction to retrieve a “free” buffer descriptor from the other device. As a result, only write transactions are performed for transferring descriptors across the HPT bus, thereby decreasing the amount of traffic over the bus and eliminating conventional latencies associated with read transactions. In addition, because descriptors are separately managed in each device, the data path protocol also conserves processing bandwidth that is traditionally consumed by managing ownership of the buffer descriptors within a single device.
    Type: Grant
    Filed: April 6, 2004
    Date of Patent: October 3, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: John W. Mitten, Christopher G. Riedle, David Richard Barach, Kenneth H. Potter, Jr., Kent Hoult, Jeffery B. Scott
  • Patent number: 7111092
    Abstract: A buffer-management technique efficiently manages a set of data buffers accessible to first and second devices interconnected by a split transaction bus, such as a Hyper-Transport (HPT) bus. To that end, a buffer manager controls access to a set of “free” buffer descriptors, each free buffer descriptor referencing a corresponding buffer in the set of data buffers. Advantageously, the buffer manager ensures that the first and second devices are allocated a sufficient number of free buffer descriptors for use in a HPT data path protocol in which the first and second devices have access to respective sets of free buffer descriptors. Because buffer management over the HPT bus is optimized by the buffer manager, the amount of processing bandwidth traditionally consumed managing descriptors can be reduced.
    Type: Grant
    Filed: April 16, 2004
    Date of Patent: September 19, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: John W. Mitten, Christopher G. Riedle, David Richard Barach, Kenneth H. Potter, Jr., Kent Hoult, Jeffery B. Scott
  • Patent number: 7085229
    Abstract: The present invention comprises a scheduling assist function (scheduling assist) that enables a processor to schedule events and be notified when these events expire. In addition, the present invention includes features that enable a processor to associate these events with output channels and enable the processor to quickly locate output channels (links) that are available and ready to be serviced. The invention takes advantage of the fact that the scheduling assist can be dedicated exclusively to scanning tables in its own dedicated memories looking for events that have expired and/or output channels that are available and not involve the processor in the search for output channels that are available and ready to be serviced.
    Type: Grant
    Filed: October 24, 2001
    Date of Patent: August 1, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth H. Potter, Jr., Michael L. Wright, Hong-Man Wu
  • Patent number: 7039914
    Abstract: A system and method maintains order among a plurality of threads in a multi-threaded processing system. The processing system, which may be disposed at an intermediate network device, has a plurality of processors each supporting a plurality of threads. The ordering system includes a dispatcher that assigns work, such as the processing of received packets to free threads, an order manager that keeps track of the relative order of the threads, and a thread client associated with each thread for enforcing the determined order. Packets to be processed by the processing system are assigned to an initial order group by the order manager based on a selected attribute, and those packets sharing the same attribute value are assigned to the same order group. During processing, a thread may request reassignment to other order groups in response to other attributes of the packets.
    Type: Grant
    Filed: March 7, 2003
    Date of Patent: May 2, 2006
    Assignee: Cisco Technology, Inc.
    Inventor: Kenneth H. Potter, Jr.
  • Patent number: 6976149
    Abstract: A mapping technique allows a forwarding engine of an intermediate node to efficiently compute a starting address within an internal packet memory (IPM) configured to hold a packet received at the node. The starting address is used by direct memory access logic to merge a trailer of the packet stored in the IPM with a modified packet header generated by the forwarding engine. However, the size of the IPM is preferably not a binary number that can be easily manipulated by the forwarding engine when computing the starting address of the packet within the IPM. Therefore, the technique automatically adjusts the starting address to map to a correct location if the address exceeds the size of the IPM, while obviating the need for the forwarding engine to consider a wrap-around condition when computing the starting address.
    Type: Grant
    Filed: February 22, 2001
    Date of Patent: December 13, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: William P. Brandt, Kenneth H. Potter, Jonathan Rosen
  • Patent number: 6895481
    Abstract: A method for decrementing a reference count in a multicast environment is provided that includes receiving an access request for a particle stored in a memory element. The memory unit is then accessed in response to the access request, the particle being read from the memory element. The particle includes a plurality of data segments, a selected one or more of which includes a first reference count associated with the particle. The particle is then presented to a target that generated the access request. The first reference count associated with the selected one or more data segments is then decremented in order to generate a second reference count. At least one of the plurality of data segments with the second reference count is then written to the memory element.
    Type: Grant
    Filed: July 3, 2002
    Date of Patent: May 17, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: John W. Mitten, William R. Lee, Kenneth H. Potter
  • Patent number: 6847645
    Abstract: A method and apparatus manages packet header buffers of a forwarding engine contained within an intermediate node, such as an aggregation router, of a computer network. Processors of the forwarding engine add and remove headers from packets using a packet header buffer, i.e., context memory, associated with each processor. Addition and removal of the headers occurs while preserving a portion of the “on-chip” context memory for passing state information to and between processors of a pipeline, and also for passing move commands to direct memory access (DMA) logic external to the forwarding engine. A wrap control function capability within the move command works in conjunction with the ability of the DMA logic to detect the end of the context and wrap to a specified offset within the context. That is, rather than wrapping to the beginning of a context, the wrap control capability specifies a predetermined offset within the context at which the wrap point occurs.
    Type: Grant
    Filed: February 22, 2001
    Date of Patent: January 25, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Kenneth H. Potter, Barry S. Burns