Transaction aggregation in a switched file system
First Claim
1. A method of processing a user request for performing a transaction on a user file that is stored, along with other user files, in shared data computer network, where each user file of at least a plurality of the user files is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
- receiving a user request to perform a specified transaction on a specified user file;
identifying a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request;
wherein the method is performed in a manner that is transparent to both the sender and the file servers by using a respective network file protocol of the sender and a respective file network protocol of the file servers.
9 Assignments
0 Petitions
Accused Products
Abstract
Client computers are decoupled from file servers in a computer network, by placing a network node, also termed a file switch or file switch computer, between the client computers and the file servers. To the client computers, the file switch appears to be a file server having enormous storage capabilities and high throughput. To the file servers, the file switch appears to be a client as it delegates a single transaction received from a client computer to multiple file servers. The file switch aggregates the file servers'"'"' responses to the client computer'"'"'s request and presents a single response back to the client computer. The file switch performs this transaction aggregation function in a manner that is transparent to both the client computers and the file servers.
-
Citations
25 Claims
-
1. A method of processing a user request for performing a transaction on a user file that is stored, along with other user files, in shared data computer network, where each user file of at least a plurality of the user files is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request to perform a specified transaction on a specified user file;
identifying a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request;
wherein the method is performed in a manner that is transparent to both the sender and the file servers by using a respective network file protocol of the sender and a respective file network protocol of the file servers. - View Dependent Claims (2)
-
-
3. A method of processing a user request for performing a transaction on a user file that is stored, along with other user files, in shared data computer network, where each user file of at least a plurality of the user files is divided into portions stored on a plurality of file servers, among a group of file servers in a computer network, comprising:
-
receiving a user request to perform a specified transaction on a specified user file;
accessing metadata identifying a set of file servers for storing respective defined portions of the specified user file;
determining, based on the metadata, a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request;
wherein the method is performed in a manner that is transparent to both the sender and the file servers by using a respective network file protocol of the sender and a respective network file protocol of the file servers. - View Dependent Claims (4, 5, 6, 7)
-
-
8. 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 a user request to perform a specified transaction on a specified user file;
determining a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request;
wherein the file aggregation module is configured to operate, when executed by the file switch, in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers.
-
-
9. 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 a user request to perform a specified transaction on a specified user file;
accessing metadata identifying a set of file servers for storing respective defined portions of the specified user file;
determining, based on the metadata, a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
ending the aggregated reply to a sender of the user request;
wherein the file aggregation module is configured to operate, when executed by the file switch, in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers. - View Dependent Claims (10, 11, 12, 13)
-
-
14. 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 a user request to perform a specified transaction on a specified user file;
means for identifying a subset of the file servers that store portions of the user file needed to perform the specified transaction;
means for sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
means for aggregating the received replies to produce an aggregated reply; and
means for sending the aggregated reply to a sender of the user request;
wherein the receiving, identifying, sending, aggregating and sending means are configured to operate in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers.
-
-
15. 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 a user request to perform a specified transaction on a specified user file;
means for accessing metadata identifying a set of file servers for storing respective defined portions of the specified user file;
means for determining, based on the metadata, a subset of the file servers that store portions of the user file needed to perform the specified transaction;
means for sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
means for aggregating the received replies to produce an aggregated reply; and
means for sending the aggregated reply to a sender of the user request;
wherein the receiving, accessing, determining, command sending, aggregating and aggregated reply sending means are configured to operate in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers. - View Dependent Claims (16, 17, 18, 19)
-
-
20. 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 a user request to perform a specified transaction on a specified user file;
identifying a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request; wherein the file aggregation module is configured to operate, when executed by the file switch, in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers.
-
-
21. 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 a user request to perform a specified transaction on a specified user file;
accessing metadata identifying a set of file servers for storing respective defined portions of the specified user file;
determining, based on the metadata, a subset of the file servers that store portions of the user file needed to perform the specified transaction;
sending commands to each respective file server in the subset of file servers to perform the transaction on a respective portion of the user file, and receiving replies from the subset of file servers;
aggregating the received replies to produce an aggregated reply; and
sending the aggregated reply to a sender of the user request, wherein the file aggregation module is configured to operate, when executed by the file switch, in a manner that is transparent to both the client computers and the file servers by using a respective network file protocol of the client computers and a respective network file protocol of the file servers. - View Dependent Claims (22, 23, 24, 25)
-
Specification