Patents by Inventor Thomas D. Bissett

Thomas D. Bissett 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: 10095590
    Abstract: A fault tolerant computer system having two virtual machines (VMs), each running on a separate host device, is connected over a network to one or more I/O devices. The system operates to monitor the health of one or more operational characteristics associated with each VM, and in the event that the health of both virtual machines dictates that one or the other of the VMs should be downgraded, but the system is not able to determine which VM should be downgraded and there is an imbalance in a monitored system operational characteristic, the system can defer downgrading one VM for a selected period of time during which the operational characteristic that is in imbalance is monitored. If the imbalance is resolved, the downgrade is cancelled, if an operational fault is confirmed prior to the expiration of the deferral period or if the deferral period expires, then one host is downgraded.
    Type: Grant
    Filed: May 5, 2016
    Date of Patent: October 9, 2018
    Inventors: Thomas D Bissett, Stephen J Wark, Paul A Leveille, James D McCollum, Angel L Pagan
  • Patent number: 9760442
    Abstract: A method of delaying checkpointing in a virtual machine system. In one embodiment, the method includes the steps of examining a network frame to determine if it is a deferrable frame and if the frame is a deferrable frame, delaying a checkpoint associated with the frame. In another embodiment, the deferrable frame is one of a group comprising: an IP packet tagged with the ‘more fragments’ attribute; TCP data segments that lack the PSH flag and carry no flags other than ‘ACK’; and TCP segments that contain no data and carry only the ‘ACK’ flag; and any frame originating from or destined to a designated network address or port number. In still another embodiment, the method includes the step of concatenating the delays due to deferrable frames. In still yet another embodiment, the method further includes setting an upper limit to the amount of delay that can be generated.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: September 12, 2017
    Assignee: Stratus Technologies Bermuda Ltd.
    Inventors: Thomas D. Bissett, Paul A. Leveille, Srinivasu Chinta
  • Patent number: 9652338
    Abstract: A method for determining a delay in a dynamic, event driven, checkpoint interval. In one embodiment, the method includes the steps of determining the number of network bits to be transferred; determining the target bit transfer rate; calculating the next cycle delay as the number of bits to be transferred divided by the target bit transfer rate. In another aspect, the invention relates to a method for delaying a checkpoint interval. In one embodiment, the method includes the steps of monitoring the transfer of a prior batch of network data and delaying a subsequent checkpoint until the transfer of a prior batch of network data has reached a certain predetermined level of completion. In another embodiment, the predetermined level of completion is 100%.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: May 16, 2017
    Assignee: Stratus Technologies Bermuda Ltd.
    Inventors: Thomas D. Bissett, Paul A. Leveille, Srinivasu Chinta
  • Patent number: 9588844
    Abstract: In one aspect, the invention relates to a fault tolerant computing system. The system includes a primary virtual machine and a secondary virtual machine, wherein the primary and secondary virtual machines are in communication, wherein the primary virtual machine comprises a first checkpointing engine and a first network interface, wherein the secondary virtual machine comprises a second network interface, wherein the first checkpointing engine forwards a page of memory of the primary virtual machine to the second virtual machine such that the first checkpointing engine can checkpoint the page of memory without pausing the primary virtual machine.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: March 7, 2017
    Assignee: Stratus Technologies Bermuda Ltd.
    Inventors: Thomas D. Bissett, Paul A. Leveille
  • Publication number: 20160328302
    Abstract: A fault tolerant computer system having two virtual machines (VMs), each running on a separate host device, is connected over a network to one or more I/O devices. The system operates to monitor the health of one or more operational characteristics associated with each VM, and in the event that the health of both virtual machines dictates that one or the other of the VMs should be downgraded, but the system is not able to determine which VM should be downgraded and there is an imbalance in a monitored system operational characteristic, the system can defer downgrading one VM for a selected period of time during which the operational characteristic that is in imbalance is monitored. If the imbalance is resolved, the downgrade is cancelled, if an operational fault is confirmed prior to the expiration of the deferral period or if the deferral period expires, then one host is downgraded.
    Type: Application
    Filed: May 5, 2016
    Publication date: November 10, 2016
    Inventors: THOMAS D. BISSETT, STEPHEN J. WARK, PAUL A. LEVEILLE, JAMES D. MCCOLLUM, ANGEL L. PAGAN
  • Publication number: 20150205673
    Abstract: In one aspect, the invention relates to a fault tolerant computing system. The system includes a primary virtual machine and a secondary virtual machine, wherein the primary and secondary virtual machines are in communication, wherein the primary virtual machine comprises a first checkpointing engine and a first network interface, wherein the secondary virtual machine comprises a second network interface, wherein the first checkpointing engine forwards a page of memory of the primary virtual machine to the second virtual machine such that the first checkpointing engine can checkpoint the page of memory without pausing the primary virtual machine.
    Type: Application
    Filed: December 16, 2014
    Publication date: July 23, 2015
    Inventors: Thomas D. Bissett, Paul A. Leveille
  • Publication number: 20150205671
    Abstract: A method for determining a delay in a dynamic, event driven, checkpoint interval. In one embodiment, the method includes the steps of determining the number of network bits to be transferred; determining the target bit transfer rate; calculating the next cycle delay as the number of bits to be transferred divided by the target bit transfer rate. In another aspect, the invention relates to a method for delaying a checkpoint interval. In one embodiment, the method includes the steps of monitoring the transfer of a prior batch of network data and delaying a subsequent checkpoint until the transfer of a prior batch of network data has reached a certain predetermined level of completion. In another embodiment, the predetermined level of completion is 100%.
    Type: Application
    Filed: December 16, 2014
    Publication date: July 23, 2015
    Inventors: Thomas D. Bissett, Paul A. Leveille, Srinivasu Chinta
  • Publication number: 20150205672
    Abstract: A method of delaying checkpointing in a virtual machine system. In one embodiment, the method includes the steps of examining a network frame to determine if it is a deferrable frame and if the frame is a deferrable frame, delaying a checkpoint associated with the frame. In another embodiment, the deferrable frame is one of a group comprising: an IP packet tagged with the ‘more fragments’ attribute; TCP data segments that lack the PSH flag and carry no flags other than ‘ACK’; and TCP segments that contain no data and carry only the ‘ACK’ flag; and any frame originating from or destined to a designated network address or port number. In still another embodiment, the method includes the step of concatenating the delays due to deferrable frames. In still yet another embodiment, the method further includes setting an upper limit to the amount of delay that can be generated.
    Type: Application
    Filed: December 16, 2014
    Publication date: July 23, 2015
    Inventors: Thomas D. Bissett, Paul A. Leveille, Srinivasu Chinta
  • Patent number: 8812907
    Abstract: A computer system configured to provide fault tolerance includes a first host system and a second host system. The first host system is programmed to monitor a number of portions of memory of the first host system that have been modified by a guest running on the first host system and, upon determining that the number of portions exceeds a threshold level, determine that a checkpoint needs to be created. Upon determining that the checkpoint needs to be created, operation of the guest is paused and checkpoint data is generated. After generating the checkpoint data, operation of the guest is resumed while the checkpoint data is transmitted to the second host system.
    Type: Grant
    Filed: July 19, 2011
    Date of Patent: August 19, 2014
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Paul A. Leveille, Ted M. Lin, Jerry Melnick, Angel L. Pagan, Glenn A. Tremblay
  • Patent number: 7877552
    Abstract: A symmetric multiprocessing fault-tolerant computer system controls memory access in a symmetric multiprocessing computer system. To do so, virtual page structures are created, where the virtual page structures reflect physical page access privileges to shared memory for processors in a symmetric multiprocessing computer system. Access to shared memory is controlled based on physical page access privileges reflected in the virtual paging structures to coordinate deterministic shared memory access between processors in the symmetric multiprocessing computer system. A symmetric multiprocessing fault-tolerant computer system may use duplication or continuous replay.
    Type: Grant
    Filed: May 23, 2006
    Date of Patent: January 25, 2011
    Assignee: Marathon Technologies Corporation
    Inventors: Paul A. Leveille, Thomas D. Bissett, Stephen S. Corbin, Jerry Melnick, Glenn A. Tremblay, Satoshi Watanabe, Keiichi Koyama
  • Publication number: 20090240916
    Abstract: A fault tolerant/fault resilient computer system includes a first coserver and a second coserver. The first coserver includes a first application environment (AE) processor and a first I/O subsystem processor on a first common motherboard. The second coserver includes a second AE processor and a second I/O subsystem processor on a second common motherboard.
    Type: Application
    Filed: May 1, 2009
    Publication date: September 24, 2009
    Applicant: MARATHON TECHNOLOGIES CORPORATION
    Inventors: Glenn A. Tremblay, Paul A. Leveille, James D. McCollum, Thomas D. Bissett, J. Mark Pratt
  • Publication number: 20030093570
    Abstract: Operation of two asynchronous processors are synchronized with an I/O device by receiving, at a first processor having a first clocking system, data from an I/O device. The data is received at a first time associated with the first clocking system, and is forwarded from the first processor to a second processor having a second clocking system that is not synchronized with the first clocking system. The data is processed at the first processor at a second time corresponding to the first time in the first clocking system plus a time offset, and at the second processor at a third time corresponding to the first time in the second clocking system plus the time offset.
    Type: Application
    Filed: June 25, 2002
    Publication date: May 15, 2003
    Inventor: Thomas D. Bissett
  • Patent number: 6473869
    Abstract: A fault tolerant/fault resilient computer system includes at least two compute elements connected to at least one controller. Each compute element has clocks that operate asynchronously to clocks of the other compute elements. The compute elements operate in a first mode in which the compute elements each execute a first stream of instructions in emulated clock lockstep, and in a second mode in which the compute elements each execute a second stream of instructions in instruction lockstep. Each compute element may be a multi-processor compute element.
    Type: Grant
    Filed: August 10, 2001
    Date of Patent: October 29, 2002
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Paul A. Leveille, Erik Muench
  • Publication number: 20020026604
    Abstract: A fault tolerant/fault resilient computer system includes at least two compute elements connected to at least one controller. Each compute element has clocks that operate asynchronously to clocks of the other compute elements. The compute elements operate in a first mode in which the compute elements each execute a first stream of instructions in emulated clock lockstep, and in a second mode in which the compute elements each execute a second stream of instructions in instruction lockstep. Each compute element may be a multi-processor compute element.
    Type: Application
    Filed: August 10, 2001
    Publication date: February 28, 2002
    Applicant: Marathon Technologies Corporation, a Delaware corporation
    Inventors: Thomas D. Bissett, Paul A. Leveille, Erik Muench
  • Patent number: 6279119
    Abstract: A fault tolerant/fault resilient computer system includes at least two compute elements connected to at least one controller. Each compute element has clocks that operate asynchronously to clocks of the other compute elements. The compute elements operate in a first mode in which the compute elements each execute a first stream of instructions in emulated clock lockstep, and in a second mode in which the compute elements each execute a second stream of instructions in instruction lockstep. Each compute element may be a multi-processor compute element.
    Type: Grant
    Filed: November 13, 1998
    Date of Patent: August 21, 2001
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Paul A. Leveille, Erik Muench
  • Patent number: 6205565
    Abstract: Data transfer to computing elements is synchronized in a computer system that includes the computing elements and controllers that provide data from data sources to the computing elements. A request for data made by a computing element is intercepted and transmitted to the controllers. At least a first controller responds by transmitting requested data to the computing element and by indicating how a second controller will respond to the intercepted request.
    Type: Grant
    Filed: May 19, 1998
    Date of Patent: March 20, 2001
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Martin J. Fitzgerald, V, Paul A. Leveille, James D. McCollum, Erik Muench, Glenn A. Tremblay
  • Patent number: 5896523
    Abstract: Synchronized execution is maintained by compute elements processing instruction streams in a computer system including the compute elements and a controller. Each compute element includes a clock that operates asynchronously with respect to clocks of the other compute elements. Each compute element processes instructions from an instruction stream and counts the instructions processed. Upon processing a quantum of instructions from the instruction stream, the compute element initiates a synchronization procedure and continues to process instructions from the instruction stream and to count instructions processed from the instruction stream. The compute element halts processing of instructions from the instruction stream after processing an unspecified number of instructions from the instruction stream in addition to the quantum of instructions. Upon halting processing, the compute element sends a synchronization request to the controller and waits for a synchronization reply.
    Type: Grant
    Filed: June 4, 1997
    Date of Patent: April 20, 1999
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Paul A. Leveille, Erik Muench, Glenn A. Tremblay
  • Patent number: 5790397
    Abstract: Data transfer to computing elements is synchronized in a computer system that includes the computing elements and controllers that provide data from data sources to the computing elements. A request for data made by a computing element is intercepted and transmitted to the controllers. At least a first controller responds by transmitting requested data to the computing element and by indicating how a second controller will respond to the intercepted request.
    Type: Grant
    Filed: September 17, 1996
    Date of Patent: August 4, 1998
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Martin J. Fitzgerald, V, Paul A. Leveille, James D. McCollum, Erik Muench, Glenn A. Tremblay
  • Patent number: 5615403
    Abstract: The effects of I/O race conditions caused by asynchrony between processors concurrently executing the same software and I/O devices are eliminated by executing an application program and a first associated operating system with firs processors, and executing an I/O processing program and a second associated operating system with an I/O processor. Memory requests from the application program or the first associated operating system are processed with the first processors, and memory requests from the application program to memory addresses associated with I/O devices are trapped and transmitted to the I/O processor. The I/O processor then performs the trapped memory requests with the I/O processing program after waiting for the identical request to be received from each of the first processors to eliminate the effects of race conditions caused by asynchrony between processors concurrently executing the application program or the first associated operating system and I/O devices.
    Type: Grant
    Filed: October 2, 1995
    Date of Patent: March 25, 1997
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Richard D. Fiorentino, Robert M. Glorioso, Diane T. McCauley, James D. McCollum, Glenn A. Tremblay, Mario Troiani
  • Patent number: 5600784
    Abstract: In a first aspect, a method of synchronizing at least two computing elements that each have clocks that operate asynchronously of the clocks of the other computing elements includes selecting one or more signals, designated as meta time signals, from a set of signals produced by the computing elements, monitoring the computing elements to detect the production of a selected signal by one of the computing elements, waiting for the other computing elements to produce a selected signal, transmitting equally valued time updates to each of the computing elements, and updating the clocks of the computing elements based on the time updates.In a second aspect, fault resilient or fault tolerant computers are produced by designating a first processor as a computing element, designating a second processor as a controller, connecting the computing element and the controller to produce a modular pair, and connecting at least two modular pairs to produce a fault resilient or fault tolerant computer.
    Type: Grant
    Filed: March 16, 1995
    Date of Patent: February 4, 1997
    Assignee: Marathon Technologies Corporation
    Inventors: Thomas D. Bissett, Richard D. Fiorentino, Robert M. Glorioso, Diane T. McCauley, James D. McCollum, Glenn A. Tremblay