Method and apparatus for managing file systems and file-based data storage
First Claim
Patent Images
1. An apparatus comprising a set of computer instructions stored on a computer readable medium and executable by a computer processor to:
- receive a filesystem request indicating a requested filesystem operation;
compare the filesystem request to a programmable rulesbase to determine whether the filesystem request matches a pattern; and
if the filesystem request matches a pattern, execute an action associated with the pattern.
3 Assignments
0 Petitions
Accused Products
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.
187 Citations
113 Claims
-
1. An apparatus comprising a set of computer instructions stored on a computer readable medium and executable by a computer processor to:
-
receive a filesystem request indicating a requested filesystem operation;
compare the filesystem request to a programmable rulesbase to determine whether the filesystem request matches a pattern; and
if the filesystem request matches a pattern, execute an action associated with the pattern. - View Dependent Claims (2, 3, 4, 5, 6, 14, 15)
-
-
7. An apparatus comprising a set of computer executable instructions stored on a 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;
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 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;
if there are one or more matching patterns, execute the action associated with each matching pattern;
return a rules engine response to the filesystem manager. - View Dependent Claims (8, 9, 10)
-
-
11. A method for applying rules to filesystem operations comprising:
-
receiving a filesystem request indicating a requested filesystem operation;
comparing the filesystem request to a programmable rulesbase to determine the filesystem request matches a pattern; and
if the filesystem request matches a pattern, executing an action associated with the pattern. - View Dependent Claims (12, 13, 16)
-
-
17. An apparatus comprising a set of computer instructions stored on a computer readable medium and executable by a computer processor, the set of computer instructions comprising instructions executable to:
-
receive a requested operation;
gather a predefined set of metadata based on the requested operation;
group the predefined set of metadata according to an attribute to generate one or more groups of metadata; and
apply predefined heuristics to at least one of the groups of metadata to generate a statistic of interest. - View Dependent Claims (18, 19, 20)
-
-
21. A method of managing a statistical warehouse comprising:
-
receiving a requested operation;
gathering a predefined set of metadata based on the requested operation;
grouping the predefined set of metadata according to an attribute to generate one or more groups of metadata; and
applying predefined heuristics to at least one of the groups of metadata to generate a statistic of interest. - View Dependent Claims (22, 23, 24)
-
-
25. An apparatus comprising a set of computer instructions stored on a computer readable medium and executable by a computer processor, the set of computer instructions comprising instructions executable to:
-
receive a requested operation;
gather a predefined set of metadata based on the requested operation;
store the set of predefined metadata as a set of records corresponding to one or more tables, wherein each record contains a piece of metadata of interest and wherein each record is associated with a group of one or more groups;
apply predefined heuristics to at least a portion of the set of records associated with a particular group to generate a statistic of interest. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A method of managing a statistical warehouse, comprising:
-
receiving a requested operation;
gathering a predefined set of metadata based on the requested operation;
storing the set of predefined metadata as a set of records corresponding to one or more tables, wherein each record contains a piece of metadata of interest and wherein each record is associated with a group of one or more groups;
applying predefined heuristics to at least a portion of the set of records associated with a particular group to generate a statistic of interest. - View Dependent Claims (32, 33, 34, 35, 36)
-
-
37. A system comprising:
-
a network;
a plurality of client computers, each client computer comprising;
a client processor;
a client network interface to connect to and interface with the network;
a client computer readable medium accessible by the client processor, storing a client program executable by the client processor to;
generate a first filesystem request;
receive a first filesystem response;
an intermediary device comprising;
an intermediary processor;
an intermediary network interface to connect to and interface with the network;
an intermediary computer readable medium accessible by the intermediary processor and executable to;
provide a client-facing filesystem interface;
provide a server-facing filesystem interface;
receive the first filesystem request from a requesting client according to the client-facing filesystem interface;
pass the first filesystem request to a server as a proxy request according to the server-facing filesystem interface;
receive a server response from the server according to the server facing interface;
pass the server response to the requesting client as the first filesystem response;
a plurality of servers, each server further comprising;
a server processor;
a server interface coupled to the server processor to connect to and interface with the network;
a server computer readable medium storing a server program executable by the server processor to;
provide an origin filesystem;
receive the proxy request from the intermediary device;
execute a requested operation;
generate the server response; and
communicate the server response to the intermediary computer. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. An intermediary device comprising:
-
a processor;
a network interface to connect to and interface with a network;
a computer readable medium accessible by the processor and executable to;
provide a client-facing filesystem interface;
provide a server-facing filesystem interface;
receive a filesystem request from a requesting client according to the client-facing filesystem interface;
pass the filesystem request to a server as a proxy request according to the server-facing filesystem interface;
receive a server response from the server according to the server-facing interface; and
pass the server response to the requesting client as a proxy response. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71)
-
-
72. A device comprising a set of computer instructions stored on a computer readable medium executable by a computer processor, aid set of computer instructions comprising instructions executable to:
-
provide a client-facing filesystem interface;
provide a server-facing filesystem interface;
receive a filesystem request from a requesting client according to the client-facing filesystem interface;
pass the filesystem request to a server as a proxy request according to the server-facing filesystem interface;
receive a server response from the server according to the server-facing interface; and
pass the server response to the requesting client as a proxy response. - View Dependent Claims (73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88)
-
-
89. A method of managing a filesystem comprising:
-
providing a client-facing filesystem interface;
providing a server-facing filesystem interface;
receiving a filesystem request from a requesting client according to the client-facing filesystem interface;
passing the filesystem request to a server as a proxy request according to the server-facing filesystem interface;
receiving a server response from the server according to the server-facing interface; and
passing the server response to the requesting client as a proxy response. - View Dependent Claims (90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
-
106. A device comprising a set of computer instructions stored on a computer readable medium executable by a processor, said set of computer instructions comprising instructions executable to:
- define an import space comprising one or more of the origin filesystems;
define an import space comprising one or more of the origin filesystems;
define an export space comprising one or more union filesystems;
wherein the one or more union filesystems are based on the one or more origin filesystems in the import space. - View Dependent Claims (107, 108, 109, 110, 111, 112, 113)
- define an import space comprising one or more of the origin filesystems;
Specification