Patents by Inventor Joel Schopp

Joel Schopp 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: 20070214198
    Abstract: Provided are a method, system, and article of manufacture for allowing state restoration using differential backing objects. A base image comprising operating system files, configuration files, and device driver files installed on a plurality of clients is accessed. Differential backing objects for the clients are generated indicating differences between local images on the clients following installation of the base image. Applying one of the differential backing objects to the base image forms one of the local images at one of the clients at a point-in-time of when the differential backing object was created. The differential backing objects from the clients are stored in the storage.
    Type: Application
    Filed: March 10, 2006
    Publication date: September 13, 2007
    Inventors: Nathan Fontenot, Joel Schopp, Michael Strosaker, Brad Peters
  • Publication number: 20070136341
    Abstract: Method for balancing a binary search tree. A computer implemented method for balancing a binary search tree includes locating a node in a binary search tree, determining whether a depth of the located node is greater than a threshold, and performing balancing operations. If the depth of the located node is greater than the threshold, the balancing operations may include a modified semi-splay balancing procedure. Regardless of depth, localized balancing operations may be performed while locating a node.
    Type: Application
    Filed: December 13, 2005
    Publication date: June 14, 2007
    Inventor: Joel Schopp
  • Publication number: 20060085368
    Abstract: Methods, systems, and media are disclosed for autonomic system tuning of simultaneous multithreading (“SMT”). In one embodiment, the method for autonomic tuning of at least one SMT setting for an optimized processing, such as via throughput, latency, and power consumption, of a workload on a computer system includes calling, by a kernel, an SMT scheduler having at least one hook into a genetic library. Further, the method includes obtaining, by the SMT scheduler through the at least one hook, genetic data from the genetic library for the optimized processing of the workload. Further still, the method includes tuning, by the SMT scheduler and based on the obtaining, the at least one SMT setting for at least one cpu of the computer system.
    Type: Application
    Filed: October 14, 2004
    Publication date: April 20, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jacob Moilanen, Joel Schopp
  • Publication number: 20050081204
    Abstract: A method for managing a mutex in a data processing system is presented. For each mutex, a count is maintained of the number of threads that are spinning while waiting to acquire a mutex. If a thread attempts to acquire a locked mutex, then the thread enters a spin state or a sleep state based on restrictive conditions and the number of threads that are spinning during the attempted acquisition. In addition, the relative length of time that is required by a thread to spin on a mutex after already sleeping on the mutex may be used to regulate the number of threads that are allowed to spin on the mutex.
    Type: Application
    Filed: September 25, 2003
    Publication date: April 14, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Joel Schopp
  • Publication number: 20050080963
    Abstract: A method for managing a mutex in a data processing system is presented. For each mutex, an average acquisition cost is maintained that indicates an average consumption of computational resources that has been incurred by threads attempting to acquire the mutex. If a thread attempts to acquire a locked mutex, then the thread enters a spin state or a sleep state based on restrictive conditions and the average acquisition cost value for the mutex at that time. A thread-specific current acquisition cost value is maintained that represents the consumption of computational resources by the thread after the initial attempt to acquire the mutex and prior to acquiring the mutex. When the thread acquires the mutex, the thread-specific current acquisition cost value is included into the average acquisition cost value.
    Type: Application
    Filed: September 25, 2003
    Publication date: April 14, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Joel Schopp
  • Publication number: 20050076179
    Abstract: A method, apparatus, and computer instructions for assigning processors to partitions in a multi-processor data processing system. Optimal allocation sets are generated for unallocated processors in the multi-processor data processing system for a cache level. Each set includes an allocation of unallocated processors to at least one partition. A determination is made as whether a set in the optimal allocation sets match requirements for a set of partitions selected for the data processing system. In response to a match existing, processors in the set are removed from the unallocated processors, wherein cache usage by the processors is optimized for the cache level.
    Type: Application
    Filed: October 2, 2003
    Publication date: April 7, 2005
    Applicant: International Business Machines Corporation
    Inventor: Joel Schopp
  • Publication number: 20050066143
    Abstract: A method and system for efficient coalescing of memory blocks across memory heap boundaries in multiprocessor or multithread computer system. Blocks of memory are allocated into multiple heaps for exclusive utilization by separate processors or processes. Varying memory requirements result in fragmentation and increased memory utilization over time and coalescing of memory is necessary. An identification of each memory heap which contains a preceding adjacent memory block and a succeeding adjacent memory block is maintained for all memory blocks. Thereafter, each time a memory block is freed it may be coalesced across heap boundaries with an adjacent preceding or succeeding memory block by temporarily locking access to only those memory heaps containing a free preceding or succeeding adjacent memory block.
    Type: Application
    Filed: September 18, 2003
    Publication date: March 24, 2005
    Inventor: Joel Schopp