IP Library › Granted Patent US 10,635,552
Granted Patent B1
US 10,635,552 · App. 15/667,144 · Granted Apr 28, 2020

Method for tracking validity of journal copies to allow journal mirroring

Inventors: Suraj Brahma Raju (Issaquah, WA); Ronald Steinke (Tacoma, WA)
Assignee: EMC IP Holding Company LLC
G06F11/2064G06F3/065G06F3/0619G06F3/0679G06F16/1865G06F11/20G06F2201/805
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,635,552
App. No.
15/667,144
Granted
Apr 28, 2020
Kind
B1
Abstract

Implementations are provided herein for a node among a cluster of nodes to maintain copies of its journal both locally and on a buddy node. Each copy of the journal can be associated with a validity bit and a clean bit that can be provided as inputs to a journal mirror state machine that can be used to maintain consistency between local copies of the journal and mirrored copies of the journal. The node can operate in a read-only mode or a read-write mode, whereby operating in read-only mode prevents changes to the local journal. The status of the mirror copy of the journal can be established in a link status depending on its availability. The journal can then transition between various states of the state machine upon triggering events that change the link status or the mode of the node. It can be appreciated that the transitioning among states of the state machine can provide crash-consistency for the filesystem during operation.

Claims (98)

1. A method comprising:

maintaining a local journal on a local node and a mirror journal on a buddy node, wherein the local node and the buddy node form a buddy node pair, wherein each copy of the journal is associated with a valid bit and a clean bit, wherein the local journal is associated with a mode wherein the mode is a read-only mode or a read-write mode, wherein the mirror journal is associated with a link status, and wherein the link status is a link up status or a link down status;

mounting the local node by:

determining the valid bit of the local journal based on a node state block of the local node;

determining the link status; and

setting the local journal to the read-only mode; and

transitioning to one of an unknown state, a sync back state, a sync forward state, a read only state, a valid unprotected state, or a valid protected stated in response to at least one of the link status changing or the mode changing.

2. The method of claim 1 , further comprising:

in response to transitioning to the sync back state, overwriting the local journal in the local node with the mirror journal from the buddy node;

in response to the overwriting being successful:

setting the valid bit of the local journal to valid;

setting the clean bit to clean; and

transitioning to a read only state.

3. The method of claim 2 , further comprising:

in response to at least one of the copying being unsuccessful or the mirror journal being in the link down status, transitioning to the unknown state.

4. The method of claim 1 , further comprising:

in response to transitioning to the sync forward state, overwriting the mirror journal in the buddy node with the local journal from the local node.

5. The method of claim 4 , further comprising:

in response to the overwriting being successful while the local journal is associated with the read-only mode:

setting the valid bit of the mirror journal to valid;

setting the clean bit to clean; and

transitioning to a read only state.

6. The method of claim 4 , further comprising:

in response to the overwriting being successful while the local journal is associated with the read-write mode:

setting the valid bit of the mirror journal to valid; and

transitioning to a valid protected state.

7. The method of claim 1 , further comprising:

maintaining the valid protected state;

in response to the local journal transitioning to the read-only mode:

setting the clean to clean; and

transitioning to a read only state;

in response to the link status of the mirror journal transitioning to the link down status:

setting the valid bit associated with the mirror journal to invalid; and

transitioning to a valid unprotected state.

8. The method of claim 1 , further comprising:

maintaining a valid unprotected state:

in response to the link status changing to the link up status, transitioning to a sync forward state; and

in response to the mode changing to read-only mode, changing to a read only state.

9. The method of claim 1 , further comprising:

maintaining the read only state;

in response to the mode changing to the read-write state:

setting the clean bit to dirty;

in response to the link status being the link up status:

in response to the valid bit associated with the mirror journal being valid, transitioning to the valid protected state; and

in response to the valid bit associated with the mirror journal being invalid, transitioning to a sync forward state; and

in response to the link status being the link down status transitioning to the valid unprotected state.

10. The method of claim 1 , further comprising:

maintaining the read only state; and

in response to the valid bit of the local journal being valid, the link status being in the link up status, and the valid bit of the mirror journal being set to invalid, transitioning to a sync forward state.

11. A non-transitory computer readable medium with program instructions stored thereon to perform the following acts:

maintaining a local journal on a local node and a mirror journal on a buddy node, wherein the local node and the buddy node form a buddy node pair, wherein each copy of the journal is associated with a valid bit and a clean bit, wherein the local journal is associated with a mode wherein the mode is a read-only mode or a read-write mode, wherein the mirror journal is associated with a link status, and wherein the link status is a link up status or a link down status;

mounting the local node by:

determining the valid bit of the local journal based on a node state block of the local node;

determining the link status; and

setting the local journal to the read-only mode; and

transitioning to one of an unknown state, a sync back state, a sync forward state, a read only state, a valid unprotected state, or a valid protected stated in response to at least one of the link status changing or the mode changing.

12. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

in response to transitioning to the sync back state, overwriting the local journal in the local node with the mirror journal from the buddy node;

in response to the overwriting being successful:

setting the valid bit of the local journal to valid;

setting the clean bit to clean; and

transitioning to a read only state.

13. The non-transitory computer readable medium of claim 12 , with program instructions stored thereon to further perform the following acts:

in response to at least one of the copying being unsuccessful or the mirror journal being in the link down status, transitioning to the unknown state.

14. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

in response to transitioning to the sync forward state, overwriting the mirror journal in the buddy node with the local journal from the local node.

15. The non-transitory computer readable medium of claim 14 , with program instructions stored thereon to further perform the following acts:

in response to the overwriting being successful while the local journal is associated with the read-only mode:

setting the valid bit of the mirror journal to valid;

setting the clean bit to clean; and

transitioning to a read only state.

16. The non-transitory computer readable medium of claim 14 , with program instructions stored thereon to further perform the following acts:

in response to the overwriting being successful while the local journal is associated with the read-write mode:

setting the valid bit of the mirror journal to valid; and

transitioning to a valid protected state.

17. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

maintaining the valid protected state;

in response to the local journal transitioning to the read-only mode:

setting the clean bit to clean; and

transitioning to a read only state;

in response to the link status of the mirror journal transitioning to the link down status:

setting the valid bit associated with the mirror journal to invalid; and

transitioning to a valid unprotected state.

18. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

maintaining a valid unprotected state:

in response to the link status changing to the link up status, transitioning to a sync forward state; and

in response to the mode changing to read-only mode, changing to a read only state.

19. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

maintaining the read only state;

in response to the mode changing to the read-write state:

setting the clean bit to dirty;

in response to the link status being the link up status:

in response to the valid bit associated with the mirror journal being valid, transitioning to the valid protected state; and

in response to the valid bit associated with the mirror journal being invalid, transitioning to a sync forward state; and

in response to the link status being the link down status transitioning to the valid unprotected state.

20. The non-transitory computer readable medium of claim 11 , with program instructions stored thereon to further perform the following acts:

maintaining the read only state; and

in response to the valid bit of the local journal being valid, the link status being in the link up status, and the valid bit of the mirror journal being set to invalid, transitioning to a sync forward state.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: RAJU, SURAJ BRAHMA; STEINKE, RONALD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043873/0474 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
Cited By (1)
US 12,657,088