Patents by Inventor James L. Wooldridge

James L. 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).

  • Patent number: 8046473
    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: Grant
    Filed: November 7, 2010
    Date of Patent: October 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Scott A. Piper, Gregory B. Pruett, Charles D. Bauman, Carlos Santana, James L. Wooldridge
  • Patent number: 8001543
    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: Grant
    Filed: October 8, 2005
    Date of Patent: August 16, 2011
    Assignee: International Business Machines Corporation
    Inventors: James L. Wooldridge, James J. Bozek
  • Publication number: 20110138384
    Abstract: Virtual machines are managed on the basis of data obtained from a management information database of a network switch having a plurality of Ethernet links coupled to compute nodes running a plurality of virtual machines. A management entity, such as a provisioning manager, determines the amount of network bandwidth being utilized through each of the first and second Ethernet links and the amount of network bandwidth being utilized by the Internet Protocol addresses attributable to each of the virtual machines. Accordingly, one of the virtual machines may be migrated from one compute node to another compute node coupled to an Ethernet link having a greater amount of unutilized network bandwidth. Virtual machines may be dynamically migrated in order to provide each virtual machine with a required amount of network bandwidth.
    Type: Application
    Filed: December 3, 2009
    Publication date: June 9, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James J. Bozek, Bruce A. Smith, Edward S. Suffern, James L. Wooldridge
  • Publication number: 20110134761
    Abstract: Method and computer program for managing the network response times experienced by virtual machines. Traffic is routed within an Ethernet network through a network switch according to IP addresses identified within Ethernet frames. A plurality of compute nodes are each coupled to the network switch via a separate Ethernet link. A response time is determined for each virtual machine running on the compute nodes, wherein the response time for a particular virtual machine is the difference between a time stamp in a TCP/IP Request message and a time stamp in a TCP/IP Response message for an IP address assigned to the particular virtual machine. The particular virtual machine may then be migrated to a target compute node in response to a particular one of the virtual machines on a particular one of the compute nodes having a response time that exceeds a response time setpoint.
    Type: Application
    Filed: December 3, 2009
    Publication date: June 9, 2011
    Applicant: International Business Machines Corporation
    Inventors: Bruce A. Smith, Edward S. Suffern, James L. Wooldridge
  • Publication number: 20110078679
    Abstract: Virtual machines are provisioned computers in a computer environment based on input/output (I/O) requirements of software tasks. A workload request, requesting the execution of a software task on a virtual machine, is received. The I/O requirements of the software task are matched to an optimal computer, in the computer environment, that has an I/O bandwidth capability that best matches the I/O requirements of the software task. The software task is then routed to a virtual machine, on the optimal computer, for execution of the software task.
    Type: Application
    Filed: September 30, 2009
    Publication date: March 31, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JAMES J. BOZEK, BRUCE A. SMITH, EDWARD S. SUFFERN, JAMES L. WOOLDRIDGE
  • Publication number: 20110055406
    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: November 7, 2010
    Publication date: March 3, 2011
    Inventors: Scott A. Piper, Gregory B. Pruett, Charles D. Bauman, Carlos Santana, James L. Wooldridge
  • Patent number: 7877485
    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: Grant
    Filed: December 2, 2005
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Scott A. Piper, Gregory B. Pruett, Charles D. Bauman, Carlos Santana, James L. Wooldridge
  • Publication number: 20100306560
    Abstract: Power management for a virtual machine farm in which each hypervisor respectively serving each virtual machine platform in the farm is provided with an extended hypervisor function coacts with functions provided by the connection broker and the manual configuration interface of the virtual machine farm management server for managing each respective virtual machine platform to maximize the time that each platform is in the reduced power state.
    Type: Application
    Filed: May 26, 2009
    Publication date: December 2, 2010
    Inventors: James J. Bozek, Kellie Francis, Edward S. Suffern, James L. Wooldridge
  • Patent number: 7529875
    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: Grant
    Filed: August 20, 2003
    Date of Patent: May 5, 2009
    Assignee: International Business Machines Corporation
    Inventors: Chris P. Karamatas, James L. Wooldridge
  • Publication number: 20090113416
    Abstract: A target server is queried to build an inventory of components installed within the target server. The target server has a boot process by which it is employed within a production environment. Updated software is received for each component from an update server, based on the inventory built. The boot process is configured so that the target server installs the updated software for each component the next time it boots, instead of being employed within the production environment. The target server is caused to boot such that it installs the updated software for each component. Upon completion of the target server installing the update software for each component, the boot process is reconfigured so that the next time the target server boots it is again employed within the production environment. The target server is again caused to boot such that it is again employed within the production environment.
    Type: Application
    Filed: October 29, 2007
    Publication date: April 30, 2009
    Inventors: Richard Bealkowski, James L. Wooldridge, Dean V. Dubinsky
  • Patent number: 6654859
    Abstract: A method of efficiently increasing intra-nodal page allocations and increasing processor cache utilization in a multiprocessing environment is provided. Each physical page of memory is identified and organized according to the page color as well as the nodal identifier. The organization process places each of the pages into a logical data structure. Both the identification and organization steps allow the system to properly select a page based upon both page color and nodal locale. In addition, the selection process updates the preferred page color for a subsequent page allocation. Accordingly, the method of identifying and organizing each page of memory enables an application to efficiently select pages with good processor cache distribution.
    Type: Grant
    Filed: July 26, 2001
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventor: James L. Wooldridge
  • Publication number: 20030023824
    Abstract: A method of efficiently increasing intra-nodal page allocations and increasing processor cache utilization in a multiprocessing environment is provided. Each physical page of memory is identified and organized according to the page color as well as the nodal identifier. The organization process places each of the pages into a logical data structure. Both the identification and organization steps allow the system to properly select a page based upon both page color and nodal locale. In addition, the selection process updates the preferred page color for a subsequent page allocation. Accordingly, the method of identifying and organizing each page of memory enables an application to efficiently select pages with good processor cache distribution.
    Type: Application
    Filed: July 26, 2001
    Publication date: January 30, 2003
    Applicant: International Business Machines Corporation
    Inventor: James L. Wooldridge