Patents Represented by Attorney, Agent or Law Firm William A. Kinnaman
  • Patent number: 6330612
    Abstract: A method and apparatus for serializing access by n entities to a shared resource in an information handling system. A waiter list is defined as a circular list of n bits, each of which is assigned to an entity. When a bit is false (0) it indicates that the corresponding entity is not waiting for the lock; when the bit is true (1) it indicates the corresponding entity is waiting for the lock. A next waiter indicator (NWI) is also defined that contains a value from 0 to n inclusive; a value of 0 indicates that there are currently no waiters, while a value from 1 to n indicates the next waiter to whom the lock will be granted. The waiter list is initialized to zeros to indicate there are no waiters. When an entity requests a lock that cannot be granted, the entity is made a waiter by setting the corresponding bit in the waiter list to one. If the next waiter indicator is zero, indicating that there were previously no waiters for the lock, the indicator is set to identify the requesting entity as the next waiter.
    Type: Grant
    Filed: August 28, 1998
    Date of Patent: December 11, 2001
    Assignee: International Business Machines Corporation
    Inventors: Mark A. Boonie, Peter G. Sutton, Wendell W. Wilkinson, Phil Chi-Chung Yeh
  • Patent number: 6320602
    Abstract: A method and apparatus for laying out a plurality of instances of graphical objects within a view displayed on a graphical display device. The view contains one or more regions into which the instances may be placed. The placement is done by associating an attribute, parameter or variable with the definition of each of the instances of graphic objects. The attribute defines into which of the regions of the view the instance should be placed. Layout routines are provided to extract the value of the attribute from the definition of the instance of the graphic object and to use it to associate the instance with the region in which it is to be displayed. The layout routines then calculate an optimum display for all of the instances within the region. In addition, a method for moving the instances of the graphic objects from one region to another region This involves changing the value of the attribute and reordering the instances within the regions.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: November 20, 2001
    Assignee: International Business Machines Corporation
    Inventors: Pit Burkardt, Roy Alan Feigel, Jutta Land, Herbert Westermann
  • Patent number: 6317744
    Abstract: Fully-associative non-linear collections of items are browsed. At least a portion of a fully-associative non-linear collection of items is segmented into a plurality of segments. This segmenting is transparent to any browsers of the fully-associative non-linear collection of items. The plurality of segments is then browsed by multiple browsers.
    Type: Grant
    Filed: August 23, 1999
    Date of Patent: November 13, 2001
    Assignee: International Business Machines Corporation
    Inventors: David A. Elko, Jeffrey M. Nick, David H. Surman, Wendell W. Wilkinson
  • Patent number: 6301362
    Abstract: A method and apparatus for cryptographically transforming an input block into an output block. The input block has a first block size and is partitionable into a plurality of input subblocks having a second block size that is a submultiple of the first block size. To encrypt or decrypt, the input subblocks are passed through respective first substitution functions controlled by one or more keys to generate a first plurality of modified subblocks. The first plurality of modified subblocks are then passed through a mixing function to generate a second plurality of modified subblocks, each of which depends on each of the first plurality of modified subblocks. Finally, the second plurality of modified subblocks are passed through respective second substitution functions controlled by one or more keys to generate a plurality of output subblocks that are combinable into an output block.
    Type: Grant
    Filed: June 12, 1998
    Date of Patent: October 9, 2001
    Assignee: International Business Machines Corporation
    Inventors: Stephen M. Matyas, Jr., Don Coppersmith, Donald B. Johnson
  • Patent number: 6292896
    Abstract: A system for authenticating a first entity to a second entity and for simultaneously generating a session key for encrypting communications between the entities. The first entity generates an authentication value by encrypting time-dependent information using a long-lived secret key shared by the entities and transmits the authentication value to the second entity. The first entity independently encrypts other time-dependent information using the long-lived key to generate a session key that cannot be derived from the authentication value without the long-lived key. Upon receiving the transmitted authentication value, the second entity checks the transmitted authentication value using the shared long-lived key to determine whether it is valid. If the authentication value is valid, the second entity authenticates the first entity and generates an identical session key from the same shared secret information and time-dependent information.
    Type: Grant
    Filed: January 22, 1997
    Date of Patent: September 18, 2001
    Assignee: International Business Machines Corporation
    Inventors: Richard Henry Guski, John Carr Dayka, Harvey Tildon McGee, Bruce Robert Wells
  • Patent number: 6289432
    Abstract: Segments of storage of a computer system are shared among any number of users at varying virtual addresses. The virtual addresses can be in the same address space or different address spaces. The sharing of a segment of storage is provided by storing the real address of a page table corresponding to the segment of storage to be shared at different virtual addresses. This allows users of the same or different address spaces to share the same segment of storage by referencing the same page table.
    Type: Grant
    Filed: March 25, 1998
    Date of Patent: September 11, 2001
    Assignee: International Business Machines Corporation
    Inventors: Donald Fred Ault, Harris M. Morgenstern, Danny Ray Sutherland
  • Patent number: 6282560
    Abstract: Managing processor resources in a non-dedicated computer system. An amount of a processor resource is allocated to a real-time application of the computer system. The amount does not exceed a limit chosen for a group of real-time applications, wherein the group includes the real-time application being allocated the resource. A selected amount of the processor resource remains available to execute other types of applications and work on the system. During processing of the real-time application, use of the processor resource does not exceed a chosen maximum value, thereby ensuring the processor resource is not monopolized by the real-time application and allowing other types of work to be processed on the system.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: August 28, 2001
    Assignee: International Business Machines Corporation
    Inventors: Catherine Krueger Eilert, Peter Bergersen Yocom
  • Patent number: 6279127
    Abstract: Object-code instruction traces are employed to analyze selected instructions of an application program for possible failure when confronted by a year-2000 date. The analysis includes directly identifying one or more instructions of the application program that may fail, as well as identifying whether the one or more instructions have a characteristic of a predefined false-positive failure pattern. A failure-pattern descriptor is assigned to each examined instruction which is indicative of whether the instruction may fail when confronted by a date in the year-2000 range, and whether the instruction is a possible false-positive failing instruction. The analysis employs user-specifiable run-control values, as well as predetermined filter-specification values in comparing traces of each selected object-code instruction to predefined instruction failure patterns.
    Type: Grant
    Filed: August 20, 1998
    Date of Patent: August 21, 2001
    Assignee: International Business Machines Corporation
    Inventor: Brian B. Moore
  • Patent number: 6279151
    Abstract: A method and apparatus for operating a compiler to process include statements contained in a source program that specify include files resident at non-connected network locations. The compiler also receives as input include options specifying include file libraries. The compiler initially examines each include option to determine whether it specifies an include file library resident at a non-connected network location. If it does, the compiler establishes a connection with the network location and obtains a list of the contents of the include file library via the connection. The compiler then examines each include statement to determine whether it specifies an include file resident at a non-connected network location. If it does, the compiler establishes a connection with the network location and obtains the include file via the connection. The retrieved include file is then used for compiling the source code to create the object program.
    Type: Grant
    Filed: January 20, 1998
    Date of Patent: August 21, 2001
    Assignee: International Business Machines Corporation
    Inventors: Franklin C. Breslau, Paul G. Greenstein, John T. Rodell
  • Patent number: 6249800
    Abstract: Apparatus and accompanying methods for use preferably in a multi-system shared data (sysplex) environment (100), wherein each system (110) provides one or more servers (115), for dynamically and adaptively assigning and balancing new work and for new session requests, among the servers in the sysplex, in view of attendant user-defined business importance of these requests and available sysplex resource capacity so as to meet overall business goals. Specifically, systems and servers are categorized into two classes: eligible, i.e., goal-oriented servers running under a policy and for which capacity information is currently available, and candidate, i.e., servers which lack capacity information.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: June 19, 2001
    Assignee: International Business Machines Corporartion
    Inventors: Jeffrey David Aman, David Bruce Emmes, David Walsh Palmieri
  • Patent number: 6240412
    Abstract: A process for professional authoring of information about structured domains (i.e., not including fiction) by which authors, as an integral part of the authoring process, provide the data needed to (1) enable intelligent user navigation between the work of different authors without the need for predefined links; (2) enable searches for information based on user context; and (3) identify reuse candidates before information is written and, therefore, minimize duplication. Authors develop concept maps to reflect the structure of the domain rather than the structure of the documentation; define the user context to which a concept map applies; resolve topic intersections between concept maps; define query attributes for articles to be developed; and resolve article intersections identified by means of intersecting query attributes. Computer programs support concept map development, the identification and analysis of topic and article intersections, and association of the data for exploitation in a user interface.
    Type: Grant
    Filed: April 26, 1999
    Date of Patent: May 29, 2001
    Assignee: International Business Machines Corporation
    Inventors: Denise Y. Dyko, Christopher J. Hastings, Richard Sobiesiak, Ronald A. Wendt
  • Patent number: 6237000
    Abstract: A method and apparatus for previewing the results of the allocation of a data structure, such as a cache or list structure, in an information handling system in which a coupling facility (CF) is operable to allocate a data structure in accordance with parameters contained in a message command block (MCB) received from a central processing complex (CPC). The data structure is defined by a set of independent parameter values that also have a set of one or more dependent parameter values that are dependent on the independent parameter values. Upon receiving an MCB containing a set of one or more independent parameter values defining a data structure, the CF determines, without actually allocating a data structure, the dependent parameter values of a data structure defined by the independent parameter values and returns a message response block (MRB) containing the dependent parameter values.
    Type: Grant
    Filed: May 1, 1998
    Date of Patent: May 22, 2001
    Assignee: International Business Machines Corporation
    Inventors: Dennis J. Dahlen, David A. Elko
  • 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: 6233644
    Abstract: A lock structure, which includes many entries, is partitioned into segments. A number of the segments are cleaned up in parallel, such that cleanup processing of the entire lock structure is optimized. The lock structure is maintained within a coupling facility, which provides access to the lock structure by one or more processors coupled to the coupling facility. The cleaning up of the lock structure is performed by commands driven by the one or more processors and executed within the coupling facility.
    Type: Grant
    Filed: June 5, 1998
    Date of Patent: May 15, 2001
    Assignee: International Business Machines Corporation
    Inventors: Dennis J. Dahlen, Jeffrey Mark Nick, David Harold Surman, Douglas W. Westcott
  • Patent number: 6230243
    Abstract: Changed data of castout classes of a coupling facility cache are managed in order to be able to efficiently determine the age of the oldest changed data in the cache. A directory entry representing a changed datum is placed in a data structure corresponding to the castout class of the changed datum. The data structure includes an order queue ordered by timestamps and a process queue, having an ordered portion and an unordered portion. When the directory entry is to be added to the data structure, an attempt is first made to place the entry on the order queue. If the entry is not placed on the order queue within a predefined amount of time, then the entry is placed on the process queue, the order of which is maintained by background tasks. In order to return the oldest entry of the data structure, the smallest entry of the process queue is determined and that entry is then compared to the smallest entry of the order queue. The smaller of those two entries corresponds to the oldest entry for the castout class.
    Type: Grant
    Filed: February 19, 1999
    Date of Patent: May 8, 2001
    Assignee: International Business Machines Corporation
    Inventors: David Arlen Elko, Jeffrey W. Josten, Jeffrey M. Nick, David H. Surman, Wendell W. Wilkinson
  • Patent number: 6230183
    Abstract: A method and apparatus for controlling the number of servers in a multisystem cluster. Incoming work requests are organized into service classes, each of which has a queue serviced by servers across the cluster. Each service class has defined for it a local performance index for each particular system of the cluster and a multisystem performance index for the cluster as a whole. Each system selects one service class as a donor class for donating system resources and another service class as a receiver class for receiving system resources, based upon how well the service classes are meeting their goals. Each system then determines the resource bottleneck causing the receiver class to miss its goals.
    Type: Grant
    Filed: March 11, 1998
    Date of Patent: May 8, 2001
    Assignee: International Business Machines Corporation
    Inventors: Peter B. Yocom, Catherine K. Eilert, John E. Arwe
  • Patent number: 6209106
    Abstract: A method and apparatus for specifying offsets from an external time reference (ETR) for selected logical partitions of a partitioned information handling system. Each logical partition has a logical time-of-day (TOD) clock which may be set independently of the host system clock by specifying an epoch offset from the host clock. A system operator is presented with a display panel in which the operator may specify the magnitude and sign of an ETR offset for each logical partition selected to have an ETR offset. Each logical partition, upon being activated, issues a Store Clock (STCK) instruction to read its own logical TOD clock as well as a Store ETR (STETR) instruction to read the ETR. If the logical partition has a specified ETR offset, the logical partition manager simulates the STETR instruction by adding or subtracting the ETR offset to the real ETR time and returning the modified value to the partition; otherwise, the logical partition manager returns the real ETR time to the partition.
    Type: Grant
    Filed: September 30, 1998
    Date of Patent: March 27, 2001
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey P. Kubala, Ira G. Siegel, Kenneth M. Trowell
  • 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: 6189145
    Abstract: A method of replacing a current version of a program module with a replacement version of the module concurrently with the execution of the program on a computer system. While execution of the program is suspended, each address reference in the program to an entry point within the current version of the module is replaced with an address reference to the corresponding entry point within the replacement version of the module. After the address references have been replaced and before execution is resumed, a patch initialization routine is invoked to perform initialization functions such as storage allocation, table initialization and feature detection that are performed before execution of the concurrently applied patch. Execution of the program is resumed when each address reference to the current module has been replaced with one to the replacement module and the patch initialization routine has been performed.
    Type: Grant
    Filed: May 28, 1997
    Date of Patent: February 13, 2001
    Assignee: International Business Machines Corporation
    Inventors: Richard A. Bellin, Jr., Jeffrey P. Kubala, Ira G. Siegel
  • Patent number: 6185562
    Abstract: A lock structure, which includes many entries, is partitioned into segments. A number of the segments are cleaned up in parallel, such that cleanup processing of the entire lock structure is optimized. The lock structure is maintained within a coupling facility, which provides access to the lock structure by one or more processors coupled to the coupling facility. The cleaning up of the lock structure is performed by commands driven by the one or more processors and executed within the coupling facility.
    Type: Grant
    Filed: June 5, 1998
    Date of Patent: February 6, 2001
    Assignee: International Business Machines Corporation
    Inventors: Dennis J. Dahlen, Jeffrey Mark Nick, David Harold Surman, Douglas W. Westcott