IP Library Granted Patent US 10,082,967
Granted Patent B2
US 10,082,967 · App. 14/857,951 · Granted Sep 25, 2018

Transfer apparatus and recovery control device

Inventor: Toru Asahina (Kawasaki, JP)
Assignee: ALAXALA NETWORKS CORPORATION
G06F3/0617G06F3/0632G06F3/0647G06F3/0685G06F11/1658G06F11/1666
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,082,967
App. No.
14/857,951
Granted
Sep 25, 2018
Kind
B2
Abstract

A transfer apparatus includes a CPU, a memory, a recovery control unit, a non-volatile memory coupled to the recovery control unit, a transfer engine, and a volatile memory, wherein the volatile memory stores a first transfer information base, wherein the non-volatile memory stores a second transfer information base, and the recovery control unit is configured to update the second transfer information base in a case of receiving an instruction to update the second transfer information base, transmit an instruction to update the first transfer information base to the transfer engine, check the consistency of the first transfer information base and the second transfer information base in a case where the transfer apparatus is rebooted, and recover the first transfer information base by using the second transfer information base in a case where the first transfer information base and the second transfer information base are consistent.

Claims (76)

1. A transfer apparatus that transfers data, the apparatus comprising:

a CPU;

a main memory coupled to the CPU;

a recovery control unit coupled to the CPU which controls the recovery of information at a time of reboot of the transfer apparatus;

a non-volatile memory coupled to the recovery control unit;

a transfer engine coupled to the recovery control unit which controls the transfer of the data; and

a volatile memory coupled to the transfer engine,

wherein the main memory stores routing information that indicates a transfer destination of the data,

wherein the volatile memory stores a first transfer information base that is information corresponding to the routing information and that is used in a case where the transfer engine determines the transfer destination of the data,

wherein the non-volatile memory stores a second transfer information base that is backup data of the first transfer information base,

wherein the transfer engine is configured to:

determine the transfer destination of data received by the transfer apparatus by using the first transfer information base; and

transfer the received data to the determined transfer destination, and

wherein the recovery control unit is configured to:

update the second transfer information base on update data in a case of receiving an instruction to update the second transfer information base stored on the non-volatile memory including the update data from the CPU, on the basis of the transfer destination information included in the instruction;

transmit an instruction to update the first transfer information base including the update data to the transfer engine;

check the consistency of the first transfer information base and the second transfer information base in a case where the transfer apparatus is rebooted; and

recover the first transfer information base by using the second transfer information base in a case where the first transfer information base is consistent with the second transfer information base.

2. The transfer apparatus according to claim 1 ,

wherein the recovery control unit is configured to determine that the first transfer information base is not consistent with the second transfer information base in a case where the transfer apparatus is rebooted in a state where an update of the second transfer information base is not completed.

3. The transfer apparatus according to claim 2 ,

wherein the non-volatile memory stores control information that includes a first flag which indicates that the first transfer information base and the second transfer information base are being updated, and

wherein the recovery control unit is configured to:

validate the first flag in a case of receiving an instruction to start updating the second transfer information base from the CPU;

invalidate the first flag in a case of receiving an instruction to end the update of the second transfer information base from the CPU;

determine whether the first flag is validated by referring to the control information in a case where the transfer apparatus is rebooted; and

determine that the first transfer information base is consistent with the second transfer information base in a case of determining that the first flag is invalidated.

4. The transfer apparatus according to claim 3 ,

wherein the recovery control unit is configured to:

validate the first flag in a case of determining that the first transfer information base is consistent with the second transfer information base; and

invalidate the first flag in a case of detecting completion of a recovery of the first transfer information base.

5. The transfer apparatus according to claim 3 ,

wherein the control information includes term information that indicates a term of validity of the second transfer information base used in a recovery of the first transfer information base, and

wherein the recovery control unit is configured to:

obtain the term information from the control information in a case of determining that the first flag is invalidated;

determine whether the term of validity passes based on a current time and the term information; and

determine that the first transfer information base is consistent with the second transfer information base in a case of determining that the term of validity does not pass.

6. The transfer apparatus according to claim 3 ,

wherein the routing information stores a plurality of pieces of transfer destination information, each of which indicates a transfer destination of data,

a piece of transfer destination information includes a second flag that indicates that the piece of transfer destination information is not generated based on the second transfer information base, and

wherein the CPU is configured to:

read the second transfer information base from the non-volatile memory in a case of detecting the first transfer information base being recovered by the recovery control unit;

recover the routing information by generating the transfer destination information using the read second transfer information base;

invalidate the second flag included in each of the plurality of pieces of transfer destination information stored in the recovered routing information;

validate the second flag included in the each of the plurality of pieces of updated transfer destination information in a case where the plurality of pieces of transfer destination information stored in the recovered routing information are updated, and

remove at least one of the plurality of pieces of transfer destination information of which the second flag is invalidated from the routing information in a case where the at least one of the plurality of pieces of transfer destination information of which the second flag is invalidated among the plurality of pieces of transfer destination information stored in the recovered routing information is not updated for a certain period of time.

7. A recovery control device that controls a recovery process which uses backup data at the time of reboot of a transfer apparatus which transfers data, wherein

the transfer apparatus includes a CPU and a transfer engine,

the CPU couples to the transfer engine through the recovery control device,

a main memory coupled to the CPU stores routing information that indicates a transfer destination of the data,

a volatile memory coupled to the transfer engine stores a first transfer information base which is information corresponding to the routing information and that is used in a case where the transfer engine determines the transfer destination of the data, and

the recovery control device is configured to:

connect to a non-volatile memory that stores a second transfer information base which is backup data of the first transfer information base,

update the second transfer information base stored on the non-volatile memory on update data in a case of receiving an instruction to update the second transfer information base including the update data from the CPU, on the basis of the transfer destination information included in the instruction,

transmit an instruction to update the first transfer information base including the update data to the transfer engine,

check the consistency of the first transfer information base and the second transfer information base in a case where the transfer apparatus is rebooted, and

recover the first transfer information base by using the second transfer information base in a case where the first transfer information base is consistent with the second transfer information base.

8. The recovery control device according to claim 7 ,

wherein the recovery control device is configured to determine that the first transfer information base is not consistent with the second transfer information base in a case where the transfer apparatus is rebooted in a state where an update of the second transfer information base is not completed.

9. The recovery control device according to claim 8 ,

wherein the non-volatile memory stores control information that includes a first flag which indicates that the first transfer information base and the second transfer information base are being updated, and

wherein the recovery control device is configured to:

validate the first flag in a case of receiving an instruction to start updating the second transfer information base from the CPU;

invalidate the first flag in a case of receiving an instruction to end the update of the second transfer information base from the CPU;

determine whether the first flag is validated by referring to the control information in a case where the transfer apparatus is rebooted; and

determine that the first transfer information base is consistent with the second transfer information base in a case of determining that the first flag is invalidated.

10. The recovery control device according to claim 9 ,

wherein the recovery control device is configured to:

validate the first flag in a case of determining that the first transfer information base is consistent with the second transfer information base; and

invalidate the first flag in a case of detecting completion of a recovery of the first transfer information base.

11. The recovery control device according to claim 9 ,

wherein the control information includes term information that indicates a term of validity of the second transfer information base used in a recovery of the first transfer information base, and

wherein the recovery control device is configured to:

obtain the term information from the control information in a case of determining that the first flag is invalidated;

determine whether the term of validity passes based on a current time and the term information; and

determine that the first transfer information base is consistent with the second transfer information base in a case of determining that the term of validity does not pass.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded Jul 22, 2026
From: ALAXALA NETWORKS CORPORATION
To: FORTINET, INC.
Reel/Frame 076028/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: ASAHINA, TORU
To: ALAXALA NETWORKS CORPORATION
Reel/Frame 036628/0815 →
Priority Claims (1)
JP 2015-028668 · Feb 17, 2015 · national
Continuity (1)
Related Publication 20160239225A1 · Aug 18, 2016