Patents by Inventor Richard Eugene Kessler

Richard Eugene Kessler 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: 9838471
    Abstract: A method and a system embodying the method for work request arbitration, comprising receiving a work request, the work request indicating one or more groups from a plurality of groups; determining at least one of a plurality of parameters in accordance with the received work request; determining eligibility to provide work among the one or more groups that have work in a work queue in accordance with a first set of the plurality of parameters; and selecting one of the determined eligible groups to provide the work in accordance with a second set of the plurality of parameters is disclosed.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: December 5, 2017
    Assignee: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala, David Kravitz
  • Patent number: 9819739
    Abstract: A new approach is proposed that contemplates systems and methods to support hot plugging and/or unplugging one or more of remote storage devices virtualized as extensible/flexible storages and NVMe namespace(s) via an NVMe controller during operation. First, the NVMe controller virtualizes and presents a set of remote storage devices to one or more VMs running on a host attached to the NVMe controller as logical volumes in the NVMe namespace(s) so that each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: November 14, 2017
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
  • Publication number: 20170322886
    Abstract: Managing memory access requests for a plurality of processor cores includes: storing admission control information for determining whether or not to admit a predetermined type of memory access request into a shared resource that is shared among the processor cores and includes one or more cache levels of a hierarchical cache system and at least one memory controller for accessing a main memory; determining whether or not a memory access request of the predetermined type made on behalf of a first processor core should be admitted into the shared resource based at least in part on the stored admission control information; and updating the admission control information based on a latency of a response to a particular memory access request admitted into the shared resource, where the updating depends on whether the response originated from a particular cache level included in the shared resource or from the main memory.
    Type: Application
    Filed: July 28, 2016
    Publication date: November 9, 2017
    Inventors: Shubhendu Sekhar Mukherjee, Michael Bertone, David Albert Carlson, Richard Eugene Kessler, Wilson Snyder
  • Patent number: 9811467
    Abstract: A method and a system embodying the method for pre-fetching and processing work for processor cores in a network processor, comprising requesting pre-fetch work by a requestor; determining that the work may be pre-fetched for the requestor; searching for the work to pre-fetch; and pre-fetching the found work into one of one or more pre-fetch work-slots associated with the requestor is disclosed.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: November 7, 2017
    Assignee: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala
  • Publication number: 20170228173
    Abstract: A new approach is proposed that contemplates systems and methods to support mapping/importing remote storage devices as NVMe namespace(s) via an NVMe controller using a storage network protocol and utilizing one or more storage devices locally coupled to the NVMe controller as caches for fast access to the mapped remote storage devices. The NVMe controller exports and presents the NVMe namespace(s) of the remote storage devices to one or more VMs running on a host attached to the NVMe controller. Each of the VMs running on the host can then perform read/write operations on the logical volumes. During a write operation, data to be written to the remote storage devices by the VMs is stored in the locally coupled storage devices first before being transmitted over the network. The locally coupled storage devices may also cache data intelligently pre-fetched from the remote storage devices based on reading patterns and/or pre-configured policies of the VMs in anticipation of read operations.
    Type: Application
    Filed: June 27, 2014
    Publication date: August 10, 2017
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Patent number: 9729320
    Abstract: A semiconductor includes a set of protected hardware resources, where at least one protected hardware resource stores a secure key. The semiconductor also includes a computation kernel and a memory to store a resource enablement module executed by the computation kernel. The resource enablement module selectively enables a protected hardware resource in response to a delivered key corresponding to the secure key.
    Type: Grant
    Filed: February 24, 2015
    Date of Patent: August 8, 2017
    Assignee: Cavium, Inc.
    Inventors: Amer Haider, Muhammad Raghib Hussain, Richard Eugene Kessler
  • Patent number: 9684606
    Abstract: Managing a plurality of translation lookaside buffers (TLBs) includes: issuing, at a first processing element, a first instruction for invalidating one or more TLB entries associated with a first context in a first TLB associated with the first processing element. The issuing includes: determining whether or not a state of an indicator indicates that all TLB entries associated with the first context in a second TLB associated with a second processing element are invalidated; if not: sending a corresponding instruction to the second processing element, causing invalidation of all TLB entries associated with the first context in the second TLB, and changing a state of the indicator; and if so: suppressing sending of any corresponding instructions for causing invalidation of any TLB entries associated with the first context in the second TLB to the second processing element.
    Type: Grant
    Filed: November 14, 2014
    Date of Patent: June 20, 2017
    Assignee: CAVIUM, INC.
    Inventors: Richard Eugene Kessler, Shubhendu Sekhar Mukherjee, Mike Bertone
  • Patent number: 9571412
    Abstract: A new approach is proposed to support a virtual network switch, which is a software implementation of a network switch utilizing hardware to accelerate implementation of timers of the virtual network switch under OpenFlow protocol. The approach utilizes a plurality of hardware-implemented timer blocks/rings, wherein each of the rings covers a specified time period and has a plurality of timer buckets each corresponding to an interval of expiration time of timers. When a new flow table entry is programmed at an OpenFlow agent of the virtual network switch, its associated timer entries are created and inserted into the corresponding timer bucket based on the expiration time of the timers. During operation, hardware of the virtual network switch traverses the timer rings for the timer bucket which time has expired, identifies timer entries in the expired timer bucket, interrupts CPU or provides a notification to the agent with necessary contextual information.
    Type: Grant
    Filed: April 8, 2015
    Date of Patent: February 14, 2017
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Richard Eugene Kessler
  • Publication number: 20170003905
    Abstract: A method for managing an observed order of instructions in a computing system includes utilizing an overloaded memory barrier instruction to specify whether a global ordering constraint or a local ordering constraint is enforced.
    Type: Application
    Filed: August 31, 2015
    Publication date: January 5, 2017
    Inventors: Shubhendu Sekhar Mukherjee, Richard Eugene Kessler, Mike Bertone, Chris Comis, Bryan Chin
  • Patent number: 9529773
    Abstract: A new approach is proposed that contemplates systems and methods to support elastic (extensible/flexible) storage access in real time by mapping a plurality of remote storage devices that are accessible over a network fabric as logical namespace(s) via a logical storage controller using a multitude of access mechanisms and storage network protocols. The logical storage controller exports and presents the remote storage devices to one or more VMs running on a host of the logical storage controller as the logical namespace(s), wherein these remote storage devices appear virtually as one or more logical volumes of a collection of logical blocks in the logical namespace(s) to the VMs. As a result, each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices via the logical namespace(s).
    Type: Grant
    Filed: February 11, 2016
    Date of Patent: December 27, 2016
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
  • Patent number: 9501245
    Abstract: A new approach is proposed that contemplates systems and methods to virtualize a physical NVMe controller associated with a computing device or host so that every virtual machine running on the host can have its own dedicated virtual NVMe controller. First, a plurality of virtual NVMe controllers are created on a single physical NVMe controller, which is associated with one or more storage devices. Once created, the plurality of virtual NVMe controllers are provided to VMs running on the host in place of the single physical NVMe controller attached to the host, and each of the virtual NVMe controllers organizes the storage units to be accessed by its corresponding VM as a logical volume. As a result, each of the VMs running on the host has its own namespace(s) and can access its storage devices directly through its own virtual NVMe controller.
    Type: Grant
    Filed: May 16, 2014
    Date of Patent: November 22, 2016
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
  • Patent number: 9491099
    Abstract: A method and a system embodying the method for information lookup request processing at a look-aside processor unit entailing storing a received lookup transaction request in a first buffer; rebuilding the lookup transaction request into a request packet; transmitting the request packet; receiving a packet; determining whether the received packet is a response packet or an exception packet; and processing the received packet in accordance with the determining is disclosed. Furthermore, a method and a system embodying the method for exception packet processing at a look-aside processor unit entailing storing at least one received lookup transaction request in a first buffer; receiving a packet; determining that the received packet is an exception packet; and associating the exception packet with one of the at least one stored lookup transaction request in accordance with an identifier of the first buffer is disclosed.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: November 8, 2016
    Assignee: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Steven Craig Barner, Richard Eugene Kessler
  • Publication number: 20160267209
    Abstract: A system includes a formal verification engine running on a host and a protocol checking engine. The formal verification engine automatically generates and formally verifies a reference specification that includes a plurality of extended state tables for an integrated circuit (IC) design protocol of a chip at architectural level. The formal verification engine is further configured to automatically generate a plurality of self-contained services from the plurality of extended state tables. A self-contained service of the plurality of self-contained services is randomly and atomically executable. The self-contained service of the plurality of self-contained services changes responsive to the IC design protocol changing. The protocol checking engine checks and validates completeness and correctness of the self-contained service of the reference specification.
    Type: Application
    Filed: March 9, 2016
    Publication date: September 15, 2016
    Inventors: Shahid Ikram, Isam Akkawi, Richard Eugene Kessler, James Ellis, David Asher
  • Patent number: 9430268
    Abstract: A new approach is proposed virtual machines (VMs) accessing remote storage devices over a network via non-volatile memory express (NVMe) controllers to migrate live from a current host to a destination host. A first virtual NVMe controller running on a first physical NVMe controller enables a first VM running on the current host to perform storage operations to logical volumes mapped to the remote storage devices over the network as if they were local storage volumes. During VM migration, the current host puts the first virtual NVMe controller into quiesce state and saves an image of its states. A second virtual NVMe controller is created on a second physical NVMe controller using the saved image, which is configured to serve a second VM on the destination host. The second virtual NVMe controller resumes the storage operations to the remote storage devices without being interrupted by the VM migration.
    Type: Grant
    Filed: November 10, 2014
    Date of Patent: August 30, 2016
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
  • Publication number: 20160162438
    Abstract: A new approach is proposed that contemplates systems and methods to support elastic (extensible/flexible) storage access in real time by mapping a plurality of remote storage devices that are accessible over a network fabric as logical namespace(s) via a logic storage controller using a multitude of access mechanisms and storage network protocols. The logical storage controller exports and presents the remote storage devices to one or more VMs running on a host of the logical storage controller as the logical namespace(s), wherein these remote storage devices appear virtually as one or more logical volumes of a collection of logical blocks in the logical namespace(s) to the VMs. As a result, each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices via the logical namespace(s).
    Type: Application
    Filed: February 11, 2016
    Publication date: June 9, 2016
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20160164796
    Abstract: A new approach is proposed that contemplates systems and methods to support hardware-based Quality of Service (QoS) operations, which offloads metering functionalities under OpenFlow protocol to a programmable hardware unit/block/component. The hardware unit supports several hardware implemented ports and each port supports multiple configurable queues for the packet flows through a network switch/chip/system. Specifically, the hardware unit includes a plurality of descriptor queues (DQs) configured to accept requests to send a plurality of packets from one or more CPU cores, and a plurality of condition and schedule modules configured to meter, schedule, and condition the packets through a hierarchy of scheduling queues under one or more metering constraints.
    Type: Application
    Filed: November 12, 2015
    Publication date: June 9, 2016
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Richard Eugene KESSLER
  • Publication number: 20160149819
    Abstract: A new approach is proposed to support a virtual network switch, which is a software implementation of a network switch utilizing hardware to accelerate implementation of timers of the virtual network switch under OpenFlow protocol. The approach utilizes a plurality of hardware-implemented timer blocks/rings, wherein each of the rings covers a specified time period and has a plurality of timer buckets each corresponding to an interval of expiration time of timers. When a new flow table entry is programmed at an OpenFlow agent of the virtual network switch, its associated timer entries are created and inserted into the corresponding timer bucket based on the expiration time of the timers. During operation, hardware of the virtual network switch traverses the timer rings for the timer bucket which time has expired, identifies timer entries in the expired timer bucket, interrupts CPU or provides a notification to the agent with necessary contextual information.
    Type: Application
    Filed: April 8, 2015
    Publication date: May 26, 2016
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Richard Eugene KESSLER
  • Publication number: 20160140051
    Abstract: Managing a plurality of translation lookaside buffers (TLBs) includes: issuing, at a first processing element, a first instruction for invalidating one or more TLB entries associated with a first context in a first TLB associated with the first processing element. The issuing includes: determining whether or not a state of an indicator indicates that all TLB entries associated with the first context in a second TLB associated with a second processing element are invalidated; if not: sending a corresponding instruction to the second processing element, causing invalidation of all TLB entries associated with the first context in the second TLB, and changing a state of the indicator; and if so: suppressing sending of any corresponding instructions for causing invalidation of any TLB entries associated with the first context in the second TLB to the second processing element.
    Type: Application
    Filed: November 14, 2014
    Publication date: May 19, 2016
    Inventors: Richard Eugene Kessler, Shubhendu Sekhar Mukherjee, Mike Bertone
  • Patent number: 9294567
    Abstract: A new approach is proposed that contemplates systems and methods to support extensible/flexible storage access in real time by virtualizing a plurality of remote storage devices as NVMe namespace(s) via an NVMe controller using a storage network protocol. The NVMe controller exports and presents the remote storage devices to one or more VMs running on a host attached to the NVMe controller as the NVMe namespace(s), wherein these remote storage devices appear virtually as one or more logical volumes of a collection of logical blocks in the NVMe namespace(s) to the VMs. As a result, each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices via the NVMe namespace(s).
    Type: Grant
    Filed: June 10, 2014
    Date of Patent: March 22, 2016
    Assignee: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Manojkumar Panicker, Faisal Masood, Brian Folsom, Richard Eugene Kessler
  • Publication number: 20160077740
    Abstract: A new approach is proposed that contemplates systems and methods to support mapping/importing remote storage devices as NVMe namespace(s) via an NVMe controller using a storage network protocol and utilizing one or more storage devices locally coupled to the NVMe controller as caches for fast access to the mapped remote storage devices. The NVMe controller exports and presents the NVMe namespace(s) of the remote storage devices to one or more VMs running on a host attached to the NVMe controller. Each of the VMs running on the host can then perform read/write operations on the logical volumes. During a write operation, data to be written to the remote storage devices by the VMs is stored in the locally coupled storage devices first before being transmitted over the network. The locally coupled storage devices may also cache data intelligently pre-fetched from the remote storage devices based on reading patterns and/or pre-configured policies of the VMs in anticipation of read operations.
    Type: Application
    Filed: November 13, 2015
    Publication date: March 17, 2016
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER