Patents by Inventor Brent A. Kingsbury

Brent A. Kingsbury 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: 8560524
    Abstract: One embodiment is a server in a cluster storage system. The server includes a Global Lock Manager (GLM) that receives requests for lock priorities for transactions from local lock manager (LLMs) in the cluster storage system. The GLM prevents deadlocks in the cluster storage system by issuing groups of priorities for transactions to the LLMs.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: October 15, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Brent A. Kingsbury, Terence M Rokop
  • Publication number: 20100114849
    Abstract: One embodiment is a server in a cluster storage system. The server includes a Global Lock Manager (GLM) that receives requests for lock priorities for transactions from local lock manager (LLMs) in the cluster storage system. The GLM prevents deadlocks in the cluster storage system by issuing groups of priorities for transactions to the LLMs.
    Type: Application
    Filed: October 30, 2008
    Publication date: May 6, 2010
    Inventors: Brent A. Kingsbury, Terence M. Rokop
  • Patent number: 7472233
    Abstract: Methods for dynamically allocating memory in a multiprocessor computer system such as a non-uniform memory access (NUMA) machine having distributed shared memory. The methods include allocating memory by specified node, memory class, or memory pool in response to requests by the system (kernel memory allocation) or a user (application memory allocation). Through these methods memory is allocated more efficiently in a NUMA machine. For example, allocating memory on a specified node in a NUMA machine, such as the same node on which a process requiring the memory is running, reduces memory access time. Allocating memory from a specified memory class allows device drivers with restricted DMA ranges to operate with dynamically allocated memory. Other benefits of these methods include minimizing expensive remote-memory accesses using a distributed reference count mechanism and lock-free cache access.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: December 30, 2008
    Assignee: International Business Machines Corporation
    Inventors: Paul E. McKenney, Phillip E. Krueger, Stuart A. Friedberg, Brent A. Kingsbury
  • Patent number: 7467330
    Abstract: A system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block was updated by a first node; determining whether the block is associated with a lock held by a second node; and writing the block to a final location if the block is not associated with a lock held by the second node.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: December 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Brent A. Kingsbury, Sam Revitch, Terence M. Rokop
  • Patent number: 7437386
    Abstract: A system and method are disclosed for providing multi-node environment comprising a first node associated with a first operating system; a second node associated with a second operating system, wherein the second operating system is independent of the first operating system; a storage; and an interconnect coupling the first node with the storage and coupling the second node with the storage; and wherein the first node directly accesses the storage and the second node directly accesses the storage.
    Type: Grant
    Filed: September 20, 2002
    Date of Patent: October 14, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Michael J. Callahan, Corene Casper, Kenneth F. Dove, Brent A. Kingsbury, Phil E. Krueger, Terence M. Rokop, Michael J. Spitzer
  • Patent number: 7266722
    Abstract: A system and method are disclosed for providing a system and method for an efficient lock recovery. In one embodiment of the present invention, a multiple node networked system shares a resource such a shared storage. Among various other aspects of the present invention, when there is a change, such as a server failure, that prompts a recovery, the recovery can be performed in parallel among the nodes. A further aspect of an embodiment of the present invention includes recovering a lock with a higher level of exclusion prior to another lock with a lower level of exclusion.
    Type: Grant
    Filed: September 20, 2002
    Date of Patent: September 4, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Brent A. Kingsbury
  • Patent number: 7240057
    Abstract: A system and method are disclosed for providing journaling in a computer environment. An embodiment of the present invention comprises providing a first node and a second node; providing a journal wherein the journal is accessible by the first node and the second node; requesting a change in lock status by the first node; and executing a task by the second node in response to the request for the change in lock status by the first node.
    Type: Grant
    Filed: September 20, 2002
    Date of Patent: July 3, 2007
    Inventors: Brent A. Kingsbury, Sam Revitch, Terence M. Rokop
  • Publication number: 20070033436
    Abstract: A system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block was updated by a first node; determining whether the block is associated with a lock held by a second node; and writing the block to a final location if the block is not associated with a lock held by the second node.
    Type: Application
    Filed: August 4, 2006
    Publication date: February 8, 2007
    Inventors: Brent Kingsbury, Sam Revitch, Terence Rokop
  • Patent number: 7111197
    Abstract: A system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block was last updated by a first node; determining whether the block is associated with a lock held by a second node; and writing the block to a final location if the block is not associated with a lock held by the second node. In another embodiment, a system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block is associated with metadata; determining whether the block is associated with a lock held by a surviving node; and writing the block to a final location if the block is not associated with a lock held by the surviving node.
    Type: Grant
    Filed: September 20, 2002
    Date of Patent: September 19, 2006
    Assignee: PolyServe, Inc.
    Inventors: Brent A. Kingsbury, Sam Revitch, Terence M. Rokop
  • Publication number: 20050015640
    Abstract: A system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block was last updated by a first node; determining whether the block is associated with a lock held by a second node; and writing the block to a final location if the block is not associated with a lock held by the second node. In another embodiment, a system and method are disclosed for providing journal recovery in a multi-node environment which comprises determining whether a block is associated with metadata; determining whether the block is associated with a lock held by a surviving node; and writing the block to a final location if the block is not associated with a lock held by the surviving node.
    Type: Application
    Filed: September 20, 2002
    Publication date: January 20, 2005
    Inventors: Brent Kingsbury, Sam Revitch, Terence Rokop
  • Patent number: 6823511
    Abstract: A reader-writer lock minimizes writer and reader overhead by employing lock structures that are shared among groups of processors that have lower latencies. In the illustrated multiprocessor system having a non-uniform memory access (NUMA) architecture, each processor node has a lock structure comprised of a shared counter and associated flag for each CPU group. During a read, the counter can be changed only by processors within a CPU group performing a read. This reduces the reader overhead that otherwise would exist if all processors in the system shared a single counter. During a write, the shared flag can be changed by a process running on any processor in the system. The processors in a CPU group are notified of the write through the shared flag. This reduces the writer overhead that otherwise would exist if each processor in the system had a separate flag. The number of CPUs per group can be varied to optimize performance of the lock in different multiprocessor systems.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Paul E. McKenney, Brent Kingsbury
  • Publication number: 20040202013
    Abstract: A system and method are disclosed for accessing data in a multi-node system comprising providing a first node associated with a first operating system; providing a second node associated with a second operating system, wherein the second operating system is independent of the first operating system; providing a storage, wherein the first node directly accesses the storage and the second node directly accesses the storage; requesting a lock for a block by the first node to the second node; obtaining the lock from the second node; and obtaining the block the from the second node.
    Type: Application
    Filed: September 20, 2002
    Publication date: October 14, 2004
    Applicant: PolyServe, Inc.
    Inventors: Kenneth F. Dove, Brent A. Kingsbury, Sam Revitch, Terence M. Rokop
  • Publication number: 20040205304
    Abstract: Methods for dynamically allocating memory in a multiprocessor computer system such as a non-uniform memory access (NUMA) machine having distributed shared memory. The methods include allocating memory by specified node, memory class, or memory pool in response to requests by the system (kernel memory allocation) or a user (application memory allocation). Through these methods memory is allocated more efficiently in a NUMA machine. For example, allocating memory on a specified node in a NUMA machine, such as the same node on which a process requiring the memory is running, reduces memory access time. Allocating memory from a specified memory class allows device drivers with restricted DMA ranges to operate with dynamically allocated memory. Other benefits of these methods include minimizing expensive remote-memory accesses using a distributed reference count mechanism and lock-free cache access.
    Type: Application
    Filed: April 30, 2004
    Publication date: October 14, 2004
    Inventors: Paul E. McKenney, Phillip E. Krueger, Stuart A. Friedberg, Brent A. Kingsbury
  • Patent number: 6785888
    Abstract: Methods for dynamically allocating memory in a multiprocessor computer system such as a non-uniform memory access (NUMA) machine having distributed shared memory. The methods include allocating memory by specified node, memory class, or memory pool in response to requests by the system (kernel memory allocation) or a user (application memory allocation). Through these methods memory is allocated more efficiently in a NUMA machine. For example, allocating memory on a specified node in a NUMA machine, such as the same node on which a process requiring the memory is running, reduces memory access time. Allocating memory from a specified memory class allows device drivers with restricted DMA ranges to operate with dynamically allocated memory. Other benefits of these methods include minimizing expensive remote-memory accesses using a distributed reference count mechanism and lock-free cache access.
    Type: Grant
    Filed: February 24, 1998
    Date of Patent: August 31, 2004
    Assignee: International Business Machines Corporation
    Inventors: Paul E. McKenney, Phillip E. Krueger, Stuart A. Friedberg, Brent A. Kingsbury
  • Patent number: 6629152
    Abstract: A lock-free mechanism is provided for successfully passing messages between processes even if a process is preempted while sending or receiving a message. Messages are communicated between processes using a mailbox data structure stored in memory shared by the processes, without the use of locks or other mutual exclusion entities that would otherwise limit concurrent delivery and receipt of messages placed in the data structure. The data structure in the illustrative embodiment includes one or more message slots for storing messages placed in the data structure and a number of state variables for inserting messages into and removing messages from the message slots. A process sends or retrieves messages by manipulating the state variables using indivisible atomic operations. This ensures that a process cannot be preempted from message passing until it finishes executing the atomic instruction.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: September 30, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brent A. Kingsbury, Jean-Marie Christian Sulmont, Paul E. McKenney
  • Publication number: 20030079155
    Abstract: A system and method are disclosed for providing a system and method for an efficient lock recovery. In one embodiment of the present invention, a multiple node networked system shares a resource such a shared storage. Among various other aspects of the present invention, when there is a change, such as a server failure, that prompts a recovery, the recovery can be performed in parallel among the nodes. A further aspect of an embodiment of the present invention includes recovering a lock with a higher level of exclusion prior to another lock with a lower level of exclusion.
    Type: Application
    Filed: September 20, 2002
    Publication date: April 24, 2003
    Applicant: PolyServe, Inc.
    Inventor: Brent A. Kingsbury
  • Publication number: 20030065672
    Abstract: A system and method are disclosed for providing journaling in a computer environment. An embodiment of the present invention comprises providing a first node and a second node; providing a journal wherein the journal is accessible by the first node and the second node; requesting a change in lock status by the first node; and executing a task by the second node in response to the request for the change in lock status by the first node.
    Type: Application
    Filed: September 20, 2002
    Publication date: April 3, 2003
    Applicant: PolyServe, Inc.
    Inventors: Brent A. Kingsbury, Sam Revitch, Terence M. Rokop
  • Publication number: 20030065686
    Abstract: A system and method are disclosed for providing multi-node environment comprising a first node associated with a first operating system; a second node associated with a second operating system, wherein the second operating system is independent of the first operating system; a storage; and an interconnect coupling the first node with the storage and coupling the second node with the storage; and wherein the first node directly accesses the storage and the second node directly accesses the storage.
    Type: Application
    Filed: September 20, 2002
    Publication date: April 3, 2003
    Applicant: PolyServe, Inc.
    Inventors: Michael J. Callahan, Corene Casper, Kenneth F. Dove, Brent A. Kingsbury, Phil E. Krueger, Terence M. Rokop, Michael J. Spitzer
  • Publication number: 20030061395
    Abstract: A lock-free mechanism is provided for successfully passing messages between processes even if a process is preempted while sending or receiving a message. Messages are communicated between processes using a mailbox data structure stored in memory shared by the processes, without the use of locks or other mutual exclusion entities that would otherwise limit concurrent delivery and receipt of messages placed in the data structure. The data structure in the illustrative embodiment includes one or more message slots for storing messages placed in the data structure and a number of state variables for inserting messages into and removing messages from the message slots. A process sends or retrieves messages by manipulating the state variables using indivisible atomic operations. This ensures that a process cannot be preempted from message passing until it finishes executing the atomic instruction.
    Type: Application
    Filed: June 29, 1998
    Publication date: March 27, 2003
    Inventors: BRENT A. KINGSBURY, JEAN-MARIE CHRISTIAN SULMONT, PAUL E. MCKENNEY
  • Patent number: 6505286
    Abstract: A method for a user process to specify a policy for allocating pages of physical memory on the nodes of a multinode multiprocessor computer system. Through means such as a system call, an application program can specify to the operating system that physical pages of memory for an application-specified portion of virtual address space are to be physically allocated upon a specified set of nodes, subject to the additional selection criteria that the pages are to be allocated at first reference upon: 1) the node upon which the reference first occurs; 2) the node which has the most free memory, or 3) that the pages should be evenly distributed across the indicated set of nodes. In effect, the operating system remembers the specified allocation policy and node set from which the physical pages can be subsequently allocated as established by a system call. Subsequent use of the virtual address space for which the allocation policy is defined results in the memory being allocated accordingly.
    Type: Grant
    Filed: September 22, 2000
    Date of Patent: January 7, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brent A. Kingsbury, Corene Casper, Phillip E. Krueger, Paul E. McKenney