Patents by Inventor Donald F. Ault

Donald F. Ault 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: 8281315
    Abstract: Exemplary embodiments include a system and storage medium for managing computer processing functions in a multi-processor computer environment. The system includes a physical processor, a standard logical processor, an assist logical processor sharing a same logical partition as the standard logical processor, and a single operating system instance associated with the logical partition, the single operating system instance including a switch-to service and a switch-from service. The system also includes a dispatch component managed by the single operating system instance. Upon invoking the switch-to service by standard code, the switch-to service checks to see if an assist logical processor is online and, if so, it updates an integrated assist field of a work element block associated with the task for indicating the task is eligible to be executed on the assist logical processor. The switch-to service also assigns a work queue to the work element block.
    Type: Grant
    Filed: April 3, 2008
    Date of Patent: October 2, 2012
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Jose R. Castano, Jeffrey P. Kubala, Robert J. Maddison, Bernard R. Pierce, Gary S. Puchkoff, Peter J. Relson, Robert R. Rogers, Donald W. Schmidt, Leslie W. Wyman
  • Patent number: 8276155
    Abstract: Exemplary embodiments include a system and storage medium for managing computer processing functions in a multi-processor computer environment. The system includes a physical processor, a standard logical processor, an assist logical processor sharing a same logical partition as the standard logical processor, and a single operating system instance associated with the logical partition, the single operating system instance including a switch-to service and a switch-from service. The system also includes a dispatch component managed by the single operating system instance. Upon invoking the switch-to service by standard code, the switch-to service checks to see if an assist logical processor is online and, if so, it updates an integrated assist field of a work element block associated with the task for indicating the task is eligible to be executed on the assist logical processor. The switch-to service also assigns a work queue to the work element block.
    Type: Grant
    Filed: January 20, 2011
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Jose R. Castano, Jeffrey P. Kubala, Robert J. Maddison, Bernard R. Pierce, Gary S. Puchkoff, Peter J. Relson, Robert R. Rogers, Donald W. Schmidt, Leslie W. Wyman
  • Publication number: 20110113434
    Abstract: Exemplary embodiments include a system and storage medium for managing computer processing functions in a multi-processor computer environment. The system includes a physical processor, a standard logical processor, an assist logical processor sharing a same logical partition as the standard logical processor, and a single operating system instance associated with the logical partition, the single operating system instance including a switch-to service and a switch-from service. The system also includes a dispatch component managed by the single operating system instance. Upon invoking the switch-to service by standard code, the switch-to service checks to see if an assist logical processor is online and, if so, it updates an integrated assist field of a work element block associated with the task for indicating the task is eligible to be executed on the assist logical processor. The switch-to service also assigns a work queue to the work element block.
    Type: Application
    Filed: January 20, 2011
    Publication date: May 12, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Donald F. Ault, Jose R. Castano, Jeffrey P. Kubala, Robert J. Maddison, Bernard R. Pierce, Gary S. Puchkoff, Peter J. Relson, Robert R. Rogers, Donald W. Schmidt, Leslie W. Wyman
  • Patent number: 7546585
    Abstract: A method for testing computer programs including defining one or more selected force stop points for a target computer program. For each of the selected force stop points the target computer program is executed in a force stop mode and executed again in a non-force stop mode. Input to execution in the force stop mode includes the selected force stop point. The target program is terminated as a result of execution in the force stop mode when the selected force stop point has been reached. Executing in the force stop mode results in a residual environment. The target computer program is executed in a non-force stop mode in the residual environment. Output from executing in a non-force stop mode includes test result data. For each of the selected force stop points it is determined if the test result data is consistent with expected test results.
    Type: Grant
    Filed: January 24, 2005
    Date of Patent: June 9, 2009
    Assignee: International Business Machines Corporation
    Inventor: Donald F. Ault
  • Publication number: 20090100243
    Abstract: A virtual storage technique is provided to manage a cell pool or a set of cell pools which can be used to satisfy variable-size storage requests. The algorithm uses no locks and relies on an atomic compare-and-swap instruction to serialize updates to the fields that can be simultaneously requested by multiple threads or processes. A free chain is used to manage cells which have already been obtained and freed, while there is an active extent that is used to hand out cells which have not previously been obtained. The algorithm is based on all cell pool extents being the same size, which allows the control information for the extent to be easily located on the extent boundary (e.g. at a 1 MB boundary). Control information for each cell is stored independently of the cell storage in a control array that resides at the head of the extent, along with other control information. This avoids cell overrun from damaging the cell pool control information.
    Type: Application
    Filed: October 16, 2007
    Publication date: April 16, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Donald F. Ault, Peter J. Relson, James H. Mulder, Elpida Tzortzatos, Paula M. Spens
  • Publication number: 20080189714
    Abstract: Exemplary embodiments include a system and storage medium for managing computer processing functions in a multi-processor computer environment. The system includes a physical processor, a standard logical processor, an assist logical processor sharing a same logical partition as the standard logical processor, and a single operating system instance associated with the logical partition, the single operating system instance including a switch-to service and a switch-from service. The system also includes a dispatch component managed by the single operating system instance. Upon invoking the switch-to service by standard code, the switch-to service checks to see if an assist logical processor is online and, if so, it updates an integrated assist field of a work element block associated with the task for indicating the task is eligible to be executed on the assist logical processor. The switch-to service also assigns a work queue to the work element block.
    Type: Application
    Filed: April 3, 2008
    Publication date: August 7, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Donald F. Ault, Jose R. Castano, Jeffrey P. Kubala, Robert J. Maddison, Bernard R. Pierce, Gary S. Puchkoff, Peter J. Relson, Robert R. Rogers, Donald W. Schmidt, Leslie W. Wyman
  • Patent number: 7392524
    Abstract: Exemplary embodiments include a method, system, and storage medium for managing computer processing functions in a multi-processor computer environment that includes a standard logical processor and an assist logical processor, each of which share the same operating system instance within a logical partition. The method includes invoking a switch-to service by standard code. The standard code is running on a standard logical processor and is executing a task. The switch-to service checks to see if an assist logical processor is online, and it if finds one, the switch-to service updates an integrated assist field of a work element block associated with the task and assigns a queue to the work element block. The task is dispatched, in accordance with business rules identified in a system control block, on either of said assist logical processor or said standard logical processor.
    Type: Grant
    Filed: April 6, 2004
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Jose R. Castano, Jeffrey P. Kubala, Robert J. Maddison, Bernard R. Pierce, Gary S. Puchkoff, Peter J. Relson, Robert R. Rogers, Donald W. Schmidt, Leslie W. Wyman
  • Patent number: 6976260
    Abstract: A single atomic instruction is used to change up to four disjoint areas in memory concurrently in an extended compare and swap operation, replacing traditional locks for serialization and providing recovery for all queue manipulations. Use count-based responsibility passing is employed so that any number of tasks can read the various message queue chains, concurrent with queue updates being made. A summary queue update sequence number is maintained to provide concurrent chain update detection, so that any number of tasks can add elements to the end, or remove elements from the middle (i.e. any where in the chain) concurrently. Concurrent footprinting is used with chain manipulation, so that all (or none) of the chaining indicators and a footprint are set with a single, non-interruptible instruction, making it possible for recovery to always take the correct action.
    Type: Grant
    Filed: September 24, 1999
    Date of Patent: December 13, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, David R. Cardall, Donald W. Schmidt
  • Patent number: 6907605
    Abstract: A method and apparatus for ensuring that a process interacting with a failing process is notified of the failure of that process. Each process has a unique process identifier (PID) associated with it. Each process optionally has an affinity list containing one or more entries, each of which contains the identifier of a process that is to be notified when the process fails. A process updates the affinity list of a target process (either itself or another process) by calling an affinity service of the operating system (OS) kernel, specifying the type of operation (add or delete), the identifier of the target process, the identifier of the process that is to notified, and the type of event that is to be generated for the process that is to be notified. When a process fails, a process termination service of the OS kernel examines the affinity list of the failing process and, for each entry in the list, generates an event of the specified type for the process specified as to be notified.
    Type: Grant
    Filed: May 18, 1998
    Date of Patent: June 14, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Ernest S. Bender, John A. Helmbold
  • Patent number: 6237019
    Abstract: A semaphore for controlling access to a shared resource in an information handling system is implemented using an atomic operation that compares an operand with a comparison value and, if the operand is equal to the comparison value, replaces the compared operand and up to three additional operands with replacement values. The semaphore has a first semaphore field containing a value and a sequence count and a second semaphore field containing a pointer to a queue for the semaphore. The queue has zero or more entries corresponding to waiters for the semaphore, each entry with a next entry having a pointer to that next entry. To implement the semaphore, a previous value of the first semaphore field is saved as a comparison value. A first replacement value containing an incremented sequence count is generated for the first semaphore field as a first operand in accordance with the specified operation.
    Type: Grant
    Filed: March 18, 1998
    Date of Patent: May 22, 2001
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, John M. Forsythe
  • Patent number: 6192389
    Abstract: In a client/server system, a method and apparatus for a listening daemon to distribute work and client connectivity across multiple processes each supporting multiple threads. Upon receiving a request from a client, a listening daemonaccepts the conversation, thus creating a socket. The listening daemon then does a putwork( ) call which places a work request on a system managed work queue. The work request behaves in a manner very similar to spawn in that it provides for parameters to be passed as well as transfer of ownership of the socket. In the meantime, server processes that are created either manually or by the operating system create multiple threads, which invoke a getwork( ) service to retrieve work requests created by the listening daemon. The getwork( ) service transfers the socket to the calling process and notifies the thread which file descriptors it has inherited.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: February 20, 2001
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Jeffrey D. Aman, Ernest S. Bender, Donna N. T. E. Dillenberger, David B. Emmes, Michael G. Spiegel
  • Patent number: 6085217
    Abstract: A method and apparatus for controlling the assignment of units of work to workload enclaves in a client/server system in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity. Incoming work requests are queued for processing by one or more worker threads of one or more server processes. In response to the receipt of an incoming work request, a putwork() service of the operating system kernel defines an workload enclave for the work request and adds the work request to a queue of incoming work requests to enqueue the request. In response to a request from a worker thread for more work, a getwork() service of the operating system kernel removes a work request from the queue to dequeue the request and associates the worker thread with the enclave defined for the request.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: July 4, 2000
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Jeffrey D. Aman, Ernest S. Bender, Donna N. T. E. Dillenberger, David B. Emmes, Michael G. Spiegel
  • Patent number: 6065019
    Abstract: A method and system for allocating and freeing storage are provided. The method can be built on top of any existing storage management algorithm. The method is described as being built upon the heap storage algorithm most often associated with the C programming environment. The method operates by breaking all storage requests into a fixed number of pools. Each pool is then managed by three tiers of management. The first tier is a so-called quick pool consisting of storage blocks which have already been used and freed and are managed on a LIFO queue. The second tier is made up of cell pool extents that are carved from the heap and then further subdivided into blocks of the appropriate size for each pool. The third tier is made up of the existing heap management algorithms or any other storage management algorithm. The method relies on atomic hardware instructions for removing blocks from the quick pools and cell extents.
    Type: Grant
    Filed: October 20, 1997
    Date of Patent: May 16, 2000
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, John F. Fischer, Eric T. Miller
  • Patent number: 5987495
    Abstract: A method and apparatus for fully restoring the context of a user program, including program status word (PSW) and CPU register contents, following an asynchronous interrupt. Upon the occurrence of an asynchronous interrupt event, control is transferred from the normally executing part of the user program to an interrupt handler of the operating system kernel. The kernel interrupt handler saves the contents of the CPU registers and PSW as they existed at the time of the interrupt in a save area associated with the user program before transferring control to a signal catcher routine of the user program.
    Type: Grant
    Filed: November 7, 1997
    Date of Patent: November 16, 1999
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Kenneth E. Plambeck, Casper A. Scalzi
  • Patent number: 5632032
    Abstract: A method of controlling the execution of the threads of a first application such as a user application from a second application such as a debugger application running in a different address space. After initializing trace mode for the user application, the debugger waits for an event to occur on one of the threads of the user application. Upon the occurrence of an event on one of the user application threads, an event handler obtains control of the thread execution. The event handler suspends execution of the remaining threads in the application, posts the debugger and then suspends its own execution. When the debugger application has completed its debugging operations, it posts the event handler, which resumes execution of the suspended threads and returns control to the thread on which the event occurred.
    Type: Grant
    Filed: February 7, 1994
    Date of Patent: May 20, 1997
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, Ernest S. Bender, Jon K. Franks, Steven Walkowiak
  • Patent number: 5345590
    Abstract: A logically partitioned data processing system has a policy defining responsive actions to be undertaken by a process in one partition because of a monitored failure of an operating system in another partition. When such a failure occurs, the monitoring partition, if authorized, automatically communicates with a hypervisor to initiate the responsive actions on the failing partitions to reset and/or reconfigure that failing partition. Communication of action request between the partition and the hypervisor is accomplished without operator intervention, through a Service Call Logical Processor interface.
    Type: Grant
    Filed: September 1, 1993
    Date of Patent: September 6, 1994
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, David B. Petersen, Ian G. Redding, Stephen J. Schmandt