Patents Assigned to IBM
  • Publication number: 20130073823
    Abstract: A method for mirroring virtual machines from a primary host to a secondary host. The method includes tracking changes for each of a plurality of memory pages and processor states for one or more primary host virtual machines. Responsive to an occurrence of a checkpoint, the primary host virtual machines are stopped. A determination is made if each of the memory pages is frequently changed. In response to the memory page being frequently changed, the frequently changed memory page is marked as being writeable and copied to a buffer. In response to the memory page being infrequently changed, the infrequently changed memory page is marked as being read only. The one or more primary host virtual machines are resumed. A copy of the memory pages, the buffer and changes to the processor states are transmitted to the secondary host.
    Type: Application
    Filed: September 15, 2012
    Publication date: March 21, 2013
    Applicant: IBM CORPORATION
    Inventors: Graham Hunter, James Mulcahy
  • Publication number: 20130073778
    Abstract: A system and computer program product for mirroring virtual machines from a primary host to a secondary host. The system includes a processor tracking changes for each of a plurality of memory pages and processor states for one or more primary host virtual machines. Responsive to an occurrence of a checkpoint, the primary host virtual machines are stopped. A determination is made if each of the memory pages is frequently changed. In response to the memory page being frequently changed, the frequently changed memory page is marked as being writeable and copied to a buffer. In response to the memory page being infrequently changed, the infrequently changed memory page is marked as being read only. The one or more primary host virtual machines are resumed. A copy of the memory pages, the buffer and changes to the processor states are transmitted to the secondary host.
    Type: Application
    Filed: September 20, 2011
    Publication date: March 21, 2013
    Applicant: IBM CORPORATION
    Inventors: Graham Hunter, James Mulcahy
  • Publication number: 20130072011
    Abstract: A method that includes forming a first level of active circuitry on a substrate, forming a first probe pad electrically connected to the first level of active circuitry where the first probe pad having a first surface, contacting the first probe pad with a probe tip that displaces a portion of the first probe pad above the first surface, and performing a chemical mechanical polish on the first probe pad to planarize the portion of the first probe pad above the first surface. The method also includes forming a second level of active circuitry overlying the first probe pad, forming a second probe pad electrically connected to the second level of active circuitry, contacting the second probe pad with a probe tip that displaces a portion of the probe pad, and chemically mechanically polishing the second probe pad to remove the portion displaced.
    Type: Application
    Filed: September 14, 2012
    Publication date: March 21, 2013
    Applicants: IBM SEMICONDUCTOR RESEARCH AND DEVELOPMENT CENTER (SRDC), STMICROELECTRONICS, INC.
    Inventors: John H. Zhang, Laertis Economikos, Robin Van Den Nieuwenhuizen, Wei-Tsu Tseng
  • Publication number: 20130074065
    Abstract: A method of achieving data consistency in a shared storage accessible by a first and second machine. The method includes, in response to receiving state information of the first machine, configuring the second machine to a mirrored operating state corresponding to an operating state of the first machine, receiving a notification that the first machine will overwrite existing data stored in the shared storage, and, in response to the notification, reading the existing data, storing a copy of existing data in a local storage of the second machine, and sending an acknowledgment to the first machine that the copy has been stored in the local storage, to enable the first machine to overwrite the existing data with newly written data. The method also includes, in response to receiving a failure notification, retrieving the copy of the existing data, overwriting the newly written data with the copy of the existing data.
    Type: Application
    Filed: September 21, 2011
    Publication date: March 21, 2013
    Applicant: IBM CORPORATION
    Inventors: Adam James McNeeney, David James Oliver Rigby
  • Publication number: 20130063173
    Abstract: A method that includes forming a first level of active circuitry on a substrate, forming a first probe pad electrically connected to the first level of active circuitry where the first probe pad having a first surface, contacting the first probe pad with a probe tip that displaces a portion of the first probe pad above the first surface, and performing a chemical mechanical polish on the first probe pad to planarize the portion of the first probe pad above the first surface. The method also includes forming a second level of active circuitry overlying the first probe pad, forming a second probe pad electrically connected to the second level of active circuitry, contacting the second probe pad with a probe tip that displaces a portion of the probe pad, and chemically mechanically polishing the second probe pad to remove the portion displaced.
    Type: Application
    Filed: September 13, 2012
    Publication date: March 14, 2013
    Applicants: IBM Semiconductor Research and Development Center (SRDC), STMicroelectronics, Inc.
    Inventors: John H. Zhang, Laertis Economikos, Robin Van Den Nieuwenhuizen, Wei-Tsu Tseng
  • Publication number: 20130054807
    Abstract: A system and a computer program product for selecting a primary-secondary host pair for mirroring virtual machines. The system includes a processor collecting data related to each of a plurality of potential primary-secondary host pairs in a computer network. The processor analyzes each of the plurality of potential primary-secondary host pairs in the computer network utilizing performance metrics. An ideal primary-secondary host pair in the computer network is determined by the processor based on the analysis of the performance metrics of each of the plurality of potential primary-secondary host pairs. In response to determining the ideal primary-secondary host pair, a primary host virtual machine is mirrored onto the secondary host of the primary-secondary host pair.
    Type: Application
    Filed: August 31, 2011
    Publication date: February 28, 2013
    Applicant: IBM Corporation
    Inventors: David Sherwood, Robert John Wallis
  • Publication number: 20130047130
    Abstract: A computerized method, data processing system and computer program product reduce noise for a buffered design of an electronic circuit which was already placed and routed. For all areas between a power stripe and a ground stripe (half bay) in the design, the shapes are divided in different criticality levels. The shapes are rearranged based on their criticality level such that shapes with higher criticality level are placed closer to the stripes than those with lower criticality level.
    Type: Application
    Filed: August 15, 2011
    Publication date: February 21, 2013
    Applicant: IBM CORPORATION
    Inventors: Lukas Daellenbach, Elmar Gaugler, Wilhelm Haller, Ralf Richter
  • Publication number: 20130046998
    Abstract: A system and computer program product allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and An LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on respective energy consumption, the EEA utility determines whether the LPAR (and other LPARs) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.
    Type: Application
    Filed: August 17, 2011
    Publication date: February 21, 2013
    Applicant: IBM Corporation
    Inventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
  • Publication number: 20130047006
    Abstract: A method allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and an LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on a respective energy consumption, the EEA utility determines whether the LPAR(s) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.
    Type: Application
    Filed: September 15, 2012
    Publication date: February 21, 2013
    Applicant: IBM Corporation
    Inventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
  • Publication number: 20130042153
    Abstract: A computer-implemented method of debugging computer code includes: obtaining state information corresponding to a first machine at a checkpoint initiated during execution of the computer code on the first machine; and configuring the second machine to a same operating state as the first machine at the checkpoint to create a mirrored version of the first machine. The method also includes receiving a notification that execution of the program on a first machine has failed, and in response to receiving the notification: triggering a processor of the second machine to initiate execution of a copy of the code from a specific code execution point at which the checkpoint was; activating a debugger module to run concurrently with the execution of the program on the second machine and collect and store the debug data as corresponding to execution failure of the computer code at the first machine.
    Type: Application
    Filed: September 15, 2012
    Publication date: February 14, 2013
    Applicant: IBM CORPORATION
    Inventor: Adam McNeeney
  • Publication number: 20130042150
    Abstract: A system of debugging computer code includes a processor: obtaining state information corresponding to a first machine at a checkpoint initiated during execution of the computer code on the first machine; and configuring the second machine to a same operating state as the first machine at the checkpoint to create a mirrored version of the first machine. The system also includes receiving a notification that execution of the program on a first machine has failed, and in response to receiving the notification: triggering a processor of the second machine to initiate execution of a copy of the code from a specific code execution point at which the checkpoint was; activating a debugger module to run concurrently with the execution of the program on the second machine and collect and store the debug data as corresponding to execution failure of the computer code at the first machine.
    Type: Application
    Filed: August 9, 2011
    Publication date: February 14, 2013
    Applicant: IBM CORPORATION
    Inventor: Adam J. McNeeney
  • Publication number: 20130031341
    Abstract: Hibernation and remote restore functions of a client logical partition (LPAR) that exists within a data processing system having cluster-aware Virtual Input/Output (I/O) Servers (VIOSes) is performed via receipt of commands via a virtual control panel (VCP) through an underlying hypervisor. The client hibernation data file is stored in a shared repository by a source/original VIOS assigned to the client. The hypervisor receives a remote restart command and assigns a target/remote client LPAR and a target VIOS. The source I/O adapters and target I/O adapters are locked and the target VIOS gathers adapter configuration information from the source VIOS and configures the target adapters to be able to perform the I/O functionality provided by the source adapters to the client LPAR. The target VIOS then retrieves the client's hibernation data file, and the client LPAR is restored at the remote LPAR with the target VIOS providing the client's I/O functionality.
    Type: Application
    Filed: October 27, 2010
    Publication date: January 31, 2013
    Applicant: IBM CORPORATION
    Inventors: Veena Ganti, James A. Pafumi, Morgan Jeffrey Rosas, Vasu Vallabhaneni
  • Publication number: 20130024718
    Abstract: A method utilizes cluster-awareness to effectively support a live partition mobility (LPM) event and provide recovery from node failure within a Virtual Input/Output (I/O) Server (VIOS) cluster. An LPM utility creates a monitoring thread on a first VIOS on initiation of a corresponding LPM event. The monitoring thread tracks a status of an LPM and records status information in the mobility table of a database. The LPM utility creates other monitoring threads on other VIOSes running on the (same) source server. If the first VIOS VIOS sustains one of multiple failures, the LPM utility provides notification to other functioning nodes/VIOSes. The LPM utility enables a functioning monitoring thread to update the LPM status. In particular, a last monitoring thread may perform cleanup/update operations within the database based on an indication that there are nodes on the first server that are in failed state.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 24, 2013
    Applicant: IBM Corporation
    Inventors: Greg R. Mewhinney, David Nevarez, James A. Pafumi, Jacob J. Rosales
  • Publication number: 20130024855
    Abstract: A method, system, and computer program product enhances resource/process availability by providing hardware based buffering of network packets during checkpointing in a virtualized environment. A High Availability Checkpoint (HAC) utility pre-configures a physical network adapter to buffer outgoing network packets from virtual machines that employ a checkpointing technology. In response to receiving an outgoing network packet from a virtual machine and determining that the virtual machine employs a pre-specified checkpointing technology, the physical network adapter buffers the outgoing network packet. In addition, a primary host performs/facilitates checkpoint operations (associated with the virtual machine) with a secondary host. When checkpoint operations are successfully completed, the HAC utility triggers the transmission of the buffered network packets from the network adapter to a network destination.
    Type: Application
    Filed: July 18, 2011
    Publication date: January 24, 2013
    Applicant: IBM CORPORATION
    Inventor: Geraint North
  • Publication number: 20130019308
    Abstract: The disclosure provides method for preventing CSRF attacks, in which the method provides: intercepting request sent from a client browser to a server; generating a token; generating a response to the request; inserting the token into the response to the request; and sending the response to the request to the client browser with the token inserted into the response. With the method of the disclosure, it is assured that a token is inserted into all the requests made by a user through a client browser for accessing a resource. And it can be assured that the request is issued by the user himself by verifying whether the token in the request is valid, thereby preventing a CSRF attack.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 17, 2013
    Applicant: IBM CORPORATION
    Inventors: Dikran S. Meliksetian, Gang Niu, Qiang Guo Tong
  • Publication number: 20130019250
    Abstract: An illustrative embodiment of a computer-implemented process for interdependent task management selects a task from an execution task dependency chain to form a selected task, wherein a type selected from a set of types including “forAll,” “runOnce” and none is associated with the selected task and determines whether there is a “forAll” task. Responsive to a determination that there is no “forAll” task, determines whether there is a “runOnce” task and responsive to a determination that there is a “runOnce” task further determines whether there is a semaphore for the selected task. Responsive to a determination that there is a semaphore for the selected task, the computer-implemented process determines whether the semaphore is “on” for the selected task and responsive to a determination that the semaphore is “on,” sets the semaphore “off” and executes the selected task.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 17, 2013
    Applicant: IBM CORPORATION
    Inventors: Walfrey Ng, Chenfei Song
  • Publication number: 20130019247
    Abstract: A method is provided for using a temporary object handle. The method performed at a resource manager includes: receiving an open temporary handle request from an application for a resource object, wherein a temporary handle can by asynchronously invalidated by the resource manager at any time; and creating a handle control block at the resource manager for the object, including an indication that the handle is a temporary handle. The method then includes: responsive to receiving a request from an application to use a handle, which has been invalidated by the resource manager, sending a response to the application that the handle is invalidated.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 17, 2013
    Applicant: IBM Corporation
    Inventors: Paul Cullen, Gary Longerstaey, Andrew Hickson, Stuart Reece
  • Publication number: 20130013569
    Abstract: A method enables cluster-level backup and restore functionality of all Virtual Input/Output Server (VIOS) configuration data within a VIOS cluster and the data of a shared VIOS cluster database. The method comprises: performing, via a backup/restore utility of a VIOS partition, a cluster level backup, which creates a first VIOS cluster configuration backup file having configuration information about hardware, logical and virtual devices of each VIOS partition within a VIOS cluster and all cluster data from the shared VIOS database of the VIOS cluster; storing the VIOS cluster configuration backup file within a storage location; and responsive to receipt of a VIOS restore command at a VIOS partition: retrieving the configuration backup file from the storage location; restoring a configuration of the hardware, logical and virtual devices of each VIOS within the VIOS cluster to prior state; and restoring the shared VIOS database with the backed-up cluster data.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 10, 2013
    Applicant: IBM Corporation
    Inventors: James A. Pafumi, Chintamani P. Siddeshwar, Rupesh Kumar Thota, Vasu Vallabhaneni
  • Publication number: 20130013897
    Abstract: A method provides efficient dispatch/completion of an N Dimensional (ND) Range command in a data processing system (DPS). The method comprises: a compiler generating one or more commands from received program instructions; ND Range work processing (WP) logic determining when a command generated by the compiler will be implemented over an ND configuration of operands, where N is greater than one (1); automatically decomposing the ND configuration of operands into a one (1) dimension (1D) work element comprising P sequentially ordered work items that each represent one of the operands; placing the 1D work element within a command queue of the DPS; enabling sequential dispatching of 1D work items in ordered sequence from to one or more processing units; and generating an ND Range output by mapping the 1D work output result to an ND position corresponding to an original location of the operand represented by the 1D work item.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 10, 2013
    Applicant: IBM CORPORATION
    Inventors: Gregory H. Bellows, Brian H. Horton, Joaquin Madruga, Barry L. Minor
  • Publication number: 20130013285
    Abstract: With N_Port ID Virtualization (NPIV), a managed system can he configured so that multiple logical partitions (LPARs) can access independent physical storage through the same physical fibre channel adapter. An NPIV client recovery component of a virtualization management component, such as a Power Hypervisor (pHYP), provides the emulation mapping between server and client virtual fibre channel adapters. The pHYP also provides a mechanism that prevents client partition crashes when the NPIV server (e.g., a VIOS logical partition) goes down. When the NPIV server is rebooted or powers down, the pHYP handles the client LPARs to avoid a crash by removing processing resources from the client logical partition. Thereby, the client logical partition is prevented from attempting to access a root volume group in physical storage via the NPIV server. The pHYP allocates processor resources to the client LPAR when the NPIV server is again available for I/O processing.
    Type: Application
    Filed: September 15, 2012
    Publication date: January 10, 2013
    Applicant: IBM CORPORATION
    Inventors: Michael Paul Cyr, James A. Pafumi, Veena Ganti, Vasu Vallabhaneni