US2021303165A1PendingUtilityA1

Dynamic recycling algorithm to handle overlapping writes during synchronous replication of application workloads with large number of files

Assignee: NETAPP INCPriority: Feb 28, 2019Filed: Jun 10, 2021Published: Sep 30, 2021
Est. expiryFeb 28, 2039(~12.6 yrs left)· nominal 20-yr term from priority
G06F 3/0638G06F 3/0604G06F 3/065G06F 3/061G06F 3/067
65
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are provided for overlapping write handling. Overlapping write managers are used to maintain the order that write operations are executed at a first computing environment and replicated to a second computing environment. Overlapping write managers are pre-allocated as available for managing overlapping write operations. A mapping is used to track what overlapping write managers are currently allocated for particular file handles of files. Thus, if an incoming write operation targets a file handle of an already allocated overlapping write manager, then that overlapping write manager is used to execute and replicate the incoming write operation so that the order of execution of overlapping writes by the second computing environment is the same as at the first computing environment. If there is no allocated overlapping write manager for the file handle, then a new overlapping write manager is allocated and utilized.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 allocating a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment;   configuring the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and   dynamically modifying the first number of overlapping write managers to a second number of overlapping write managers.   
     
     
         2 . The method of  claim 1 , wherein the dynamically modifying comprises:
 allocating additional overlapping write managers based upon a current allocation.   
     
     
         3 . The method of  claim 1 , wherein the dynamically modifying comprises:
 allocating additional overlapping write managers based upon a threshold.   
     
     
         4 . The method of  claim 1 , wherein the dynamically modifying comprises:
 deallocating overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.   
     
     
         5 . The method of  claim 1 , comprising:
 in response to receiving an incoming write, allocating a new overlapping write manager to process the incoming write.   
     
     
         6 . The method of  claim 5 , comprising:
 using the new overlapping write manager to acquire a range lock for executing the incoming write and replicating the incoming write for execution upon a replicated file at the second computing environment.   
     
     
         7 . The method of  claim 6 , comprising:
 releasing the range lock based upon the incoming write finishing execution upon the file and the replicated file.   
     
     
         8 . The method of  claim 1 , wherein a total number of overlapping write managers is maintained within a pool, and the method comprising:
 reducing a number of allocated overlapping write managers from the pool to free computing resources.   
     
     
         9 . A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
 allocate a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment;   configure the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and   dynamically modify the first number of overlapping write managers to a second number of overlapping write managers.   
     
     
         10 . The non-transitory machine readable medium of  claim 9 , wherein the instructions cause the machine to:
 allocate additional overlapping write managers based upon a current allocation.   
     
     
         11 . The non-transitory machine readable medium of  claim 9 , wherein the instructions cause the machine to:
 allocate additional overlapping write managers based upon a threshold.   
     
     
         12 . The non-transitory machine readable medium of  claim 9 , wherein the instructions cause the machine to:
 deallocate overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.   
     
     
         13 . The non-transitory machine readable medium of  claim 9 , wherein the instructions cause the machine to:
 in response to receiving an incoming write, allocate a new overlapping write manager to process the incoming write.   
     
     
         14 . The non-transitory machine readable medium of  claim 13 , wherein the instructions cause the machine to:
 use the new overlapping write manager to acquire a range lock for executing the incoming write and replicating the incoming write for execution upon a replicate filed at the second computing environment.   
     
     
         15 . The non-transitory machine readable medium of  claim 14 , wherein the instructions cause the machine to:
 release the range lock based upon the incoming write finishing execution upon the file and the replicated file.   
     
     
         16 . The non-transitory machine readable medium of  claim 9 , wherein a total number of overlapping write managers is maintained within a pool, and wherein the instructions cause the machine to:
 reduce a number of allocated overlapping write managers from the pool to free computing resources.   
     
     
         17 . A computing device comprising:
 a memory comprising machine executable code; and   a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
 allocate a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment; 
 configure the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and 
 dynamically modify the first number of overlapping write managers to a second number of overlapping write managers. 
   
     
     
         18 . The computing device of  claim 17 , wherein the machine executable code causes the processor to:
 allocate additional overlapping write managers based upon a current allocation.   
     
     
         19 . The computing device of  claim 17 , wherein the machine executable code causes the processor to:
 allocate additional overlapping write managers based upon a threshold.   
     
     
         20 . The computing device of  claim 17 , wherein the machine executable code causes the processor to:
 deallocate overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.

Join the waitlist — get patent alerts

Track US2021303165A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.