IP Library Granted Patent US 10,360,117
Granted Patent B2
US 10,360,117 · App. 15/626,374 · Granted Jul 23, 2019

Method and apparatus for performing checkpointing on a network device

Inventors: Steven Michael Haid (Bolton, MA); Lei Cao (Westford, MA); Aaron Tyrone Smith (Sudbury, MA)
Assignee: Stratus Technologies Bermuda Ltd.
G06F11/2028G06F9/45558G06F11/1407G06F11/1466G06F11/1484G06F11/2097G06F2009/45575G06F2009/45579G06F2009/45591G06F2009/45595G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,360,117
App. No.
15/626,374
Granted
Jul 23, 2019
Kind
B2
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.

Claims (32)

1. A method for checkpointing in a network device having 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 comprising the steps of:

determining, by the checkpoint engine, that a checkpoint is required;

requesting, by the checkpoint engine, that the interface agent quiesce 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;

determining, by the interface agent, if there are additional packets being processed by the network application and if not, setting an indication of quiescence in the active virtual machine and if so, continuing to check for additional packets being processed;

determining, by the checkpoint engine, if an indication of quiescence has been set, and if so, declaring a checkpoint, and if not, continuing to check for the quiescence indication;

if the checkpoint is declared, pause the active virtual machine;

copy memory data;

copy state data of the active virtual machine;

resume the active virtual machine; indicate

the checkpoint is complete; restart the

interface agent; and

transfer a copy of memory data and the copy of state data from the active virtual machine to the standby virtual machine.

2. The method of claim 1 wherein the interface agent is a callable library.

3. The method of claim 2 wherein the callable library is a Data Plane development Kit (DPDK) library.

4. A method of bringing a standby virtual machine to an active state comprising the steps of:

determining, by a checkpoint engine of standby virtual machine, that the active virtual machine is no longer functioning properly;

promoting, by the standby virtual machine, itself to be the active virtual machine; applying most recent checkpoint received from the improperly functioning active virtual machine;

setting a failover flag by newly-promoted active virtual machine;

starting newly-active virtual machine at a state set by last checkpoint;

initializing in the newly active virtual machine, by an interface agent, a network adapter hardware and a memory buffer holding incoming packets when the interface agent detects that the failover occurred flag has been set; and

continuing with normal processing.

5. A method for checkpointing in a network device having an active virtual machine, and a standby virtual machine, a network application on the active virtual machine; a checkpoint engine on the active virtual machine; and an interface agent on the active virtual machine, the method comprising the steps of:

determining, by the checkpoint engine, that a checkpoint is required; stopping

receipt of packets by the interface agent;

determining, by the interface agent, if there are additional packets being processed by the network application and if not, indicating quiescence;

declaring a checkpoint by the checkpoint engine, if an indication of quiescence has been set;

pausing the active virtual machine by the hypervisor;

copying memory and state data of the active virtual machine, by the hypervisor;

resuming, by the hypervisor, the active virtual machine;

restarting the interface agent by the checkpoint engine; and

transferring, by the checkpoint engine, the copy of memory and the state data from the active virtual machine to the standby virtual machine.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057254/0557) Recorded Aug 29, 2022
From: CERBERUS BUSINESS FINANCE AGENCY, LLC
To: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 061354/0599 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 9, 2021
From: STRATUS TECHNOLOGIES IRELAND LIMITED; STRATUS TECHNOLOGIES BERMUDA LTD.
To: CERBERUS BUSINESS FINANCE AGENCY, LLC, AS COLLATERAL AGENT
Reel/Frame 057254/0557 →
SECURITY INTEREST Recorded Apr 3, 2020
From: STRATUS TECHNOLOGIES IRELAND LIMITED
To: TRUST BANK (AS SUCCESSOR BY MERGER TO SUNTRUST BANK)
Reel/Frame 052316/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: STRATUS TECHNOLOGIES BERMUDA LTD.
To: STRATUS TECHNOLOGIES IRELAND LTD.
Reel/Frame 052210/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2017
From: HAID, STEVEN MICHAEL; CAO, LEI; SMITH, AARON TYRONE
To: STRATUS TECHNOLOGIES BERMUDA LTD.
Reel/Frame 043247/0692 →
Continuity (2)
Provisional Application 62352241 · Jun 20, 2016
Related Publication 20170364425A1 · Dec 21, 2017
Cited By (6)
US 12,326,811 US 12,405,868 US 12,463,949 US 12,475,006 US 12,625,783 US 12,711,030