Rule based aggregation of files and transactions in a switched file system
First Claim
1. A method of processing a user request to perform an operation on a user file, comprising:
- receiving one or more user requests to perform a specified operation on a specified user file;
selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including at least one parameter specifying, for files to which the rule is applicable, how to distribute storage of portions of each such file over a plurality of the file servers in a group of file servers; and
performing the specified operation in accordance with the selected rule, including, when the specified operation changes the size of the specified user file, sending commands to a plurality of the file servers so as to continue to distribute storage of the specified user file in accordance with the selected rule including commands to add one or more file portions to the user file if the specified operation increases the size of the specified user file by more than a predetermined amount;
wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner.
8 Assignments
0 Petitions
Accused Products
Abstract
A switched file system, also termed a file switch, is logically positioned between client computers and file servers in a computer network. The file switch distributes user files among multiple file servers using aggregated file, transaction and directory mechanisms. The file switch distributes and aggregates the client data files in accordance with a predetermined set of aggregation rules. Each rule can be modified independently of the other rules. Different aggregation rules can be used for different types of files, thereby adapting the characteristics of the switched file system to the intended use and to the expected or historical access patterns for different data files.
-
Citations
48 Claims
-
1. A method of processing a user request to perform an operation on a user file, comprising:
-
receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including at least one parameter specifying, for files to which the rule is applicable, how to distribute storage of portions of each such file over a plurality of the file servers in a group of file servers; andperforming the specified operation in accordance with the selected rule, including, when the specified operation changes the size of the specified user file, sending commands to a plurality of the file servers so as to continue to distribute storage of the specified user file in accordance with the selected rule including commands to add one or more file portions to the user file if the specified operation increases the size of the specified user file by more than a predetermined amount; wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (2)
-
-
3. A method of processing a user request to perform an operation on a user file, comprising:
-
receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file; each rule in the group of rules including a striping parameter specifying, for files to which the rule is applicable, a maximum size of file portions into which the files are divided, and a mirroring parameter specifying, for files to which the rule is applicable, a number of instances of each file portion are to be stored on file servers in a group of file servers; and performing the specified operation in accordance with the selected rule, including; when the specified operation increases the size of the specified user file by more than the maximum file portion size specified by the selected rule, adding one or more file portions to the user file, including creating and storing on the group of file servers the specified number of instances of each added file portion, each created file portion instance having a size no greater than the maximum file portion size specified by the selected rule; wherein portions of the specified user file are distributed over a plurality of the file servers in the group of file servers; and wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A file switch for use in a computer network having a group of file servers and a plurality of client computers, the file switch comprising:
-
at least one processing unit for executing computer programs; at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file; a file aggregation module including one or more computer programs, the computer programs including instructions for; receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including at least one parameter specifying, for files to which the rule is applicable, how to distribute storage of portions of each such file over a plurality of the file servers in a group of file servers; andperforming the specified operation in accordance with the selected rule, including, when the specified operation changes the size of the specified user file, sending commands to a plurality of the file servers so as to continue to distribute storage of the specified user file in accordance with the selected rule including commands to add one or more file portions to the user file if the specified operation increases the size of the specified user file by more than a predetermined amount; wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (14)
-
-
15. A file switch for use in a computer network having a group of file servers and a plurality of client computers, the file switch comprising:
-
at least one processing unit for executing computer programs; at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file; a file aggregation module including one or more computer programs, the computer programs including instructions for; receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file; each rule in the group of rules including a striping parameter specifying, for files to which the rule is applicable, a maximum size of file portions into which the files are divided, and a mirroring parameter specifying, for files to which the rule is applicable, a number of instances of each file portion are to be stored on file servers in the group of file servers; and performing the specified operation in accordance with the selected rule, including; when the specified operation increases the size of the specified user file by more than the maximum file portion size specified by the selected rule, adding one or more file portions to the user file, including creating and storing on the group of file servers the specified number of instances of each added file portion, each created file portion instance having a size no greater than the maximum file portion size specified by the selected rule; wherein portions of the specified user file are distributed over a plurality of the file servers in the group of file servers; and wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for use in a computer network having a plurality of client computers, the system comprising:
-
a group of file servers; a file switch, the file switch including; at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file; means for receiving one or more user requests to perform a specified transaction on a specified user file; means for selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including at least one parameter specifying, for files to which the rule is applicable, how to distribute storage of portions of each such file over a plurality of the file servers in a group of file servers; andmeans for performing the specified operation in accordance with the selected rule, including, when the specified operation changes the size of the specified user file, sending commands to a plurality of the file servers so as to continue to distribute storage of the specified user file in accordance with the selected rule including commands to add one or more file portions to the user file if the specified operation increases the size of the specified user file by more than a predetermined amount; wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (26)
-
-
27. A system for use in a computer network having a plurality of client computers, the file switch comprising:
-
a group of file servers; a file switch, the file switch including; at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file; means for receiving one or more user requests to perform a specified transaction on a specified user file; means for selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including a striping parameter specifying, for files to which the rule is applicable, a maximum size of file portions into which the files are divided, and a mirroring parameter specifying, for files to which the rule is applicable, a number of instances of each file portion are to be stored on file servers in a group of file servers; andmeans for performing the specified operation in accordance with the selected rule, including, when the specified operation increases the size of the specified user file by more than the maximum file portion size specified by the selected rule, adding one or more file portions to the user file, including creating and storing on the group of file servers the specified number of instances of each added file portion, each created file portion instance having a size no greater than the maximum file portion size specified by the selected rule; wherein portions of the specified user file are distributed over a plurality of the file servers in the group of file servers; and wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A system for use in a computer network having a plurality of client computers, the system comprising:
-
a group of file servers; a file switch, the file switch including;
at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file;at least one processing unit for executing computer programs; a file aggregation module including one or more computer programs, the computer programs including instructions for; receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including at least one parameter specifying, for files to which the rule is applicable, how to distribute storage of portions of each such file over a plurality of the file servers in a group of file servers; andperforming the specified operation in accordance with the selected rule, including, when the specified operation changes the size of the specified user file, sending commands to a plurality of the file servers so as to continue to distribute storage of the specified user file in accordance with the selected rule including commands to add one or more file portions to the user file if the specified operation increases the size of the specified user file by more than a predetermined amount; wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (38)
-
-
39. A system for use in a computer network having a plurality of client computers, the system comprising:
-
a group of file servers; a file switch, the file switch including; at least one port for exchanging information with the file servers and client computers, the information exchanged including information concerning a specified user file; at least one processing unit for executing computer programs;
a file aggregation module including one or more computer programs, the computer programs including instructions for;receiving one or more user requests to perform a specified operation on a specified user file; selecting, from among a group of rules, a rule applicable to the specified user file;
each rule in the group of rules including a striping parameter specifying, for files to which the rule is applicable, a maximum size of file portions into which the files are divided, and a mirroring parameter specifying, for files to which the rule is applicable, a number of instances of each file portion are to be stored on file servers in the group of file servers; andperforming the specified operation in accordance with the selected rule, including; when the specified operation increases the size of the specified user file by more than the maximum file portion size specified by the selected rule, adding one or more file portions to the user file, including creating and storing on the group of file servers the specified number of instances of each added file portion, each created file portion instance having a size no greater than the maximum file portion size specified by the selected rule; wherein portions of the specified user file are distributed over a plurality of the file servers in the group of file servers; and wherein the rules in the group of rules are ordered, and each rule in the group of rules has an associated range of files to which the rule is applicable, wherein the range of files for a particular rule in the group of rules is specified by a specification selected from the group consisting essentially of A) files not falling within the range of any higher order rule and having a file path matching a specified file path, B) files not falling within the range of any higher order rule and comprising a file of a specified file type, C) files not falling within the range of any higher order rule and having a specified owner. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification