IP Library Granted Patent US 7,774,568
Granted Patent B2
US 7,774,568 · App. 11/931,340 · Granted Aug 10, 2010

Clustered snapshots in networks

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 7,774,568
App. No.
11/931,340
Granted
Aug 10, 2010
Kind
B2
Abstract

Apparatus, systems, and methods may operate to assign a plurality of managing nodes to manage a corresponding plurality of groups of blocks forming a portion of a snapshot volume for copy-on-write execution and snapshot write execution. Further operations include coordinating the copy-on-write execution and the snapshot write execution using a write completion map accessible to the managing nodes. Additional apparatus, systems, and methods are disclosed.

Claims (54)

1. An apparatus, comprising:

a memory to store a write completion status map as part of an exception store; and

a processor within a managing node to coordinate copy-on-write execution and snapshot write execution with respect to an assigned group of snapshot blocks forming a portion of a snapshot volume, wherein the write completion map is to be updated by the managing node after the copy-on-write execution or the snapshot write execution is complete, and wherein the write completion status map is accessible to other managing nodes assigned to manage other groups of the snapshot blocks.

2. The apparatus of claim 1 , wherein the processor is to execute a process to determine a status of a bit in the write completion status map with respect to a selected block in the assigned group of snapshot blocks.

3. The apparatus of claim 2 , wherein the processor is to issue a command to lock a selected block in the assigned group of snapshot blocks if the status of the bit is set, and if one of an origin write operation, a snapshot read operation, or a snapshot write operation is to be executed.

4. The apparatus of claim 1 , wherein the memory and the processor are included in a single server.

5. The apparatus of claim 1 , wherein the memory includes a snapshot volume to store a snapshot resulting from the snapshot write execution.

6. A system, comprising:

a memory to store a write completion status map as part of an exception store; and

a plurality of processors within a plurality of nodes to coordinate copy-on-write execution and snapshot write execution with respect to a corresponding plurality of assigned groups of snapshot blocks forming a portion of a snapshot volume, wherein the write completion map is to be updated by one of the plurality of nodes after the copy-on-write execution or the snapshot write execution is complete with respect to a selected block in one of the assigned groups, and wherein the write completion status map is accessible to each of the plurality of nodes.

7. The system of claim 6 , comprising:

a plurality of servers to house the plurality of processors.

8. The system of claim 6 , wherein the memory and the plurality of processors form a portion of a symmetric multiprocessing architecture.

9. A method, comprising:

assigning a plurality of managing nodes to manage a corresponding plurality of groups of blocks forming a portion of a snapshot volume for copy-on-write execution and snapshot write execution; and

coordinating the copy-on-write execution and the snapshot write execution using a write completion map accessible to the managing nodes.

10. The method of claim 9 , further comprising:

updating the write completion map when the copy-on-write execution or the snapshot write execution is completed with respect to a selected block in one of the groups of blocks.

11. The method of claim 9 , further comprising:

receiving a request for an origin write operation with respect to a selected block in one of the groups of blocks;

accessing a cached copy of the write completion map to determine whether the copy-on-write execution or the snapshot write execution is complete with respect to the selected block; and

locking the selected block prior to executing the origin write if the write completion map indicates the copy-on-write execution or the snapshot write execution is complete.

12. The method of claim 9 , wherein determining whether the copy-on-write execution or the snapshot execution is complete comprises:

determining whether a bit in the write completion map is set.

13. The method of claim 9 , further comprising:

receiving a request for a snapshot read operation;

accessing a cached copy of the write completion map to determine whether the copy-on-write execution or the snapshot write execution is complete with respect to a selected block in one of the groups of blocks; and

locking the selected block prior to executing the snapshot read operation if the write completion map indicates the copy-on-write execution or the snapshot write execution is complete.

14. The method of claim 9 , comprising:

updating a status of a write completion bit in the write completion map after completing one of the copy-on-write execution or the snapshot write execution with respect to a selected block in one of the groups of blocks.

15. The method of claim 9 , wherein the write completion map is included in an exception store.

16. The method of claim 15 , wherein the exception store is included in the snapshot volume.

17. The method of claim 9 , comprising:

managing locking and unlocking a selected block in the groups of blocks using an assigned one of the plurality of managing nodes.

18. The method of claim 9 , comprising:

maintaining a copy of the write completion map on each one of the plurality of managing nodes.

19. The method of claim 9 , comprising:

prior to unlocking a selected block in the groups of blocks, updating the write completion map status for the selected block; and

updating mapping meta data associated with an assigned one of the plurality of managing nodes corresponding to the selected block.

20. The method of claim 9 , comprising:

determining that a prior read lock or a prior write lock has already been acquired with respect to a selected block in the groups of blocks; and

waiting until the prior read lock or the prior write lock is released before acquiring a new write lock on the selected block.

21. A method, comprising:

receiving a request to execute a snapshot write or a copy-on-write;

accessing a copy of a write completion map accessible to a plurality of managing nodes assigned to manage a corresponding plurality of groups of blocks forming a portion of a snapshot volume;

determining that a selected block in the groups of blocks is free;

executing the snapshot write or the copy-on-write; and

updating the write completion map to indicate that execution of the snapshot write or the copy-on-write is complete.

22. The method of claim 21 , comprising:

receiving a request for an origin read operation; and

refraining from locking the selected block prior to executing the origin read operation regardless of a state of the write completion map.

23. The method of claim 21 , comprising:

determining whether a bit is set in the completion map for the selected block; and

if the bit is not set, acquiring a read lock or a write lock on the selected block prior to executing the snapshot write or the copy-on-write.

Assignments (13)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →