Patents by Inventor David Larson

David Larson 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: 9323559
    Abstract: Performing a checkpoint includes determining a checkpoint boundary of the checkpoint for a virtual machine, wherein the virtual machine has a first virtual processor, determining a scheduled hypervisor interrupt for the first virtual processor, and adjusting, by operation of one or more computer processors, the scheduled hypervisor interrupt to before or substantially at the checkpoint boundary.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: April 26, 2016
    Assignee: International Business Machines Corporation
    Inventor: David A. Larson
  • Patent number: 9323553
    Abstract: Performing a checkpoint includes determining a checkpoint boundary of the checkpoint for a virtual machine, wherein the virtual machine has a first virtual processor, determining a scheduled hypervisor interrupt for the first virtual processor, and adjusting, by operation of one or more computer processors, the scheduled hypervisor interrupt to before or substantially at the checkpoint boundary.
    Type: Grant
    Filed: September 13, 2013
    Date of Patent: April 26, 2016
    Assignee: International Business Machines Corporation
    Inventor: David A. Larson
  • Patent number: 9304921
    Abstract: A method, system, and computer readable medium to share data on a global basis within a symmetric multiprocessor (SMP) computer system are disclosed. The method may include grouping a plurality of processor cores into a plurality of affinity groups. Global data may be copied into a plurality of group data structures. Each group data structure may correspond to an affinity group. The method may read a first group data structure by a thread executing on a processor core associated with a first affinity group.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Patent number: 9298622
    Abstract: A method, system, and computer readable medium to share data on a global basis within a symmetric multiprocessor (SMP) computer system are disclosed. The method may include grouping a plurality of processor cores into a plurality of affinity groups. Global data may be copied into a plurality of group data structures. Each group data structure may correspond to an affinity group. The method may read a first group data structure by a thread executing on a processor core associated with a first affinity group.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: March 29, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Publication number: 20160043927
    Abstract: Systems, methods, apparatus and computer-readable medium are described for improving efficiency and robustness for configuring data-planes. Furthermore, systems, methods, and devices are provided for efficiently storing, maintaining and retrieving configuration information for data-planes. The configuration information may be stored and retrieved from a hierarchy of information stored in memory, such as a hierarchy of information in memory, wherein the hierarchy of information has configuration data for one or more data-planes and represents one or more command sequences issued by a controller of the control-plane to one or more data-planes. In certain implementations, the hierarchy of information comprises a plurality of nodes, wherein each node represents at least a portion of a command sequence issued by the controller. The command sequences may be configuration command sequences issued by the control plane to configure the data-planes.
    Type: Application
    Filed: April 6, 2015
    Publication date: February 11, 2016
    Inventor: Michael David Larson
  • Patent number: 9250976
    Abstract: In an embodiment, a lock command is received from a thread that specifies a resource. If tier status in a nodal lock indicates the nodal lock is currently owned, an identifier of the thread is added to a nodal waiters list, and if the thread's lock wait indicator indicates that the thread owns the nodal lock, then a successful completion status is returned for the lock command to the thread after waiting until a next tier wait indicator in the nodal lock indicates that any thread owns a global lock on the resource. If the tier status indicates no thread holds the nodal lock, the tier status is changed to indicate the nodal lock is owned, and if a global waiters and holder list is empty, an identifier of a node at which the thread executes is added to the global waiters and holder list.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Patent number: 9250977
    Abstract: In an embodiment, a lock command is received from a thread that specifies a resource. If tier status in a nodal lock indicates the nodal lock is currently owned, an identifier of the thread is added to a nodal waiters list, and if the thread's lock wait indicator indicates that the thread owns the nodal lock, then a successful completion status is returned for the lock command to the thread after waiting until a next tier wait indicator in the nodal lock indicates that any thread owns a global lock on the resource. If the tier status indicates no thread holds the nodal lock, the tier status is changed to indicate the nodal lock is owned, and if a global waiters and holder list is empty, an identifier of a node at which the thread executes is added to the global waiters and holder list.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Patent number: 9251100
    Abstract: In an embodiment, in response to a request from a producer thread to set a bit in a global bitmap, a nodal lock is obtained on a nodal bitmap at a node at which the producer thread executes. A determination is made whether a corresponding bit in a pending clear bitmap in the nodal bitmap indicates that a clear of the bit in the global bitmap is pending. If the corresponding bit in the pending clear bitmap in the nodal bitmap indicates that a clear of the bit in the global bitmap is pending, the corresponding bit in the pending clear bitmap is cleared. If the corresponding bit in the pending clear bitmap in the nodal bitmap indicates that the clear of the bit in the global bitmap is not pending, a corresponding bit in a pending set bitmap in the nodal bitmap is set.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Patent number: 9251101
    Abstract: In an embodiment, in response to a request from a producer thread to set a bit in a global bitmap, a nodal lock is obtained on a nodal bitmap at a node at which the producer thread executes. A determination is made whether a corresponding bit in a pending clear bitmap in the nodal bitmap indicates that a clear of the bit in the global bitmap is pending. If the corresponding bit in the pending clear bitmap in the nodal bitmap indicates that a clear of the bit in the global bitmap is pending, the corresponding bit in the pending clear bitmap is cleared. If the corresponding bit in the pending clear bitmap in the nodal bitmap indicates that the clear of the bit in the global bitmap is not pending, a corresponding bit in a pending set bitmap in the nodal bitmap is set.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Publication number: 20160026573
    Abstract: Method to perform an operation, the operation comprising processing a first logical partition on a shared processor for the duration of a dispatch cycle, issuing, by a hypervisor, at a predefined time prior to completion of the dispatch cycle, a lightweight hypervisor decrementer (HDEC) interrupt specifying a cache line address buffer location in a virtual processor, and responsive to the lightweight HDEC, writing, by the shared processor, a set of cache line addresses used by the first logical partition to the cache line address buffer location in the virtual processor.
    Type: Application
    Filed: September 30, 2014
    Publication date: January 28, 2016
    Inventors: Stuart Z. JACOBS, David A. LARSON, Michael J. VANCE
  • Publication number: 20160026586
    Abstract: Systems, methods, and computer program products to perform an operation, the operation comprising processing a first logical partition on a shared processor for the duration of a dispatch cycle, issuing, by a hypervisor, at a predefined time prior to completion of the dispatch cycle, a lightweight hypervisor decrementer (HDEC) interrupt specifying a cache line address buffer location in a virtual processor, and responsive to the lightweight HDEC, writing, by the shared processor, a set of cache line addresses used by the first logical partition to the cache line address buffer location in the virtual processor.
    Type: Application
    Filed: July 28, 2014
    Publication date: January 28, 2016
    Inventors: Stuart Z. JACOBS, David A. LARSON, Michael J. VANCE
  • Publication number: 20160019075
    Abstract: Performing a checkpoint includes determining a checkpoint boundary of the checkpoint for a virtual machine, wherein the virtual machine has a first virtual processor, determining a scheduled hypervisor interrupt for the first virtual processor, and adjusting, by operation of one or more computer processors, the scheduled hypervisor interrupt to before or substantially at the checkpoint boundary.
    Type: Application
    Filed: September 30, 2015
    Publication date: January 21, 2016
    Inventor: David A. Larson
  • Patent number: 9235485
    Abstract: In an embodiment, a partition is executed at a primary server, wherein the partition accesses a first memory location at a first memory block address at the primary server. If a first corresponding memory location at a secondary server has an error, wherein the first corresponding memory location at the secondary server corresponds to the first memory location at the primary server, then an object is moved from the first memory location at the primary server to a second memory location at the primary server.
    Type: Grant
    Filed: July 22, 2013
    Date of Patent: January 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Publication number: 20150378755
    Abstract: In an embodiment, a request is received for a first partition to execute on a first virtual processor. If the first physical processor is available at a first node, the first virtual processor is dispatched to execute at the first physical processor at the first node that is the home node of the first virtual processor. If the first physical processor is not available, a determination is made whether the first physical processor is assigned to a second virtual processor and a home node of the second virtual processor is not the first node. If the first physical processor is assigned to a second virtual processor and the home node of the second virtual processor is not the first node, execution of the second virtual processor is stopped on the first physical processor and the first virtual processor is dispatched to the first physical processor.
    Type: Application
    Filed: September 9, 2015
    Publication date: December 31, 2015
    Inventors: Stuart Z. Jacobs, David A. Larson, Naresh Nayar
  • Patent number: 9213560
    Abstract: In an embodiment, a request is received for a first partition to execute on a first virtual processor. If the first physical processor is available at a first node, the first virtual processor is dispatched to execute at the first physical processor at the first node that is the home node of the first virtual processor. If the first physical processor is not available, a determination is made whether the first physical processor is assigned to a second virtual processor and a home node of the second virtual processor is not the first node. If the first physical processor is assigned to a second virtual processor and the home node of the second virtual processor is not the first node, execution of the second virtual processor is stopped on the first physical processor and the first virtual processor is dispatched to the first physical processor.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: December 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson, Naresh Nayar
  • Patent number: 9210555
    Abstract: An adaptor that includes a male connector, a control circuit, and a wireless transceiver coupleable to a corresponding female connector on a portable electronic device provides push-to-talk functionality on the portable electronic device. In conjunction with the device operating system, the adaptor converts a first incoming signal to a first number of low impedance/high impedance pulses detectable by the portable electronic device to initiate a push-to-talk session. During the push-to-talk session, the adaptor transceiver wirelessly transmits and receives communication signals (e.g., audio signals) to and from an accessory device communicably coupled to the adapter. In conjunction with the device operating system, the adaptor converts a second incoming signal to a second number of low impedance/high impedance pulses detectable by the portable electronic device to terminate the push-to-talk session.
    Type: Grant
    Filed: October 15, 2013
    Date of Patent: December 8, 2015
    Assignee: TWISTED PAIR SOLUTIONS, INC.
    Inventors: David Larson, Derick Clack
  • Patent number: 9183017
    Abstract: In an embodiment, a request is received for a first partition to execute on a first virtual processor. If the first physical processor is available at a first node, the first virtual processor is dispatched to execute at the first physical processor at the first node that is the home node of the first virtual processor. If the first physical processor is not available, a determination is made whether the first physical processor is assigned to a second virtual processor and a home node of the second virtual processor is not the first node. If the first physical processor is assigned to a second virtual processor and the home node of the second virtual processor is not the first node, execution of the second virtual processor is stopped on the first physical processor and the first virtual processor is dispatched to the first physical processor.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: November 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson, Naresh Nayar
  • Patent number: 9176910
    Abstract: In an embodiment, in response to receiving a completion interrupt for a first request from a resource, a determination is made whether relocation of memory contents accessed by performance of the first request is in progress. If the relocation of the memory contents accessed by performance of the first request is in progress, a second request is sent to the resource before the memory relocation completes. If the relocation of the memory contents accessed by the performance of the first request is not in progress, the completion interrupt for the first request is sent to the virtual machine that initiated the first request.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: November 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Stuart Z. Jacobs, David A. Larson
  • Patent number: 9164853
    Abstract: A method of a computer system recovering from a core re-initialization failure is described. The method may include automatically detect a core re-initialization failure during a core re-initialization process by a hypervisor. The hypervisor automatically determines whether the core re-initialization failure is a permanent failure. If the core re-initialization failure is a permanent failure, then automatically determine, by the hypervisor, which cores are re-initialized and which cores are indeterminate. Automatically allocate the re-initialized cores between one or more virtual machines by the hypervisor.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Peter J. Heyrman, Stuart Z. Jacobs, David A. Larson
  • Patent number: 9135126
    Abstract: A method of a computer system recovering from a core re-initialization failure is described. The method may include automatically detect a core re-initialization failure during a core re-initialization process by a hypervisor. The hypervisor automatically determines whether the core re-initialization failure is a permanent failure. If the core re-initialization failure is a permanent failure, then automatically determine, by the hypervisor, which cores are re-initialized and which cores are indeterminate. Automatically allocate the re-initialized cores between one or more virtual machines by the hypervisor.
    Type: Grant
    Filed: February 7, 2013
    Date of Patent: September 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Peter J. Heyrman, Stuart Z. Jacobs, David A. Larson