Patents by Inventor Richard E. Kessler

Richard E. 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).

  • Publication number: 20100023626
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Application
    Filed: October 6, 2009
    Publication date: January 28, 2010
    Applicant: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7613813
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: November 3, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7606998
    Abstract: A method and apparatus for minimizing stalls in a pipelined processor is provided. Instructions in an out-of-order instruction scheduler are executed in order without stalling the pipeline by sending store data to external memory through an ordering queue.
    Type: Grant
    Filed: November 30, 2004
    Date of Patent: October 20, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: David H. Asher, Richard E. Kessler, Yen Lee
  • Patent number: 7594081
    Abstract: A content aware application processing system is provided for allowing directed access to data stored in a non-cache memory thereby bypassing cache coherent memory. The processor includes a system interface to cache coherent memory and a low latency memory interface to a non-cache coherent memory. The system interface directs memory access for ordinary load/store instructions executed by the processor to the cache coherent memory. The low latency memory interface directs memory access for non-ordinary load/store instructions executed by the processor to the non-cache memory, thereby bypassing the cache coherent memory. The non-ordinary load/store instruction can be a coprocessor instruction. The memory can be a low-latency type memory. The processor can include a plurality of processor cores.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: September 22, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20090217054
    Abstract: In an embodiment, authenticated hardware and authenticated software are cryptographically binded using symmetric and asymmetric cryptography. Cryptographically binding the hardware and software ensures that original equipment manufacturer (OEM) hardware will only run OEM software. Cryptographically binding the hardware and software protects the OEM binary code so it will only run on the OEM hardware and cannot be replicated or altered to operate on unauthorized hardware. This cryptographic binding technique is referred to herein as secure software and hardware association (SSHA).
    Type: Application
    Filed: February 24, 2009
    Publication date: August 27, 2009
    Applicant: Cavium Networks, Inc.
    Inventors: Amer Haider, Muhammad R. Hussain, Richard E. Kessler, Imran Badr
  • Patent number: 7558925
    Abstract: Methods and apparatus are provided for selectively replicating a data structure in a low-latency memory. The memory includes multiple individual memory banks configured to store replicated copies of the same data structure. Upon receiving a request to access the stored data structure, a low-latency memory access controller selects one of the memory banks, then accesses the stored data from the selected memory bank. Selection of a memory bank can be accomplished using a thermometer technique comparing the relative availability of the different memory banks. Exemplary data structures that benefit from the resulting efficiencies include deterministic finite automata (DFA) graphs and other data structures that are loaded (i.e., read) more often than they are stored (i.e., written).
    Type: Grant
    Filed: January 18, 2006
    Date of Patent: July 7, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler
  • Patent number: 7535907
    Abstract: A network transport layer accelerator accelerates processing of packets so that packets can be forwarded at wire-speed. To accelerate processing of packets, the accelerator performs pre-processing on a network transport layer header encapsulated in a packet for a connection and performs in-line network transport layer checksum insertion prior to transmitting a packet. A timer unit in the accelerator schedules processing of the received packets. The accelerator also includes a free pool allocator which manages buffers for storing the received packets and a packet order unit which synchronizes processing of received packets for a same connection.
    Type: Grant
    Filed: September 2, 2005
    Date of Patent: May 19, 2009
    Assignee: Oavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Imran Badr, Faisal Masood, Philip H. Dickinson, Richard E. Kessler, Daniel A. Katz, Michael S. Bertone, Robert A. Sanzone, Thomas F. Hummel, Gregg A. Bouchard
  • Patent number: 7398386
    Abstract: A method and apparatus for transparent processing of IPsec network traffic by a security processor in line between a framer and a network processor. Security processor parses packet header and tail information to determine if encryption or decryption is required. After encryption or decryption is completed packet header and tail information is modified to reflect the changes in the packet such as length of the packet. The modified packet is then passed on to the network processor or framer.
    Type: Grant
    Filed: April 12, 2003
    Date of Patent: July 8, 2008
    Assignee: Cavium Networks, Inc.
    Inventors: Richard E. Kessler, Muhammad R. Hussain
  • Patent number: 7305567
    Abstract: In one embodiment, an apparatus comprises a microcontroller unit to store instructions into an execution queue. The apparatus also comprises an execution queue unit to generate a widely decoded functional execution instruction based on at least one instruction stored in the execution queue. Additionally, the apparatus comprises a functional unit to execute the widely decoded functional execution instruction asynchronous to the generation of the widely decoded functional execution instruction.
    Type: Grant
    Filed: September 4, 2002
    Date of Patent: December 4, 2007
    Assignee: Cavium Networks, In.
    Inventors: Muhammad Raghib Hussain, Richard E. Kessler
  • Patent number: 7240203
    Abstract: A method and apparatus for processing security operations are described. In one embodiment, a processor includes a number of execution units to process a number of requests for security operations. The number of execution units are to output the results of the number of requests to a number of output data structures associated with the number of requests within a remote memory based on pointers stored in the number of requests. The number of execution units can output the results in an order that is different from the order of the requests in a request queue. The processor also includes a request unit coupled to the number of execution units. The request unit is to retrieve a portion of the number of requests from the request queue within the remote memory and associated input data structures for the portion of the number of requests from the remote memory.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: July 3, 2007
    Assignee: Cavium Networks, Inc.
    Inventors: Richard E. Kessler, David A. Carlson, Muhammad Raghib Hussain, Robert A. Sanzone, Khaja E. Ahmed, Michael D. Varga
  • Patent number: 7213087
    Abstract: A method and apparatus for ensuring fair and efficient use of a shared memory buffer. A preferred embodiment comprises a shared memory buffer in a multi-processor computer system. Memory requests from a local processor are delivered to a local memory controller by a cache control unit and memory requests from other processors are delivered to the memory controller by an interprocessor router. The memory controller allocates the memory requests in a shared buffer using a credit-based allocation scheme. The cache control unit and the interprocessor router are each assigned a number of credits. Each must pay a credit to the memory controller when a request is allocated to the shared buffer. If the number of filled spaces in the shared buffer is below a threshold, the buffer immediately returns the credits to the source from which the credit and memory request arrived.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: May 1, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Michael S. Bertone, Richard E. Kessler, David H. Asher, Steve Lang
  • Patent number: 7209531
    Abstract: A deskew circuit utilizing a coarse delay adjustment and fine delay adjustment centers the received data in a proper data window and aligns the data for proper sampling. In one scheme, bit state transitions of a training sequence for SPI-4 protocol is used to adjust delays to align the transition points.
    Type: Grant
    Filed: March 26, 2003
    Date of Patent: April 24, 2007
    Assignee: Cavium Networks, Inc.
    Inventors: Daniel A. Katz, Richard E. Kessler, Thucydides Xanthopoulos
  • Patent number: 7152191
    Abstract: A multi-processor computer system permits various types of partitions to be implemented to contain and isolate hardware failures. The various types of partitions include hard, semi-hard, firm, and soft partitions. Each partition can include one or more processors. Upon detecting a failure associated with a processor, the connection to adjacent processors in the system can be severed, thereby precluding corrupted data from contaminating the rest of the system. If an inter-processor connection is severed, message traffic in the system can become congested as messages become backed up in other processors. Accordingly, each processor includes various timers to monitor for traffic congestion that may be due to a severed connection. Rather than letting the processor continue to wait to be able to transmit its messages, the timers will expire at preprogrammed time periods and the processor will take appropriate action, such as simply dropping queued messages, to keep the system from locking up.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: December 19, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Peter J. Bannon, Kourosh Gharachorloo, Thukalan V. Verghese
  • Patent number: 7099913
    Abstract: A system and method is disclosed that reduces the latency of directory updates in a directory based Distributed Shared Memory computer system by speculating the next directory state. The distributed multiprocessing computer system contains a number of processor nodes each connected to main memory. Each main memory may store data that is shared between the processor nodes. A Home processor node for a memory block includes the original data block and a coherence directory for the data block in its main memory. An Owner processor node includes a copy of the original data block in its associated main memory, the copy of the data block residing exclusively in the main memory of the Owner processor node. A Requestor processor node may encounter a read or write miss of the original data block and request the data block from the Home processor node.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: August 29, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Michael S. Bertone, Richard E. Kessler
  • Patent number: 7100096
    Abstract: A multi-processor system in which each processor receives a message from another processor in the system. The message may contain corrupted data that was corrupted during transmission from the preceding processor. Upon receiving the message, the processor detects that a portion of the message contains corrupted data. The processor then replaces the corrupted portion with a predetermined bit pattern known or otherwise programmed into all other processors in the system. The predetermined bit pattern indicates that the associated portion of data was corrupted. The processor that detects the error in the message preferably alerts the system that an error has been detected. The message now containing the predetermined bit pattern in place of the corrupted data is retransmitted to another processor. The predetermined bit pattern will indicate that an error in the message was detected by the previous processor.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: August 29, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: David Arthur James Webb, Jr., Richard E. Kessler, Steve Lang
  • Patent number: 7076597
    Abstract: A directory-based multiprocessor cache control scheme for distributing invalidate messages to change the state of shared data in a computer system. The plurality of processors are grouped into a plurality of clusters. A directory controller tracks copies of shared data sent to processors in the clusters. Upon receiving an exclusive request from a processor requesting permission to modify a shared copy of the data, the directory controller generates invalidate messages requesting that other processors sharing the same data invalidate that data. These invalidate messages are sent via a point-to-point transmission only to master processors in clusters actually containing a shared copy of the data. Upon receiving the invalidate message, the master processors broadcast the invalidate message in an ordered fan-in/fan-out process to each processor in the cluster.
    Type: Grant
    Filed: October 14, 2003
    Date of Patent: July 11, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: David A. J. Webb, Jr., Richard E. Kessler, Steve Lang, Aaron T. Spink
  • Patent number: 7031869
    Abstract: A system is disclosed in which an on-chip logic analyzer (OCLA) includes timestamp logic capable of providing clock cycle resolution of data entries using a relatively small number of bits. The timestamp logic includes a counter that is reset each time a store operation occurs. The counter counts the number of clock cycles since the previous store operation, and if enabled by the user, provides a binary signal to the memory that indicates the number of clock cycles since the previous store operation, which the memory stores with the state data. If the counter overflows before a store operation is requested, the timestamp logic may force a store operation so that the time between stores can be determined.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: April 18, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Timothe Litt, Richard E. Kessler, Thomas Hummel
  • Patent number: 7024533
    Abstract: A computer system has a memory controller that includes read buffers coupled to a plurality of memory channels. The memory controller advantageously eliminates the inter-channel skew caused by memory modules being located at different distances from the memory controller. The memory controller preferably includes a channel interface and synchronization logic circuit for each memory channel. This circuit includes read and write buffers and load and unload pointers for the read buffer. Unload pointer logic generates the unload pointer and load pointer logic generates the load pointer. The pointers preferably are free-running pointers that increment in accordance with two different clock signals. The load pointer increments in accordance with a clock generated by the memory controller but that has been routed out to and back from the memory modules.
    Type: Grant
    Filed: May 20, 2003
    Date of Patent: April 4, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Peter J. Bannon, Maurice B. Steinman, Scott E. Breach, Allen J. Baum, Gregg A. Bouchard
  • Patent number: 6961781
    Abstract: A system and method is disclosed for reducing network message passing latency in a distributed multiprocessing computer system that contains a plurality of microprocessors in a computer network, each microprocessor including router logic to route message packets prioritized in importance by the type of message packet, age of the message packet, and the source of the message packet. The microprocessors each include a plurality of network input ports connected to corresponding local arbiters in the router. The local arbiters are each able to select a message packet from the message packets waiting at the associated network input port. Microprocessor input ports and microprocessor output ports in the microprocessor allow the exchange of message packets between hardware functional units in the microprocessor and between the microprocessors. The microprocessor input ports are similarly each coupled to corresponding local arbiters in the router.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: November 1, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shubhendu S. Mukherjee, Richard E. Kessler, Steve Lang, David A. J. Webb, Jr.
  • Patent number: 6920512
    Abstract: An efficient system and method for managing reads and writes on a bi-directional bus to optimize bus performance while avoiding bus contention and avoiding read/write starvation. In particular, by intelligently managing reads and writes on a bi-directional bus, bus latency can be reduced while still ensuring no bus contention or read/write starvation. This is accomplished by utilizing bus streaming control logic, separate queues for reads and writes, and a simple 2 to 1 mux.
    Type: Grant
    Filed: February 17, 2004
    Date of Patent: July 19, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Maurice B. Steinman, Richard E. Kessler, Gregg A. Bouchard