Patents by Inventor Luke Matthews

Luke Matthews 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: 7337444
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Grant
    Filed: January 9, 2003
    Date of Patent: February 26, 2008
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Patent number: 7117354
    Abstract: A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system call passing the old process and/or thread identifications as parameters, the system performs a mapping algorithm to supply the system call with the new process and/or thread identifications. When a system call returns a new identification, the system performs a remapping algorithm to return the old identifications to the calling application program. When a group of process is restarted for which the process group leader was not checkpointed, the system creates a ghost process group leader.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: October 3, 2006
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 6993767
    Abstract: An apparatus and methods for periodic load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: May 30, 2003
    Date of Patent: January 31, 2006
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6986140
    Abstract: An apparatus and methods for periodic load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: May 30, 2003
    Date of Patent: January 10, 2006
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6981243
    Abstract: A method and apparatus allow a programmer to repeatedly debug a program from the same starting point. The entire process state of the process can be saved at any time in the course of a debugging session to a disk file, called the checkpoint file. Now registers or memory may be modified, if necessary, and the program may be brought back to the same starting point where the state had been previously saved by resuming from the checkpoint file. The method and apparatus allow the state of all the programs to be saved multiple times and resumed from any one of those states. The debugging of a problem is considerably facilitated by not having to start from scratch to debug the problem as the last saved state of the program can be used to start the debugging.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Kenneth Bernard Rozendal, Suresh Eswara Warrier
  • Patent number: 6931471
    Abstract: A computer system has physical pages of memory subject to access by input/output (“I/O”) devices, and a certain table with entries associating the physical pages with the I/O devices. Responsive to a request for data be moved from a first physical page to a second physical page, an entry is selected for the first physical page in the table. The selected entry indicates an association of the first physical page and one of the I/O devices. Arbitration is temporarily disabled for the selected I/O device so that I/O operations for the I/O device are temporarily disabled. Once arbitration is disabled for the device the data is moved from the first physical page to a second one of the physical pages and the entry is updated in the table to reflect a new association between the I/O device and the second physical page.
    Type: Grant
    Filed: April 4, 2002
    Date of Patent: August 16, 2005
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Luke Matthew Browning, Bruce Mealey, Steven Mark Thurber
  • Patent number: 6918023
    Abstract: A system, method, and computer program product are disclosed for invalidating specified pretranslations maintained in a data processing system which maintains decentralized copies of pretranslations. A centralized mapping of virtual addresses to their associated physical addresses is established. The centralized mapping includes a listing of pretranslations of the virtual addresses to their associated physical addresses. Multiple lists of pretranslations are generated. Control of the lists may be passed from one entity to another, such that the lists are not owned by any particular entity. Each one of the lists includes a copy of pretranslations for virtual addresses. A particular one of the physical addresses is specified. Each list that includes a pretranslation of a virtual address to the specified physical addresses is located. The pretranslation of the virtual address to the specified physical address is then invalidated within each one of the lists.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: July 12, 2005
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Bruce G. Mealey, Randal Craig Swanberg
  • Patent number: 6859926
    Abstract: An apparatus and method for performing workload management is provided. In particular, an apparatus and method for performing workload management using class shares and tiers is provided. In the apparatus and method, each process is associated with a particular class of workload. Each class has an associated number of shares representing the importance of the class relative to other classes. Each class, in turn, is associated with a particular tier of workload importance. Classes of processes compete with other classes of processes in their same tier for system resources based on the number of shares that they have. These shares are representative of the percentage of the system resource the process is provided relative to the other classes in the same tier. Classes in one tier compete with classes in other tiers for system resources based on the priority assigned to the tiers.
    Type: Grant
    Filed: September 14, 2000
    Date of Patent: February 22, 2005
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning, Kenneth Bernard Rozendal
  • Patent number: 6842809
    Abstract: An apparatus, method and computer program product for minimizing the negative effects that occur when simple locks are highly contended among processors which may or may not have identical latencies to the memory that represents a given lock, are provided. The apparatus, method and computer program product minimize these effects by converting simple locks such that they act as standard simple locks when there is no contention and act as krlocks when there is contention for a lock. In this way, the number of processors spinning on a lock is limited to a single processor, thereby reducing the number of processors that are in a wait state and not performing any useful work.
    Type: Grant
    Filed: April 12, 2001
    Date of Patent: January 11, 2005
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Thomas Stanley Mathews, Paul Edward McKenney, James Bernard Moody
  • Publication number: 20040139440
    Abstract: A method, apparatus, and computer instructions for executing a handler in a multi-threaded process handling a number of threads in a manner that avoids deadlocks. A value equal to the number of threads executing in the data processing system is set. The value is decremented each time a lock count for a thread within the number of threads is zero. A thread within the number of threads is suspended if the thread requests a lock and has a lock count of zero. A procedure, such as a handler, is executed in response to all of the threads within the number of threads having no locks.
    Type: Application
    Filed: January 9, 2003
    Publication date: July 15, 2004
    Applicant: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Suresh Eswara Warrier
  • Patent number: 6748593
    Abstract: Apparatus and methods for starvation load balancing using a global run queue in a multiple run queue system. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: February 17, 2000
    Date of Patent: June 8, 2004
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6735769
    Abstract: Apparatus and methods for initial load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: July 13, 2000
    Date of Patent: May 11, 2004
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning, Mysore Sathyanarayana Srinivas, James William VanFleet
  • Patent number: 6732138
    Abstract: A method and system are disclosed for managing access to system resources by a user process within a multitasking data processing system. The data processing system includes a processor for executing kernel threads scheduled to the processor and a memory having a user address space which stores an application program and a kernel address space which stores an operating system kernel. The operating system kernel includes a kernel process comprising one or more first kernel threads which can each access the system resources. The user address space also stores a user process which has ownership of the system resources. The user process includes a second kernel thread comprising instructions within the application program. To access certain system resources, the second kernel thread invokes a first kernel thread within the user process.
    Type: Grant
    Filed: July 26, 1995
    Date of Patent: May 4, 2004
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Jeffrey Scot Peek
  • Publication number: 20040064669
    Abstract: A system, method, and computer program product are disclosed for invalidating specified pretranslations maintained in a data processing system which maintains decentralized copies of pretranslations. A centralized mapping of virtual addresses to their associated physical addresses is established. The centralized mapping includes a listing of pretranslations of the virtual addresses to their associated physical addresses. Multiple lists of pretranslations are generated. Control of the lists may be passed from one entity to another, such that the lists are not owned by any particular entity. Each one of the lists includes a copy of pretranslations for virtual addresses. A particular one of the physical addresses is specified. Each list that includes a pretranslation of a virtual address to the specified physical addresses is located. The pretranslation of the virtual address to the specified physical address is then invalidated within each one of the lists.
    Type: Application
    Filed: September 30, 2002
    Publication date: April 1, 2004
    Applicant: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Bruce G. Mealey, Randal Craig Swanberg
  • Publication number: 20030225815
    Abstract: An apparatus and methods for periodic load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 4, 2003
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6658449
    Abstract: An apparatus and methods for periodic load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: February 17, 2000
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6654781
    Abstract: A method and implementing computer system is provided for the creation of large numbers of threads in a computer system. An exemplary embodiment supports up to sixteen segments in memory of thread private data for each process or application program running on the system. Each segment contains support for 2K threads. These segments are identified in process' user structure which is located in the process private data segment of memory allowing cleanup collection on a per-segment basis. The thread's private data is composed of two parts, viz. its private kernel thread stack (96K) and uthread data structure. The uthread contains the individual data fields that are referenced only by the thread, including the register save area for the thread.
    Type: Grant
    Filed: December 11, 1998
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventor: Luke Matthew Browning
  • Publication number: 20030212731
    Abstract: An apparatus and methods for periodic load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Application
    Filed: May 30, 2003
    Publication date: November 13, 2003
    Inventors: Larry Bert Brenner, Luke Matthew Browning
  • Patent number: 6633897
    Abstract: A method and system for establishing a priority order of threads executed within a multiprocessor data processing system are disclosed. The priority order of threads is maintained on a global queue within the data processing system and the queue is ordered by selecting a most favored runnable thread from among either a current thread, a favored thread, or an affinity thread. Once the thread is chosen, be it the current thread, the most favored thread, or the affinity thread, the chosen thread is removed from a run queue and then is run on the data processing system on a selected processor. An affinity thread pointer is updated to the thread being run to select the next affinity thread or the thread having the greatest affinity.
    Type: Grant
    Filed: June 30, 1995
    Date of Patent: October 14, 2003
    Assignee: International Business Machines Corporation
    Inventors: Luke Matthew Browning, Jeffrey Scott Peek
  • Publication number: 20030191794
    Abstract: Apparatus and methods for dispatching fixed priority threads using a global run queue in a multiple run queue system. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Application
    Filed: January 14, 2003
    Publication date: October 9, 2003
    Inventors: Larry Bert Brenner, Luke Matthew Browning, Bret Ronald Olszewski, Mysore Sathyanarayana Srinivas, James William VanFleet