Patents by Inventor James Wooldridge

James Wooldridge 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: 20070130305
    Abstract: Sessions states within virtual machine (VM) environments are maintained. Each VM environment hosts a guest operating system (OS) and one or more application programs running. The guest OS and the application computer programs of each VM environment constitute a session. A connection broker maintains a state machine as to states of the sessions and permits transitions among the states in response to messages, commands, and internal decisions. Different types of agents may send the messages, and the commands. The states of the sessions may include a pending state and a number of other states. The pending state is an interim state that indicates a session is being transitioned from one of the other states to another of the other states. These other states may include an offline state, an online-down state, an online-up state, a suspended state, an active state, an idle state, a disconnected state, and a failed state.
    Type: Application
    Filed: December 2, 2005
    Publication date: June 7, 2007
    Inventors: Scott Piper, Gregory Pruett, Charles Bauman, Carlos Santana, James Wooldridge
  • Publication number: 20070083862
    Abstract: Direct memory access (DMA) is provided between input/output (I/O) devices and memory within virtual machine (VM) environments. A computing device includes an I/O device, an operating system (OS) running on a VM of the computing device, a device driver for the I/O device, a VM manager (VMM), I/O translation hardware, and a hardware abstraction component for the OS. The I/O translation hardware is for translating physical addresses of the computing device assigned to the OS to machine addresses of the I/O device. The hardware abstraction component and the VMM cooperatively interact to enable the device driver to initiate DMA between the I/O device and memory via the translation hardware. The OS may be unmodified to run on the VM of the computing device, except that the hardware abstraction component is particularly capable of cooperatively interacting with the VMM to enable the device driver to receive DMA from the I/O device.
    Type: Application
    Filed: October 8, 2005
    Publication date: April 12, 2007
    Inventors: James Wooldridge, James Bozek
  • Publication number: 20060100962
    Abstract: Permitting utilization of computer system resources in accordance with the licensing thereof is disclosed. A method includes conducting an inventory of the resources of a computer system. The method determines which of the resources of the computer system are licensed for current usage, and permits utilization of these resources. Other resources of the computer system that are not licensed for usage are prevented from being used. The method may include determining which resources are licensed for usage with metering. The method permits the utilization of such resources, and tracks utilization availability of these resources. The method may further include determining which resources are licensed for periodic usage. Once the method receives indication to allow the periodic usage of these resources, the method permits their utilization, and tracks their utilization availability as needed. Preferably, the method performs its functionality without rebooting or restarting the computer system.
    Type: Application
    Filed: October 23, 2004
    Publication date: May 11, 2006
    Inventors: James Wooldridge, James Bozek
  • Publication number: 20050251802
    Abstract: A system of an embodiment is disclosed that includes a number of server computing devices and a management server computing device. Each server computing device has a virtual host computer program running thereon to support one or more virtual machine computer programs. Each virtual machine computer program is able to execute an instance of an operating system on which application computer programs are executable. The management server computing device monitors the server computing devices, and causes the virtual machine computer programs supported by the virtual host computer program of a first server computing device to dynamically migrate to the virtual host computer program of a second server computing device, upon one or more conditions being satisfied. The conditions may include the first server being predicted as failure prone, the first server consuming power less than a threshold, and the first server having resource utilization less than a threshold.
    Type: Application
    Filed: May 8, 2004
    Publication date: November 10, 2005
    Inventors: James Bozek, Robert Stephens, James Wooldridge
  • Publication number: 20050060460
    Abstract: Assigning interrupts for I/O devices among the nodes of NUMA systems is disclosed. At least one of the following is performed. First, interrupts for the devices are assigned among the nodes based on at least one of: the nodes to which the devices are connected, the nodes at which interrupt service routines for the devices reside, and the processors of the nodes. Second, for each node, the interrupts for the devices that are performance critical and that have been assigned to the node are assigned to the processors of the node in a round-robin manner. Third, assignments of the interrupts among the nodes of the system are dynamically modified based on actual performance characteristics of the assignments. Fourth, for each node, assignments of the interrupts that are performance critical and that have been assigned to the node are dynamically modified based on actual performance characteristics of the assignments.
    Type: Application
    Filed: August 20, 2003
    Publication date: March 17, 2005
    Applicant: International Business Machines Corporation
    Inventors: Chris Karamatas, James Wooldridge
  • Patent number: 5652869
    Abstract: A system is provided for executing and debugging multiple codes in a multi-architecture environment that includes a real X architecture (domain) and a simulated (Y) architecture (domain). The multiple code executing and debugging system comprises an X computer system having a memory with stored X and Y code and having the X architecture embodied therein.A detector is provided to detect calls from executing code in either domain for cross-domain services including execution of cross-domain routines. A jacketing system jackets cross-domain routine calls to interface the calling conventions of the calling and the called routines.
    Type: Grant
    Filed: December 28, 1994
    Date of Patent: July 29, 1997
    Assignee: Digital Equipment Corporation
    Inventors: Mark A. Herdeg, James A. Wooldridge, Scott G. Robinson, Ronald F. Brender, Michael V. Iles
  • Patent number: 5548717
    Abstract: In a computer system that embodies a first hardware (X) architecture and includes a memory system and at least one simulator for a second (Y) architecture and a system for executing and debugging multiple codes having an environment manager that handles cross-domain calls, a debugging system and method are provided for debugging code in each domain as part of said multi-code executing and debugging system in a multi-architecture environment. In response to calls for debugging from either the X domain or the Y domain, commands are generated for controlling operations in both domains. User generated RUN and STEP commands control the machine execution state in the domain where debugging is performed. General support commands and debug operations support commands including EXAMINE, DEPOSIT, SET BREAKPOINT and CANCEL BREAKPOINT commands which are implemented differently for the different domains may also be user generated for controlling debugging.
    Type: Grant
    Filed: February 14, 1995
    Date of Patent: August 20, 1996
    Assignee: Digital Equipment Corporation
    Inventors: James A. Wooldridge, Ronald F. Brender, Henry N. Grieb, III