Patents by Inventor Robert Jeter

Robert Jeter 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: 8453147
    Abstract: Techniques for processing requests from a processing thread for a shared resource shared among threads on one or more processors include receiving a bundle of requests from a portion of a thread that is executed during a single wake interval on a particular processor. The bundle includes multiple commands for one or more shared resources. The bundle is processed at the shared resource(s) to produce a bundle result. The bundle result is sent to the particular processor. The thread undergoes no more than one wake interval to sleep interval cycle while the bundle commands are processed at the shared resource(s). These techniques allow a lock for shared resource(s) to be obtained, used and released all while the particular thread is sleeping, so that locks are held for shorter times than in conventional approaches. Using these techniques, line rate packet processing is more readily achieved in routers with multiple multi-threaded processors.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: May 28, 2013
    Assignee: Cisco Technology, Inc.
    Inventors: Robert Jeter, John Marshall, William Lee, Trevor Garner
  • Patent number: 8041929
    Abstract: Techniques for processing each of multiple threads that share a core processor include receiving an intra-thread register address from the core processor. This address contains C bits for accessing each of 2c registers for each thread. A thread ID is received from a thread scheduler external to the core processor. The Thread ID contains T bits for indicating a particular thread for up to 2T threads. A particular register is accessed in a register bank that has 2(C+T) registers using an inter-thread address that includes both the intra-thread register address and the thread ID. The particular register holds contents for the intra-thread register address for a thread having the thread ID. Consequently, register contents of all registers of all threads reside in the register bank. Thread switching is accomplished rapidly by simply accessing different slices in the register bank, without swapping contents between a set of registers and memory.
    Type: Grant
    Filed: June 16, 2006
    Date of Patent: October 18, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Robert Jeter, Trevor Gamer, William Lee, Scott Smith, Gegory Goss
  • Patent number: 8010966
    Abstract: In one embodiment, a method includes receiving at a thread scheduler data that indicates a first thread is to execute next a particular instruction path in software to access a particular portion of a shared computational resource. The thread scheduler determines whether a different second thread is exclusively eligible to execute the particular instruction path on any processor of a set of one or more processors to access the particular portion of the shared computational resource. If so, then the thread scheduler prevents the first thread from executing any instruction from the particular instruction path on any processor of the set of one or more processors. This enables several threads of the same software to share a resource without obtaining locks on the resource or holding a lock on a resource while a thread is not running.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: August 30, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Robert Jeter, Trevor Garner, John Marshall, Aaron Kirk
  • Publication number: 20080077926
    Abstract: In one embodiment, a method includes receiving at a thread scheduler data that indicates a first thread is to execute next a particular instruction path in software to access a particular portion of a shared computational resource. The thread scheduler determines whether a different second thread is exclusively eligible to execute the particular instruction path on any processor of a set of one or more processors to access the particular portion of the shared computational resource. If so, then the thread scheduler prevents the first thread from executing any instruction from the particular instruction path on any processor of the set of one or more processors. This enables several threads of the same software to share a resource without obtaining locks on the resource or holding a lock on a resource while a thread is not running.
    Type: Application
    Filed: September 27, 2006
    Publication date: March 27, 2008
    Inventors: Robert Jeter, Trevor Garner, John Marshall, Aaron Kirk
  • Publication number: 20070294694
    Abstract: Techniques for processing each of multiple threads that share a core processor include receiving an intra-thread register address from the core processor. This address contains C bits for accessing each of 2c registers for each thread. A thread ID is received from a thread scheduler external to the core processor. The Thread ID contains T bits for indicating a particular thread for up to 2T threads. A particular register is accessed in a register bank that has 2(C+T) registers using an inter-thread address that includes both the intra-thread register address and the thread ID. The particular register holds contents for the intra-thread register address for a thread having the thread ID. Consequently, register contents of all registers of all threads reside in the register bank. Thread switching is accomplished rapidly by simply accessing different slices in the register bank, without swapping contents between a set of registers and memory.
    Type: Application
    Filed: June 16, 2006
    Publication date: December 20, 2007
    Inventors: Robert Jeter, Trevor Gamer, William Lee, Scott Smith, Gegory Goss
  • Publication number: 20070283357
    Abstract: Techniques for processing requests from a processing thread for a shared resource shared among threads on one or more processors include receiving a bundle of requests from a portion of a thread that is executed during a single wake interval on a particular processor. The bundle includes multiple commands for one or more shared resources. The bundle is processed at the shared resource(s) to produce a bundle result. The bundle result is sent to the particular processor. The thread undergoes no more than one wake interval to sleep interval cycle while the bundle commands are processed at the shared resource(s). These techniques allow a lock for shared resource(s) to be obtained, used and released all while the particular thread is sleeping, so that locks are held for shorter times than in conventional approaches. Using these techniques, line rate packet processing is more readily achieved in routers with multiple multi-threaded processors.
    Type: Application
    Filed: June 5, 2006
    Publication date: December 6, 2007
    Inventors: Robert Jeter, John Marshall, William Lee, Trevor Garner
  • Publication number: 20070095368
    Abstract: The present invention relates to methods of removing a conformal coating from an article, related processes, and articles. According to one aspect of the present invention, a process of removing at least a portion of a conformal coating from an article includes the steps of providing an article that includes a conformal coating, providing a containment structure on the article such that the containment structure surrounds an area that includes at least a portion of the conformal coating, providing an amount of a cleaning solvent in the area surrounded by the containment structure and in contact with the conformal coating within the area, and allowing the cleaning solvent to contact the conformal coating within the area in a manner so as to help remove at least a portion of the conformal coating. The amount of cleaning solvent is effective to help remove at least a portion of the conformal coating within the area.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: David Girard, Robert Jeter
  • Publication number: 20070067592
    Abstract: In one embodiment, a processor is operable to issue a first memory request to access a particular memory location, and, prior to completion of the first memory request, to issue a command to release a memory lock on the particular memory location when access to the particular memory location is complete. The processor is further operable to, prior to release of the memory lock, issue a second memory request to access a different memory location. Also a memory management unit is operable to receive the command to release the memory lock and to monitor for when access to the particular memory location is complete. The memory management unit releases the memory lock in response to completion.
    Type: Application
    Filed: November 17, 2006
    Publication date: March 22, 2007
    Inventor: Robert Jeter
  • Publication number: 20060184753
    Abstract: A system and method for enabling a processor to access a memory not directly coupled to the processor. A memory request, including a request identifier field, is issued by a processor to a local memory management unit (MMU). Using the request identifier field, the local MMU determines whether the memory request should be issued by the local memory management unit (MMU) to a local memory, or should be transferred by the local MMU to a remote MMU and issued by the remote MMU to a remote memory, the remote memory associated with a different processor. In this manner, the remote MMU issues certain memory requests on behalf of the local processor and returns any results back to the local processor.
    Type: Application
    Filed: April 13, 2006
    Publication date: August 17, 2006
    Inventors: Robert Jeter, John Marshall, Jeffery Scott