Patents by Inventor Steven Michael Haid

Steven Michael Haid 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: 11620196
    Abstract: In part, the disclosure relates to systems and methods to rapidly copy the computer operating system, drivers and applications from a source computer to a target computer using a duplication engine. Once the copy is complete the source computer will resume execution, and the target computer will first alter its configuration (also referred to as a role or personality) and then resume execution conforming to its new configuration as indicated by a profile stored in protected or specialized memory. The profile can be value, a file, or other memory structure and is protected in the sense that the profile (and or the region of memory where it is stored) must not be overwritten by a state transfer from the source computer to the target computer.
    Type: Grant
    Filed: June 13, 2020
    Date of Patent: April 4, 2023
    Inventor: Steven Michael Haid
  • Patent number: 11429466
    Abstract: A method and apparatus of performing fault tolerance in a fault tolerant computer system comprising: a primary node having a primary node processor; a secondary node having a secondary node processor, each node further comprising a respective memory; a respective checkpoint shim; each of the primary and secondary node further comprising: a respective non-virtual operating system (OS), the non-virtual OS comprising a respective; network driver; storage driver; and checkpoint engine; the method comprising the steps of: acting upon a request from a client by the respective OS of the primary and the secondary node, comparing the result obtained by the OS of the primary node and the secondary node by the network driver of the primary node for similarity, and if the comparison of indicates similarity less than a predetermined amount, the primary node network driver informs the primary node checkpoint engine to begin a checkpoint process.
    Type: Grant
    Filed: June 13, 2020
    Date of Patent: August 30, 2022
    Inventors: Charles J. Horvath, Lei Cao, Steven Michael Haid, John R. MacLeod, Angel L. Pagan, Nathaniel Horwitch Dailey, Wendy J. McNaughton, Stephen J. Wark
  • Patent number: 11288123
    Abstract: The disclosure relates to a method of checkpointing. The method may include determining, by the primary computer, when to initiate a checkpoint point operation; dividing, at the primary computer, checkpoint data into two or more groups, wherein each group includes one or more pages of memory; transmitting a first group to the secondary computer; upon receiving, by the secondary computer, the first group, correlating memory pages in the first group with pages in memory on the secondary computer; determining, at the secondary computer, which bytes of memory pages of the first group differ from the correlated pages stored in memory in the secondary computer; and applying data from the first group by swapping differences between the memory pages of the first group and the correlated memory pages stored in the secondary computer. Where at least some of these multiple operations are performed in parallel during a subset of the overall checkpoint operation.
    Type: Grant
    Filed: June 13, 2020
    Date of Patent: March 29, 2022
    Inventors: Steven Michael Haid, Wendy J. McNaughton
  • Publication number: 20210034465
    Abstract: The disclosure relates to a method of checkpointing. The method may include determining, by the primary computer, when to initiate a checkpoint point operation; dividing, at the primary computer, checkpoint data into two or more groups, wherein each group includes one or more pages of memory; transmitting a first group to the secondary computer; upon receiving, by the secondary computer, the first group, correlating memory pages in the first group with pages in memory on the secondary computer; determining, at the secondary computer, which bytes of memory pages of the first group differ from the correlated pages stored in memory in the secondary computer; and applying data from the first group by swapping differences between the memory pages of the first group and the correlated memory pages stored in the secondary computer. Where at least some of these multiple operations are performed in parallel during a subset of the overall checkpoint operation.
    Type: Application
    Filed: June 13, 2020
    Publication date: February 4, 2021
    Inventors: Steven Michael Haid, Wendy J. McNaughton
  • Publication number: 20210034447
    Abstract: A method and apparatus of performing fault tolerance in a fault tolerant computer system comprising: a primary node having a primary node processor; a secondary node having a secondary node processor, each node further comprising a respective memory; a respective checkpoint shim; each of the primary and secondary node further comprising: a respective non-virtual operating system (OS), the non-virtual OS comprising a respective; network driver; storage driver; and checkpoint engine; the method comprising the steps of: acting upon a request from a client by the respective OS of the primary and the secondary node, comparing the result obtained by the OS of the primary node and the secondary node by the network driver of the primary node for similarity, and if the comparison of indicates similarity less than a predetermined amount, the primary node network driver informs the primary node checkpoint engine to begin a checkpoint process.
    Type: Application
    Filed: June 13, 2020
    Publication date: February 4, 2021
    Inventors: Charles J. Horvath, Lei Cao, Steven Michael Haid, John R. MacLeod, Angel L. Pagan, Nathaniel Horwitch Dailey, Wendy J. McNaughton, Stephen J. Wark
  • Publication number: 20210034483
    Abstract: In part, the disclosure relates to systems and methods to rapidly copy the computer operating system, drivers and applications from a source computer to a target computer using a duplication engine. Once the copy is complete the source computer will resume execution, and the target computer will first alter its configuration (also referred to as a role or personality) and then resume execution conforming to its new configuration as indicated by a profile stored in protected or specialized memory. The profile can be value, a file, or other memory structure and is protected in the sense that the profile (and or the region of memory where it is stored) must not be overwritten by a state transfer from the source computer to the target computer.
    Type: Application
    Filed: June 13, 2020
    Publication date: February 4, 2021
    Applicant: Stratus Technologies Bermuda, Ltd.
    Inventor: Steven Michael Haid
  • Patent number: 10360117
    Abstract: A checkpointing method in a network device fault tolerant system using virtual machines. In one embodiment, the network device has an input port, an output port, an active virtual machine and a standby virtual machine, a network application on the active virtual machine which manipulates data present on the input port and transmits the manipulated data from the output port; a checkpoint engine on the active virtual machine; and an interface agent, on the active virtual machine, having callable functions to move data from the input port to the output port. The method includes the steps of determining, by the checkpoint engine, that a checkpoint is required; requesting by the checkpoint engine that the interface agent quiescent itself; returning, by the interface agent to the network application, an indicator that no packets are available regardless of whether or not packets are arriving at the input port.
    Type: Grant
    Filed: June 19, 2017
    Date of Patent: July 23, 2019
    Assignee: Stratus Technologies Bermuda Ltd.
    Inventors: Steven Michael Haid, Lei Cao, Aaron Tyrone Smith
  • Patent number: 10216598
    Abstract: A method of transferring memory from an active to a standby memory in an FT Server system. The method includes the steps of: reserving a portion of memory using BIOS; loading and initializing an FT Kernel Mode Driver; loading and initializing an FT Virtual Machine Manager (FTVMM) including the Second Level Address Translation table SLAT into the reserved memory. In another embodiment, the method includes tracking memory accesses using the FTVMM's SLAT in Reserved Memory and tracking “L2” Guest memory accesses by tracking the current Guest's SLAT and intercepting the Hypervisor's writes to the SLAT. In yet another embodiment, the method includes entering Brownout by collecting the D-Bits; invalidating the processor's cached SLAT translation entries, and copying the dirtied pages from the active memory to memory in the second Subsystem. In one embodiment, the method includes entering Blackout and moving the final dirty pages from active to the mirror memory.
    Type: Grant
    Filed: July 11, 2017
    Date of Patent: February 26, 2019
    Assignee: Stratus Technologies Bermuda LTD.
    Inventors: Steven Michael Haid, John Rogers MacLeod
  • Publication number: 20190018746
    Abstract: A method of transferring memory from an active to a standby memory in an FT Server system. The method includes the steps of: reserving a portion of memory using BIOS; loading and initializing an FT Kernel Mode Driver; loading and initializing an FT Virtual Machine Manager (FTVMM) including the Second Level Address Translation table SLAT into the reserved memory. In another embodiment, the method includes tracking memory accesses using the FTVMM's SLAT in Reserved Memory and tracking “L2” Guest memory accesses by tracking the current Guest's SLAT and intercepting the Hypervisor's writes to the SLAT. In yet another embodiment, the method includes entering Brownout by collecting the D-Bits; invalidating the processor's cached SLAT translation entries, and copying the dirtied pages from the active memory to memory in the second Subsystem. In one embodiment, the method includes entering Blackout and moving the final dirty pages from active to the mirror memory.
    Type: Application
    Filed: July 11, 2017
    Publication date: January 17, 2019
    Applicant: Stratus Technologies Bermuda Ltd.
    Inventors: Steven Michael Haid, John Rogers MacLeod
  • Publication number: 20170364425
    Abstract: A checkpointing method in a network device fault tolerant system using virtual machines. In one embodiment, the network device has an input port, an output port, an active virtual machine and a standby virtual machine, a network application on the active virtual machine which manipulates data present on the input port and transmits the manipulated data from the output port; a checkpoint engine on the active virtual machine; and an interface agent, on the active virtual machine, having callable functions to move data from the input port to the output port. The method includes the steps of determining, by the checkpoint engine, that a checkpoint is required; requesting by the checkpoint engine that the interface agent quiescent itself; returning, by the interface agent to the network application, an indicator that no packets are available regardless of whether or not packets are arriving at the input port.
    Type: Application
    Filed: June 19, 2017
    Publication date: December 21, 2017
    Applicant: STRATUS TECHNOLOGIES BERMUDA LTD.
    Inventors: Steven Michael Haid, Lei Cao, Aaron Tyrone Smith