IP Library Granted Patent US 10,621,101
Granted Patent B2
US 10,621,101 · App. 15/422,012 · Granted Apr 14, 2020

Mechanism to free up the overlay of a file-based write filter

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,621,101
App. No.
15/422,012
Granted
Apr 14, 2020
Kind
B2
Abstract

An overlay of a file-based write filter can be freed up to thereby minimize the likelihood that the overlay will become full and force a system reboot. An overlay-managing write filter can be employed in conjunction with the file-based write filter to monitor files that are stored in the overlay and move files that are not currently being accessed. If a request is made to access a moved file, the overlay-managing write filter can modify the request so that it targets the location of the moved file rather than the location of the original file on the protected volume. In this way, the fact that modified files are being moved from the overlay but not discarded can be hidden from the file-based write filter. As a result, the effective size of the overlay will be increased while still allowing the file-based write filter to function in a normal fashion.

Claims (50)

1. A method, performed by an overlay-managing write filter, for freeing up an overlay of a file-based write filter using an overlay cache, the file-based write filter employing the overlay to protect a protected volume from modification, the method comprising:

identifying that an artifact that exists on the protected volume at a first file system location has been stored in the overlay of the file-based write filter as a result of the artifact being modified;

determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed;

in response to determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed, issuing a request to copy the artifact to a second file system location that is in an overlay cache;

in conjunction with issuing the request to copy the artifact to the second file system location that is in the overlay cache, updating a map to associate the first file system location with the second file system location;

in conjunction with issuing the request to copy the artifact to the second file system location that is in the overlay cache, issuing a request to the file-based write filter to cause the artifact to be removed from the overlay;

after the artifact has been copied to the second file system location that is in the overlay cache and after the artifact has been removed from the overlay, receiving an I/O request that targets the artifact at the first file system location; and

employing the map to redirect the I/O request to target the artifact at the second file system location such that the I/O request will cause the copy of the artifact in the overlay cache to be accessed.

2. The method of claim 1 , wherein determining that the artifact that is stored in the overlay is not currently being accessed comprises determining that no handles to the artifact are open.

3. The method of claim 2 , wherein determining that no handles to the artifact are open comprises monitoring requests to open and close the artifact.

4. The method of claim 2 , wherein determining that no handles to the artifact are open comprises employing a function of the file-based write filter that identifies a number of open handles to the artifact.

5. The method of claim 1 , wherein the overlay cache is implemented on a separate volume.

6. The method of claim 1 , wherein a user mode component issues the request to copy the artifact in response to a notification received from a kernel-mode filter driver.

7. The method of claim 1 , wherein determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed comprises:

determining that a specified amount of time has elapsed since a last handle to the artifact was closed.

8. The method of claim 1 , further comprising:

determining that a size of the overlay has reached a defined threshold,

wherein the overlay-managing write filter identifies that the artifact that exists on the protected volume at the first file system location has been stored in the overlay of the file-based write filter as a result of the artifact being modified after determining that the size of the overlay has reached the defined threshold.

9. The method of claim 1 , wherein the overlay-managing write filter issues the request to the file-based write filter to cause the artifact to be removed from the overlay in response to the artifact being copied to the second file system location that is in the overlay cache.

10. The method of claim 1 , wherein the overlay cache is a portion of the protected volume for which an exclusion has been registered with the file-based write filter.

11. The method of claim 8 wherein the defined threshold is dynamically determined.

12. The method of claim 1 , further comprising:

in conjunction with a system shutdown or reboot, deleting all artifacts that have been copied to the overlay cache.

13. One or more computer storage media storing computer-executable instructions which when executed implement an overlay-managing write filter that is configured to be loaded in a device stack pertaining to a protected volume above a file-based write filter that protects artifacts of the protected volume, the overlay-managing write filter being further configured to:

identify that an artifact that exists on the protected volume at a first file system location has been stored in an overlay of the file-based write filter as a result of the artifact being modified;

determine that the artifact stored in the overlay of the file-based write filter is not currently being accessed;

in response to determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed, issue a request to copy the artifact to a second file system location that is in an overlay cache;

in conjunction with issuing the request to copy the artifact to the second file system location that is in the overlay cache, update a map to associate the first file system location with the second file system location;

in conjunction with issuing the request to copy the artifact to the second file system location that is in the overlay cache, issue a request to the file-based write filter to cause the artifact to be removed from the overlay;

after the artifact has been copied to the second file system location that is in the overlay cache and after the artifact has been removed from the overlay, receive an I/O request that targets the artifact at the first file system location; and

employ the map to redirect the I/O request to target the artifact at the second file system location such that the I/O request will cause the copy of the artifact in the overlay cache to be accessed.

14. The computer storage media of claim 13 , wherein the overlay-managing write filter includes a user-mode component that issues the request to copy the artifact to the second file system location that is in the overlay cache in response to receiving a notification from a kernel-mode component of the overlay-managing write filter.

15. The computer storage media of claim 13 , wherein determining that the artifact that is stored in the overlay is not currently being accessed comprises determining that no handles to the artifact are open.

16. The computer storage media of claim 13 , wherein determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed comprises:

determining that a specified amount of time has elapsed since a last handle to the artifact was closed.

17. The computer storage media of claim 13 , wherein the overlay cache is implemented on a separate volume.

18. The computer storage media of claim 13 , wherein the overlay cache is maintained on the protected volume.

19. The computer storage media of claim 13 , wherein the overlay-managing write filter is further configured to:

determine that a size of the overlay has reached a defined threshold;

wherein the overlay-managing write filter identifies that the artifact that exists on the protected volume at the first file system location has been stored in the overlay of the file-based write filter as a result of the artifact being modified after determining that the size of the overlay has reached the defined threshold.

20. A method, performed by an overlay-managing write filter, for managing an overlay of a file-based write filter using an overlay cache, the file-based write filter employing the overlay to protect a protected volume from modification, the method comprising:

monitoring a size of the overlay;

determining that the size of the overlay has reached a defined threshold;

in response to determining that the size of the overlay has reached the defined threshold, freeing up the overlay by performing the following for each of a plurality of artifacts:

identifying that the artifact that exists on the protected volume at a first file system location has been stored in the overlay of the file-based write filter as a result of the artifact being modified;

determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed;

in response to determining that the artifact stored in the overlay of the file-based write filter is not currently being accessed, issuing a request to copy the artifact to a second file system location that is in an overlay cache;

in conjunction with issuing the request to copy the artifact to the second file system location that is in the overlay cache, issuing a request to the file-based write filter to cause the artifact to be removed from the overlay;

after the artifact has been copied to the second file system location that is in the overlay cache and after the artifact has been removed from the overlay, receiving an I/O request that targets the artifact at the first file system location; and

redirecting the I/O request to target the artifact at the second file system location such that the I/O request will cause the copy of the artifact in the overlay cache to be accessed.

Assignments (9)
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 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
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 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: JOSHI, SALIL S; KAUSHIK, PUNEET
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 041148/0825 →