IP Library Granted Patent US 9,805,041
Granted Patent B2
US 9,805,041 · App. 12/435,279 · Granted Oct 31, 2017

Policy based layered filesystem management

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 9,805,041
App. No.
12/435,279
Granted
Oct 31, 2017
Kind
B2
Abstract

Some embodiments provide a system that provides a filesystem in a computer system. During operation, the system obtains a policy for the filesystem and separates the filesystem into a set of layers based on the policy. Next, the system processes input/output (I/O) operations to the filesystem by directing each of the I/O operations to one of the layers based on the policy. Finally, the system periodically maintains the layers using a master image of the filesystem.

Claims (42)

1. A computer-implemented method for performing operations on a layered filesystem, comprising:

receiving a policy for the layered filesystem, wherein system data critical to execution of a virtual computing environment is stored in at least one layer and user-specific data associated with user changes to the virtual computing environment is stored in at least one other layer;

receiving an input/output (I/O) operation involving a file, wherein at least two different versions of the file having different contents exist on two or more layers of the layered filesystem, wherein the at least two different versions of the file are associated with the same user; and

directing the I/O operation to multiple layers of the layered filesystem based on the policy, wherein

the policy is used to maintain separation between the system data and user-specific data in the virtual computer environment.

2. The computer-implemented method of claim 1 , wherein the policy comprises the set of layer assignments, and wherein said directing comprises determining a layer assignment that matches the I/O operation.

3. The computer-implemented method of claim 2 , wherein said determining involves matching a path specified in the set of layer assignments with a path specified in the I/O operation.

4. The computer-implemented method of claim 2 , wherein said determining involves matching a filename extension specified in the set of layer assignments with a filename extension specified in the I/O operation.

5. The computer-implemented method of claim 2 , wherein said determining involves matching a registry key specified in the set of layer assignments with a registry key specified in the I/O operation.

6. The computer-implemented method of claim 2 , wherein if no layer assignment matches the I/O operation, said directing comprises directing the I/O operation to a default layer.

7. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for performing operations on a layered filesystem, the method comprising:

receiving a policy for the layered filesystem, wherein system data critical to execution of a virtual computing environment is stored in at least one layer and user-specific data associated with user changes to the virtual computing environment is stored in at least one other layer;

receiving an input/output (I/O) operation involving a file, wherein at least two different versions of the file having different contents exist on two or more layers of the layered filesystem, wherein the at least two different versions of the file are associated with the same user; and

directing the I/O operation to multiple layers of the layered filesystem based on the policy, wherein

the policy is used to maintain separation between the system data and the user-specific data in the virtual computer environment.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the policy comprises the set of layer assignments, and wherein said directing comprises determining a layer assignment that matches the I/O operation.

9. The non-transitory computer-readable storage medium of claim 8 , wherein said determining involves matching a path specified in the set of layer assignments with a path specified in the I/O operation.

10. The non-transitory computer-readable storage medium of claim 8 , wherein said determining involves matching a filename extension specified in the set of layer assignments with a filename extension specified in the I/O operation.

11. The non-transitory computer-readable storage medium of claim 8 , wherein said determining involves matching a registry key specified in the set of layer assignments with a registry key specified in the I/O operation.

12. The non-transitory computer-readable storage medium of claim 8 , wherein if no layer assignment matches the I/O operation, said directing comprises directing the I/O operation to a default layer.

13. A computer system, comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the computer system to perform a method for performing operations on a layered filesystem, the method comprising:

receiving a policy for the layered filesystem, wherein system data critical to execution of a virtual computing environment is stored in at least one layer and user-specific data associated with user changes to the virtual computing environment is stored in at least one other layer;

receiving an input/output (I/O) operation involving a file, wherein at least two different versions of the file having different contents exist on two or more layers of the layered filesystem, wherein the at least two different versions of the file are associated with the same user; and

directing the I/O operation to multiple layers of the layered filesystem based on the policy, wherein

the policy is used to maintain separation between the system data and the user-specific data in the virtual computer environment.

14. The computer system of claim 13 , wherein the policy comprises the set of layer assignments, and wherein said directing comprises determining a layer assignment that matches the I/O operation.

15. The computer system of claim 14 , wherein said determining involves matching a path specified in the set of layer assignments with a path specified in the I/O operation.

16. The computer system of claim 14 , wherein said determining involves matching a filename extension specified in the set of layer assignments with a filename extension specified in the I/O operation.

17. The computer system of claim 14 , wherein said determining involves matching a registry key specified in the set of layer assignments with a registry key specified in the I/O operation.

18. The computer system of claim 14 , wherein if no layer assignment matches the I/O operation, said directing comprises directing the I/O operation to a default layer.

19. A computer-implemented method for performing operations on a layered registry system, comprising:

receiving a policy for the layered registry system, wherein the policy comprises a set of layer assignments, wherein system data critical to execution of a virtual computing environment is stored in at least one layer and user-specific data associated with user changes to the virtual computing environment is stored in at least one other layer;

receiving an input/output (I/O) operation that specifies a registry key, wherein at least two different versions of the registry key having different contents exist on two or more layers of the layered registry system, wherein the at least two different versions of the registry key are associated with the same user;

determining a layer assignment that matches the I/O operation, wherein said determining involves matching a registry key specified in the set of layer assignments with the registry key specified in the I/O operation; and

directing the I/O operation to multiple layers of the layered registry system according to the layer assignment that matched the I/O operation, wherein

the policy is used to maintain separation between system data and the user-specific data in the virtual computer environment.

20. The computer-implemented method of claim 1 further comprising:

generating another I/O operation based on the received I/O operation;

directing the generated I/O operation to a layer in the layered filesystem, wherein the received I/O operation and the generated I/O operation are different; and

temporarily disabling at least a layer in the layered filesystem, thereby facilitating management of the virtual computing environment, wherein each layer in the layered filesystem comprises at least a component of the virtual computing environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2015
From: MOKA5, INC.
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 036529/0800 →