IP Library Granted Patent US 8,086,553
Granted Patent B2
US 8,086,553 · App. 11/973,700 · Granted Dec 27, 2011

Method and apparatus for 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,086,553
App. No.
11/973,700
Granted
Dec 27, 2011
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 (63)

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 associated with a filesystem, wherein the programmable rules comprise administrative policies, access control or security;

receive, from a client of a plurality of clients operating on a network, a filesystem request indicating a requested filesystem operation for an associated storage media device, wherein the request is communicated according to a network filesystem protocol;

determine from the filesystem request a filesystem object on which the requested operation is to be performed;

obtain metadata associated with the filesystem object;

compare the filesystem request to the one or more rules saved in the programmable rulesbase to determine whether the filesystem request matches a pattern of a rule utilizing at least a portion of the metadata associated with the filesystem object, wherein the pattern specifies and expression for evaluation using the metadata associated with the filesystem object; and

if the filesystem request matches the pattern, execute an action associated with the pattern.

2. The apparatus of claim 1 , wherein the set of computer instructions are further executable to:

perform the requested filesystem operation; and

execute the action out-of-band with the requested filesystem operation.

3. The apparatus of claim 1 , wherein the set of computer instructions are further executable to:

execute the action in-band;

determine whether to proceed with the requested filesystem operation; and

perform the requested filesystem operation if it is determined that the requested operation should proceed.

4. The apparatus of claim 3 , wherein the determination of whether to perform the requested filesystem operation is based on a result of the action.

5. The apparatus of claim 3 , wherein a result of the performance of the requested filesystem operation is affected by the result of the action.

6. The apparatus of claim 1 , wherein the computer readable instructions are further executable to compare a set of data affected by the requested file system operation to the pattern to determine if the filesystem request matches the pattern.

7. An apparatus comprising a set of computer executable instructions stored on a non-transitory computer readable medium, the set of computer instructions comprising:

a filesystem manager operable to:

maintain a filesystem for an underlying storage medium;

receive a filesystem request from a filesystem client that includes a requested filesystem operation;

determine from the filesystem request a filesystem object on which the requested operation is to be performed;

obtain metadata associated with the filesystem object;

pass the filesystem request to a rules engine; and

determine whether to proceed with the requested filesystem operation;

a programmable rules base comprising a set of rules, wherein the programmable rules comprise administrative policies, access control or security, wherein each rule further comprises a pattern and an associated action; and

a rules engine operable to:

receive the filesystem request;

compare the filesystem request to the one more rules in the programmable rules base to determine if the filesystem request matches one or more rules from the set of rules based on the pattern for each rule utilizing at least a portion of the metadata associated with the filesystem object, wherein the pattern specifies and expression for evaluation using the metadata associated with the filesystem object;

if there are one or more matching patterns, execute the action associated with each matching pattern; and

return a rules engine response to the filesystem manager.

8. The apparatus of claim 7 , wherein the filesystem manager determines to perform the requested operation based on the rules engine response.

9. The apparatus of claim 7 , wherein the rules engine executes at least one action associated with the one or more matching patterns in-band.

10. The apparatus of claim 9 , wherein the rules engine executes at least one action associated with the one or more matching patterns out-of-band.

11. A method for applying rules to filesystem operations comprising:

store, in a rulesbase on a server associated with a filesystem on a network, a set of programmable rules associated with a filesystem, wherein the programmable rules comprise administrative policies, access control or security;

receive at a filesystem server computer a filesystem request from a filesystem client computer indicating a requested filesystem operation;

determine from the filesystem request a filesystem object on which the requested operation is to be performed;

obtain metadata associated with the filesystem object;

compare the filesystem request to the one or more rules saved in the programmable rulesbase to determine whether the filesystem request matches a pattern of a rule utilizing at least a portion of the metadata associated with the filesystem object, wherein the pattern specifies and expression for evaluation using the metadata associated with the filesystem object; and

if the filesystem request matches the pattern, execute an action associated with the pattern.

12. The method of claim 11 , further comprising:

performing the requested filesystem operation; and

execute the action out-of-band with the requested filesystem operation.

13. The method of claim 11 , further comprising:

executing the action in-band;

determining whether to proceed with the requested filesystem operation; and

performing the requested filesystem operation if it determined that the requested operation should proceed.

14. The method of claim 13 , wherein the determination of whether to perform the requested filesystem operation is based on a result of the action.

15. The method of claim 13 , wherein a result of the performance of the requested filesystem operation is affected by the result of the action.

16. The method of claim 11 , further comprising comparing a set of data affected by the requested file system operation to the pattern to determine if the filesystem request matches the pattern.

17. A method for applying rules to filesystem operations, comprising:

storing, in a rulesbase on a server associated with a filesystem on a network, a set of programmable rules associated with a filesystem, wherein the programmable rules comprise administrative policies, access control or security;

receiving at a filesystem server computer a filesystem request from a filesystem client that includes a requested filesystem operation;

determining from the filesystem request a filesystem object on which the requested operation is to be performed;

obtaining metadata associated with the filesystem object;

determining whether to proceed with the requested filesystem operation;

comparing the filesystem request to one more rules saved in the programmable rulesbase to determine if the filesystem request matches one or more rules from the set of rules based on a pattern for each rule utilizing at least a portion of the metadata associated with the filesystem object, wherein the pattern specifies and expression for evaluation using the metadata associated with the filesystem object;

if there are one or more matching patterns in the programmable rulesbase, executing an action associated with each matching pattern; and

returning a rules engine response.

18. The method of claim 17 , wherein determining whether to proceed with the requested operation is based on the rules engine response.

19. The method of claim 17 , further comprising executing at least one action associated with the one or more matching patterns in-band.

20. The method of claim 19 , further comprising executing at least one action associated with the one or more matching patterns out-of-band.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 2, 2014
From: STORED IQ, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032584/0298 →
CHANGE OF NAME Recorded Nov 20, 2007
From: DEEPFILE CORPORATION
To: STORED IQ, INC.
Reel/Frame 020139/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2007
From: BONE, JEFF G.; FUNDERBURG, BRETT A.; JIMENEZ, A. PAUL; ARBILLA, LAURA
To: DEEPFILE CORPORATION
Reel/Frame 019983/0364 →