IP Library Granted Patent US 8,898,101
Granted Patent B2
US 8,898,101 · App. 13/301,503 · Granted Nov 25, 2014

Managing file systems and file-based data storage

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 8,898,101
App. No.
13/301,503
Granted
Nov 25, 2014
Kind
B2
Abstract

Embodiments of the present invention can comprise systems and methods for managing filesystems and can provide a programmable filesystem with active rules and policies, an n-tier network filesystem, stack mounting, a union filesystem with write-through semantics, a filesystem middleware with selective delegation, a filesystem with a statistical warehouse and/or other management functionality.

Claims (44)

1. An apparatus comprising a set of computer instructions stored on a non-transitory computer readable medium and executable by a computer processor to:

store, in a rulesbase on a server associated with a filesystem on a network, a set of programmable rules controlling at least one of storing data on the filesystem and accessing data on the filesystem, wherein each rule in the set of programmable rules comprises a pattern and an action, wherein the pattern specifies one or more criteria for initiating the action;

receive, from a filesystem client operating on the network, a filesystem request indicating a requested filesystem operation associated with a filesystem object, wherein the filesystem request is communicated according to a network filesystem protocol;

compare the filesystem request to one or more of the programmable rules in the rulesbase and identify a pattern of a rule in the set of programmable rules with the one or more criteria satisfied by the filesystem request;

determine occurrence of the action associated with the identified pattern for the rule relative to performance of the requested filesystem operation based on an impact of the associated action on the requested filesystem operation; and

selectively execute the associated action after performance of the requested filesystem operation in accordance with the determination.

2. The apparatus of claim 1 , wherein the filesystem request specifies storing data on the filesystem, wherein the set of instructions being further operable to perform one or more of:

preventing the data from being stored on the filesystem;

discontinuing storage of the data onto the filesystem;

sending an error message; and

generating an error.

3. The apparatus of claim 1 , wherein the data is received from the filesystem client with the requested filesystem operation.

4. The apparatus of claim 1 , wherein the associated action is executed after performance of the requested filesystem operation.

5. The apparatus of claim 1 , wherein the associated action is performed in-band.

6. The apparatus of claim 1 , wherein the associated action is performed out-of-band.

7. The apparatus of claim 1 , further operable to determine whether to perform an operation based on metadata associated with the filesystem request received from the filesystem client.

8. A system for managing a filesystem, comprising:

a rulesbase containing a set of programmable rules controlling at least one of storing data on the filesystem and accessing data on the filesystem, the set of rules being stored on a server associated with a filesystem on a network, each rule in the set of programmable rules comprising a pattern and an action, wherein the pattern specifies one or more criteria for initiating the action;

a filesystem manager coupled with the rulesbase and the filesystem, the filesystem manager comprising a set of computer instructions stored on a non-transitory computer readable medium and executable by a computer processor to:

receive, from a filesystem client operating on the network, a filesystem request indicating a requested filesystem operation associated with a filesystem object, wherein the filesystem request is communicated according to a network filesystem protocol;

compare the filesystem request to one or more of the programmable rules in the rulesbase and identify a pattern of a rule in the set of programmable rules with the one or more criteria satisfied by the filesystem request;

determine occurrence of the action associated with the identified pattern for the rule relative to performance of the requested filesystem operation based on an impact of the associated action on the requested filesystem operation; and

selectively execute the associated action after performance of the requested filesystem operation in accordance with the determination.

9. The system of claim 8 , the filesystem manager being further operable to:

compare data affected by the requested filesystem operation to one or more rules in the rulesbase; and

determine a set of the data upon which the requested filesystem operation is to be performed.

10. The system of claim 8 , wherein the data is received from the filesystem client with the requested filesystem operation.

11. The system of claim 8 , wherein the associated action is executed after performance of the requested filesystem operation.

12. The system of claim 8 , wherein the associated action is performed in-band.

13. The system of claim 8 , wherein the associated action is performed out-of-band.

14. The system of claim 8 , further operable to determine whether to perform an operation based on metadata associated with the filesystem request.

15. A method of managing a filesystem on a network, comprising:

storing, in a rulesbase on a server associated with a filesystem on a network, a set of programmable rules controlling at least one of storing data on the filesystem and accessing data on the filesystem, wherein each rule in the set of programmable rules comprises a pattern and an action, wherein the pattern specifies one or more criteria for initiating the action;

receiving, by a filesystem manager computer having a set of computer instructions stored on a non-transitory computer readable medium and executable by a computer, a filesystem request from a filesystem client operating on the network, wherein the filesystem request is communicated according to a network filesystem protocol and indicates a requested filesystem operation associated with a filesystem object;

comparing, by the filesystem manager computer, the filesystem request to one or more programmable rules in the rulesbase and identifying a pattern of a rule in the set of programmable rules with the one or more criteria satisfied by the filesystem request;

determining occurrence of the action associated with the identified pattern for the rule relative to performance of the requested filesystem operation based on an impact of the associated action on the requested filesystem operation; and

selectively executing the associated action after performance of the requested filesystem operation in accordance with the determination.

16. The method of claim 15 , wherein receiving the filesystem request comprises intercepting an access request by a filesystem client program and generating the filesystem request based on the intercepted access request.

17. The method of claim 15 , further comprising:

comparing data affected by the requested filesystem operation to one or more rules in the rulesbase; and

determining a set of the data upon which the requested filesystem operation is to be performed.

18. The method of claim 15 , wherein the data is received from the filesystem client with the requested filesystem operation.

19. The method of claim 15 , wherein the associated action is executed after performance of the requested filesystem operation.

20. The method of claim 15 , further comprising determining whether to perform an operation based on metadata associated with the filesystem request.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 2, 2014
From: STOREDIQ, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032584/0044 →
CHANGE OF NAME Recorded Feb 10, 2012
From: DEEPFILE CORPORATION
To: STOREDIQ, INC.
Reel/Frame 027697/0742 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2012
From: BONE, JEFF G.; FUNDERBURG, BRETT A.; JIMENEZ, A. PAUL; ARBILLA, LAURA
To: DEEPFILE CORPORATION
Reel/Frame 027690/0183 →