The patent system was designed to help promote the advancement of technology by giving inventors some protection. While I believe the system is in significant need of modernization, I do believe that patents serve a purpose. More importantly, I don't believe that a patent, by itself, is a contribution. As such, each of the following patents was a direct result of a system I was building and demonstrating.

Patents

  • 7990867 - "Pipeline for processing network packets ", Keller, James-Roxby. Granted Aug. 2, 2011.
  • 7823162 - "Thread circuits and a broadcast channel in programmable logic", Keller, James-Roxby. Granted Oct. 26, 2010.
  • 7792117 - "Method for simulating a processor of network packets", Keller, James-Roxby, Schelle. Granted Sept. 7, 2010.
  • 7788402 - "Circuit for modification of a network packet by insertion or removal of a data segment", Keller, Schelle, James-Roxby. Granted Aug. 31, 2010.
  • 7784014 - "Generation of a specification of a network packet processor", Brebner, Neely, James-Roxby, Keller, Kulkarni, Baxter, Styles, Schelle. Granted Aug. 24, 2010.
  • 7770179- "Method and apparatus for multithreading on a programmable logic device ", James-Roxby, Brebner, Keller, Kulkarni. Granted Aug. 3, 2010.
  • 7698449 - "Method and apparatus for configuring a processor embedded in an integrated circuit for use as a logic element", Keller, James-Roxby. Granted Apr. 13, 2010.
  • 7689726 - "Bootable integrated circuit device for readback encoding of configuration data", Sundararajan, Blodget, McMillan, James-Roxby, Keller. Granted Mar. 30, 2010.
  • 7653895 - "Memory arrangement for message processing by a plurality of threads", James-Roxby, Keller. Granted Jan. 26, 2010.
  • 7574680 - "Method and apparatus for application-specific programmable memory architecture and interconnection network on a chip", Kulkarni, Brebner, Keller, James-Roxby. Granted Aug. 11, 2009.
  • 7552042 - "Method for message processing on a programmable logic device ", Brebner, James-Roxby, Keller, Kulkarni. Granted Jun. 23, 2009.
  • 7386826 - "Using redundant routing to reduce susceptibility to single event upsets in PLD designs", Keller, Sundararajan. Granted Jun. 10, 2008.
  • 7328335 - "Bootable programmable logic device for internal decoding of encoded configuration data", Sundararajan, Blodget, McMillan, James-Roxby, Keller. Granted Feb. 5, 2008.
  • 7228520 - "Method and apparatus for a programmable interface of a soft platform on a programmable logic device", Keller, Brebner, James-Roxby, Kulkarni. Granted Jun. 5, 2007.
  • 7227378 - "Reconfiguration of a programmable logic device using internal control", Blodget, McMillan, James-Roxby, Sundararajan, Keller, Curd, Kalra, LeBlanc, Eck. Granted Jun. 5, 2007.
  • 7185309 - "Method and apparatus for application-specific programmable memory architecture and interconnection network on a chip", Kulkarni, Brebner, Keller, James-Roxby. Granted Feb. 27, 2007.
  • 7131077 - "Using an embedded processor to implement a finite state machine", James-Roxby, Keller. Granted Oct. 31, 2006.
  • 7111215 - "Methods of reducing the susceptibility of PLD designs to single event upsets", Keller, Sundararajan, Trimberger. Granted Sep. 19, 2006.
  • 7076596 - "Method of and apparatus for enabling a hardware module to interact with a data structure", Keller, James-Roxby. Granted Jul. 11, 2006.
  • 7028283 - "Method of using a hardware library in a programmable logic device", Keller, James-Roxby. Granted Apr. 11, 2006.
  • 7010664 - "Configurable address generator and circuit using same", Ballagh, Keller, Milne. Granted Mar. 7, 2006.
  • 6920627 - "Reconfiguration of a programmable logic device using internal control", Blodget, McMillan, James-Roxby, Sundararajan, Keller, Curd, Kalra, LeBlanc, Eck. Granted Jul. 19, 2005.
  • 6883147 - "Method and system for generating a circuit design including a peripheral component connected to a bus.", Ballagh, Milne, Stroomer, Keller, Hwang, James-Roxby. Granted Apr. 19, 2005.
  • 6725441 - "Method and apparatus for defining and modifying connections between logic cores implemented on programmable logic devices." Keller, Patterson. Granted Apr. 20, 2004.
  • 6487709 - "Run-Time Routing for Programmable Logic Devices." Keller, Guccione, Levi. Granted Nov. 26, 2002.