Patents by Inventor David B. Emmes

David B. Emmes 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: 8028279
    Abstract: A system for porting code from a native platform to a non-native platform is provided which utilizes a non-native, platform-specific layer of code and a platform-neutral layer of code. The platform-neutral layer substantially emulates the native platform of ported code and provides a platform-neutral interface to the ported code. Together, the platform-specific layer and the platform-neutral layer provide an execution environment in which the ported code operates as a kernel extension of the non-native platform. The platform-neutral layer of the execution environment is portable to other non-native platforms so that code can be ported to another non-native platform by replacing the platform-specific layer with a customized platform-specific layer, which is adapted to the other non-native platform.
    Type: Grant
    Filed: February 8, 2008
    Date of Patent: September 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Roger E. Bonsteel, Juliet C. Candee, John L. Czukkermann, David B. Emmes, Steven J. Greenspan, Joshua W. Knight, III, Alan M. Webb
  • Patent number: 7979851
    Abstract: A system and program product for facilitating computing-environment control of a resource to be accessed by existing program code is provided which includes transparently replacing an uncontrolled resource referenced by existing program code with a resource controlled by a computing environment. The protocol also includes transparently interposing at least one resource management service of the computing environment between the existing program code and the resource controlled by the computing environment, wherein the at least one resource management service provides computing-environment control of the resource to be accessed by the existing program code. The replacing of the uncontrolled resource prevents the existing program code from directly accessing the resource.
    Type: Grant
    Filed: July 28, 2009
    Date of Patent: July 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Roger E. Bonsteel, Juliet C. Candee, John L. Czukkermann, David B. Emmes, Steven J. Greenspan, Joshua W. Knight, Alan M. Webb
  • Publication number: 20090282387
    Abstract: A system and program product for facilitating computing-environment control of a resource to be accessed by existing program code is provided which includes transparently replacing an uncontrolled resource referenced by existing program code with a resource controlled by a computing environment. The protocol also includes transparently interposing at least one resource management service of the computing environment between the existing program code and the resource controlled by the computing environment, wherein the at least one resource management service provides computing-environment control of the resource to be accessed by the existing program code. The replacing of the uncontrolled resource prevents the existing program code from directly accessing the resource.
    Type: Application
    Filed: July 28, 2009
    Publication date: November 12, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roger E. BONSTEEL, Juliet C. CANDEE, John L. CZUKKERMANN, David B. EMMES, Steven J. GREENSPAN, Joshua W. KNIGHT, Alan M. WEBB
  • Patent number: 7584459
    Abstract: A method of facilitating computing-environment control of a resource to be accessed by existing program code is provided which includes transparently replacing an uncontrolled resource referenced by existing program code with a resource controlled by a computing environment. The method also includes transparently interposing at least one resource management service of the computing environment between the existing program code and the resource controlled by the computing environment, wherein the at least one resource management service provides computing-environment control of the resource to be accessed by the existing program code. The replacing of the uncontrolled resource prevents the existing program code from directly accessing the resource.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: September 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: Roger E. Bonsteel, Juilet C. Candee, John L. Czukkermann, David B. Emmes, Steven J. Greenspan, Joshua W. Knight, Alan M. Webb
  • Patent number: 7529886
    Abstract: A method, system, and storage medium for the InfiniBand™ Poll verb to support a multi-threaded environment without the use of kernel services to provide serialization for mainline Poll logic. Poll is the verb, which allows a consumer to determine which of its work requests have completed, and provides ending status. In addition to multiple concurrent threads using Poll against a single Completion Queue, Poll is serialized with Destroy Queue Pair and Destroy Completion Queue. Completion Queues are used to maintain completion status for work requests. Queue Pairs are used to submit work requests and are related to a Completion Queue at the time they are created.
    Type: Grant
    Filed: November 3, 2004
    Date of Patent: May 5, 2009
    Assignee: International Business Machines Corporation
    Inventors: David B. Emmes, Donald W. Schmidt
  • Publication number: 20080155516
    Abstract: A system for porting code from a native platform to a non-native platform is provided which utilizes a non-native, platform-specific layer of code and a platform-neutral layer of code. The platform-neutral layer substantially emulates the native platform of ported code and provides a platform-neutral interface to the ported code. Together, the platform-specific layer and the platform-neutral layer provide an execution environment in which the ported code operates as a kernel extension of the non-native platform. The platform-neutral layer of the execution environment is portable to other non-native platforms so that code can be ported to another non-native platform by replacing the platform-specific layer with a customized platform-specific layer, which is adapted to the other non-native platform.
    Type: Application
    Filed: February 8, 2008
    Publication date: June 26, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINE CORPORATION
    Inventors: Roger E. BONSTEEL, Juliet C. CANDEE, John L. CZUKKERMANN, David B. EMMES, Steven J. GREENSPAN, Joshua W. Knight, Alan M. WEBB
  • Patent number: 7356808
    Abstract: A method of porting code from a native platform to a non-native platform is provided which utilizes a non-native, platform-specific layer of code and a platform-neutral layer of code. The platform-neutral layer substantially emulates the native platform of ported code and provides a platform-neutral interface to the ported code. Together, the platform-specific layer and the platform-neutral layer provide an execution environment in which the ported code operates as a kernel extension of the non-native platform. The platform-neutral layer of the execution environment is portable to other non-native platforms so that code can be ported to another non-native platform by replacing the platform-specific layer with a customized platform-specific layer, which is adapted to the other non-native platform.
    Type: Grant
    Filed: September 23, 2004
    Date of Patent: April 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Roger E. Bonsteel, Juliet C. Candee, John L. Czukkermann, David B. Emmes, Steven J. Greenspan, Joshua W. Knight, III, Alan M. Webb
  • Patent number: 6981125
    Abstract: A method and apparatus for managing shared virtual storage in an information handling system in which each of a plurality of processes managed by an operating system has a virtual address space comprising a range of virtual addresses that are mapped to a corresponding set of real addresses representing addresses in real storage. The virtual address spaces are 64-bit address spaces requiring up to five levels of dynamic address translation (DAT) tables to map their virtual addresses to real addresses. One or more shared ranges of virtual addresses are defined that are mapped for each of a plurality of virtual address spaces to a common set of real addresses. The operating system manages these shared ranges using a system-level DAT table that reference a shared set of DAT tables used by the sharing address spaces for address translation, but is not attached to the hardware address translation facilities or used for address translation.
    Type: Grant
    Filed: April 22, 2003
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventor: David B. Emmes
  • Publication number: 20040215919
    Abstract: A method and apparatus for managing shared virtual storage in an information handling system in which each of a plurality of processes managed by an operating system has a virtual address space comprising a range of virtual addresses that are mapped to a corresponding set of real addresses representing addresses in real storage. The virtual address spaces are 64-bit address spaces requiring up to five levels of dynamic address translation (DAT) tables to map their virtual addresses to real addresses. One or more shared ranges of virtual addresses are defined that are mapped for each of a plurality of virtual address spaces to a common set of real addresses. The operating system manages these shared ranges using a system-level DAT table that reference a shared set of DAT tables used by the sharing address spaces for address translation, but is not attached to the hardware address translation facilities or used for address translation.
    Type: Application
    Filed: April 22, 2003
    Publication date: October 28, 2004
    Applicant: International Business Machines Corporation
    Inventor: David B. Emmes
  • Patent number: 6807588
    Abstract: A sectioned ordered queue in an information handling system comprises a plurality of queue sections arranged in order from a first queue section to a last queue section. Each queue section contains one or more queue entries that correspond to available ranges of real storage locations and are arranged in order from a first queue entry to a last queue entry. Each queue section and each queue entry in the queue sections having a weight factor defined for it. Each queue entry has an effective weight factor formed by combining the weight factor defined for the queue section with the weight factor defined for the queue entry. A new entry is added to the last queue section to indicate a newly available corresponding storage location, and one or more queue entries are deleted from the first section of the queue to indicate that the corresponding storage locations are no longer available.
    Type: Grant
    Filed: February 27, 2002
    Date of Patent: October 19, 2004
    Assignee: International Business Machines Corporation
    Inventors: Tri M. Hoang, Tracy D. Butler, Danny R. Sutherland, David B. Emmes, Mariama Ndoye, Elpida Tzortzatos
  • Patent number: 6694346
    Abstract: In a virtual machine environment, the invention enables creation of a long running, reusable, virtual machine are disclosed. The environment includes a shared heap where requisite runtime code to bring the virtual machine into a ‘ready’ mode are loaded, linked, verified, initialized and compiled. Subsequent virtual machines are started and jointly use the shared heap. Applications create their objects in ‘private heaps’ that are exclusively reserved for the respective applications. At the end of execution of an application, each private heap is reinitialized. Static initializers are run in a persistent area of each private heap. This persistent area is reset to its initial values in between execution of applications. This obviates the need to terminate the virtual machine.
    Type: Grant
    Filed: April 30, 1999
    Date of Patent: February 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey D. Aman, Rajesh R. Bordawekar, Michael Wayne Brown, Donna Ngar-Ting Dillenberger, David B. Emmes, Donald William Schmidt, Mark Alvin Sehorne
  • Publication number: 20030163644
    Abstract: A sectioned ordered queue in an information handling system comprises a plurality of queue sections arranged in order from a first queue section to a last queue section. Each queue section contains one or more queue entries that correspond to available ranges of real storage locations and are arranged in order from a first queue entry to a last queue entry. Each queue section and each queue entry in the queue sections having a weight factor defined for it. Each queue entry has an effective weight factor formed by combining the weight factor defined for the queue section with the weight factor defined for the queue entry. A new entry is added to the last queue section to indicate a newly available corresponding storage location, and one or more queue entries are deleted from the first section of the queue to indicate that the corresponding storage locations are no longer available.
    Type: Application
    Filed: February 27, 2002
    Publication date: August 28, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Tri M. Hoang, Tracy D. Butler, Danny R. Sutherland, David B. Emmes, Mariama Ndoye, Elpida Tzortzatos
  • Patent number: 6338090
    Abstract: A method and apparatus for selectively using input/output (I/O) buffers as a retransmit vehicle in a client/server system. The decision whether to use an I/O buffer as a retransmit vehicle is based on a number of factors, including the packet size, the expected round-trip time (RTT) for an acknowledgment of the transmission, the number of I/O buffers currently allocated, and the number of I/O buffers remaining. If the decision is made not to use the I/O buffer as a retransmit vehicle, then the data is copied into a send buffer that is maintained by the system for the particular requester. Initially three threshold values, the round-trip time (RTT) threshold, the critical threshold, and the tight buffer threshold, are set. Connections having a longer round-trip time than a set round-trip time threshold or connections made when the number of I/O buffers remaining is below the critical threshold are not allowed to keep the I/O buffer as a retransmission vehicle.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: January 8, 2002
    Assignee: International Business Machines Corporation
    Inventors: David B. Emmes, Donald W. Schmidt
  • 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: 6098122
    Abstract: A method and apparatus for handling outgoing communication requests in an information handling system in which outgoing communication packets are accumulated into a block that is written to an input/output (I/O) device. For each I/O device there is generated a blocking factor representing a predetermined number of packets that are accumulated before the block is written to the I/O device, as well as a push interval representing a maximum period of time for which any packet in the block can be stalled. Upon the arrival of a new outgoing packet, the packet is added to the block, and the block is written to the I/O device if either the block now contains the predetermined packets or any packet in the packet has been waiting for more than the push interval. A timer running asynchronously with the arrival of outgoing requests periodically pops to write the block to the I/O device if it has been waiting overlong, even if no new requests have arrived.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: August 1, 2000
    Assignee: International Business Machines Corporation
    Inventors: David B. Emmes, Donald W. Schmidt
  • 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: 6067580
    Abstract: Distributed computing environment (DCE) remote procedure calls (RPCs) are integrated with an advisory work load manager (WLM) to provide a way to intelligently dispatch RPC requests among the available application server processes. The routing decisions are made dynamically (for each RPC) based on interactions between the location broker and an advisory work load manager. Furthermore, when the system contains multiple coupled processors (tightly coupled within a single frame, or loosely coupled within a computing complex, a local area network (LAN) configuration, a distributed computing environment (DCE) cell, etc.), the invention extends to balance the processing of RPC requests and the associated client sessions across the coupled systems. Once a session is assigned to a given process, the invention also supports performance monitoring and reporting, dynamic system resource allocation for the RPC requests, and potentially any other benefits that may be available through the specific work load manager (WLM).
    Type: Grant
    Filed: March 11, 1997
    Date of Patent: May 23, 2000
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey D. Aman, Carl E. Clark, David B. Emmes, Satwinder S. Kahlon, Christopher Meyer, Steven E. Rosengren, Frank S. Samuel, Jr., Donald W. Schmidt, Thomas J. Szczgielski
  • Patent number: 5603029
    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: February 11, 1997
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey D. Aman, Curt L. Cotner, Donna N. T. Dillenberger, David B. Emmes
  • Patent number: 5237668
    Abstract: A single non-privileged instruction copies a page of data from a source virtual address in an electronic medium to a destination virtual address in the same or in a different electronic storage medium, and without the intervention of any supervisory program when each medium and the virtual addresses are previously determined. The instruction is not required to specify which medium it will use, does not require its user to know what backing medium it will access, does not require main storage (MS) to be its backing medium, and allows different types of physical addressing to be used by different media. The instruction can lock any page for use in a multi-processor (MP). No physical direction of data movement is provided within the non-privileged machine instruction, which only designates virtual direction of movement. The separation of virtual direction from physical direction is done by avoiding instruction control over selection of electronic media.
    Type: Grant
    Filed: October 20, 1989
    Date of Patent: August 17, 1993
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey O. Blandy, David B. Emmes, Ronald F. Hill, David B. Lindquist, Kenneth E. Plambeck, Casper A. Scalzi, Richard J. Schmalz