IP Library Granted Patent US 10,353,636
Granted Patent B2
US 10,353,636 · App. 15/424,977 · Granted Jul 16, 2019

Write filter with dynamically expandable overlay

Inventors: Puneet Kaushik (Fremont, CA); Salil S Joshi (Fremont, CA); Sumit Popli (Campbell, CA)
Assignee: WYSE TECHNOLOGY L.L.C.
G06F3/0673G06F3/0617G06F3/0659G06F12/0638G06F2212/1024G06F2212/1044G06F2212/1048
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,353,636
App. No.
15/424,977
Granted
Jul 16, 2019
Kind
B2
Abstract

A write filter can be configured to employ a dynamically expandable overlay. The size of the overlay could initially be small and could then grow and shrink during the current session based on demand. The overlay can span both RAM and disk to thereby allow the size of the overlay to be relatively large. When sufficient RAM is available, the overlay can be allowed to grow in RAM. In contrast, if RAM is low, the overlay can grow on disk. Also, artifacts in the overlay can be moved from the RAM portion to the disk portion to reduce the amount of RAM consumed by the overlay. Because the overlay is dynamically expandable, it will typically not become full and will therefore not force a reboot.

Claims (61)

1. A method, performed by a write filter, for implementing an overlay, the method comprising:

maintaining, by the write filter, an overlay for a protected volume, the overlay being split between a RAM overlay portion and a disk overlay portion;

receiving, by the write filter, a first I/O request that modifies a first artifact stored on the protected volume;

in response to receiving the first I/O request, performing a first evaluation of a size of the RAM overlay portion;

based on the first evaluation, redirecting, by the write filter, the first I/O request to the RAM overlay portion rather than to the disk overlay portion by storing the modified first artifact in the RAM overlay portion and by preventing the first I/O request from modifying the first artifact on the protected volume;

receiving, by the write filter, a second I/O request that modifies a second artifact stored on the protected volume;

in response to receiving the second I/O request, performing a second evaluation of the size of the RAM overlay portion; and

based on the second evaluation, redirecting, by the write filter, the second I/O request to the disk overlay portion rather than to the RAM overlay portion by storing the modified second artifact in the disk overlay portion and by preventing the second I/O request from modifying the second artifact on the protected volume.

2. The method of claim 1 , wherein the second evaluation comprises evaluating a percentage of RAM that is being used.

3. The method of claim 1 , wherein the second evaluation comprises evaluating a percentage of RAM that is being used by the RAM overlay portion.

4. The method of claim 1 , wherein the second evaluation comprises determining that the size of the RAM overlay portion is insufficient to store the modified second artifact.

5. The method of claim 4 , wherein the second evaluation further comprises determining that there is insufficient RAM available to expand the RAM overlay portion.

6. The method of claim 1 , further comprising:

receiving a third I/O request that modifies a third artifact stored on the protected volume;

in response to receiving the third I/O request, performing a third evaluation of the size of the RAM overlay portion;

based on the third evaluation, expanding the RAM overlay portion; and

after expanding the RAM overlay portion, redirecting the third I/O request to the RAM overlay portion by storing the modified third artifact in the RAM overlay portion.

7. The method of claim 6 , wherein the third evaluation comprises determining that sufficient RAM is available to expand the RAM overlay portion.

8. The method of claim 1 , further comprising:

updating a metadata table to identify where the modified first and second artifacts are stored in the overlay.

9. The method of claim 8 , wherein the modified second artifact comprises a portion of the second artifact on the protected volume, and wherein the metadata table is also updated to identify which portion of the second artifact is stored in the overlay.

10. The method of claim 1 , further comprising:

moving the modified first artifact that has been stored in the RAM overlay portion to the disk overlay portion.

11. The method of claim 10 , further comprising:

shrinking the RAM overlay portion after moving the modified first artifact to the disk overlay portion.

12. The method of claim 1 , wherein the modified second artifact comprises a portion of the second artifact on the protected volume, the method further comprising:

receiving an I/O request to read the second artifact on the protected volume;

reading the portion of the second artifact that is stored in the disk overlay portion;

reading an additional portion of the second artifact on the protected volume; and

merging the portion and the additional portion into a response to the I/O request.

13. One or more computer storage media storing computer-executable instructions which when executed implement a write filter that is configured to:

maintain an overlay for a protected volume, the overlay being split between a RAM overlay portion and a disk overlay portion;

receive a first I/O request that modifies a first artifact stored on the protected volume;

in response to receiving the first I/O request, perform a first evaluation of a size of the RAM overlay portion;

based on the first evaluation, redirect the first I/O request to the RAM overlay portion rather than to the disk overlay portion by storing the modified first artifact in the RAM overlay portion and by preventing the first I/O request from modifying the first artifact on the protected volume;

receive a second I/O request that modifies a second artifact stored on the protected volume;

in response to receiving the second I/O request, perform a second evaluation of the size of the RAM overlay portion, and

based on the second evaluation, redirect the second I/O request to the disk overlay portion rather than to the RAM overlay portion by storing the modified second artifact in the disk overlay portion and by preventing the second I/O request from modifying the second artifact on the protected volume.

14. The computer storage media of claim 13 , wherein the second evaluation comprises one or both of:

evaluating a percentage of RAM that is being used; or

evaluating a percentage of RAM that is being used by the RAM overlay portion.

15. The computer storage media of claim 13 , wherein the second evaluation comprises determining that the size of the RAM overlay portion is insufficient to store the modified second artifact.

16. The computer storage media of claim 15 , wherein the second evaluation further comprises determining that there is insufficient RAM available to expand the RAM overlay portion.

17. The computer storage media of claim 13 , wherein the write filter is further configured to:

determine how frequently the modified first artifact is accessed; and

in response to the determination, move the modified first artifact from the RAM overlay portion to the disk overlay portion.

18. A method, implemented by a write filter, for implementing an overlay comprising:

maintaining, by the write filter, an overlay for a protected volume, the overlay being split between a RAM overlay portion and a disk overlay portion;

receiving, by the write filter, a first I/O request that modifies a first artifact stored on the protected volume;

in response to receiving the first I/O request, performing a first evaluation of a size of the RAM overlay portion;

based on the first evaluation, redirecting, by the write filter, the first I/O request to the RAM overlay portion rather than to the disk overlay portion by storing the modified first artifact in the RAM overlay portion and by preventing the first I/O request from modifying the first artifact on the protected volume;

receiving, by the write filter, a second I/O request that modifies a second artifact stored on the protected volume;

in response to receiving the second I/O request, performing a second evaluation of the size of the RAM overlay portion;

based on the second evaluation, redirecting, by the write filter, the second I/O request to the disk overlay portion rather than to the RAM overlay portion by storing the modified second artifact in the disk overlay portion and by preventing the second I/O request from modifying the second artifact on the protected volume;

determining, by the write filter, that the size of the RAM overlay portion should be reduced;

in response to the determination, identifying the modified first artifact that is stored in the RAM overlay portion;

storing the modified first artifact in the disk overlay portion and deleting the modified first artifact from the RAM overlay portion; and

after deleting the modified first artifact from the RAM overlay portion, reducing the size of the RAM overlay portion.

19. The method of claim 18 , further comprising:

maintaining a metadata table that identifies where modified artifacts are stored in the overlay, including adding an entry to the metadata table that identifies that the modified second artifact is stored in the disk overlay portion.

20. The method of claim 18 , wherein determining that the size of the RAM overlay portion should be reduced comprises determining that a percentage of RAM that the RAM overlay portion consumes exceeds a threshold.

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 (042769/0001) Recorded Apr 26, 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 (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/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 (CREDIT) Recorded Jun 12, 2017
From: 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 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: 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 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2017
From: KAUSHIK, PUNEET; JOSHI, SALIL; POPLI, SUMIT
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 041178/0787 →
Continuity (1)
Related Publication 20180225058A1 · Aug 9, 2018
Cited By (1)
US 12,271,304