IP Library Granted Patent US 6,889,249
Granted Patent B2
US 6,889,249 · App. 10/336,704 · Granted May 3, 2005

Transaction aggregation in a switched file system

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 6,889,249
App. No.
10/336,704
Granted
May 3, 2005
Kind
B2
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.

Claims (106)

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.

2. The method of claim 1 wherein the receiving, sending and aggregating steps are performed by a file switch and the accessing and determining steps are performed by a metadata server.

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.

4. The method of claim 3 , wherein

the specified user file has an aggregated size and a corresponding number of defined portions; and

the method includes updating the metadata when the specified transaction changes the number of defined portions of the specified user file.

5. The method of claim 3 , the method including updating the metadata.

6. The method of claim 3 , wherein the accessing metadata step includes accessing a metadata file that stores the metadata.

7. The method of claim 3 , wherein the accessing metadata step includes accessing cached metadata corresponding to metadata stored in a metadata file.

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.

10. The file switch of claim 9 , wherein

the specified user file has an aggregated size and a corresponding number of defined portions, and

the one or more computer programs of the file aggregation module include instructions for updating the metadata when the specified transaction changes the number of defined portions of the specified user file.

11. The file switch of claim 9 , wherein the one or more computer programs of the file aggregation module include instructions for updating the metadata.

12. The file switch of claim 9 , wherein the one or more computer programs of the file aggregation module include instructions for accessing a metadata file that stores the metadata.

13. The file switch of claim 9 , wherein the one or more computer programs of the file aggregation module include instructions for accessing cached metadata corresponding to metadata stored in a metadata file.

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.

16. The system of claim 15 , wherein the specified user file has an aggregated size and a corresponding number of defined portions;

the system including means for updating the metadata when the specified transaction changes the number of defined portions of the specified user file.

17. The system of claim 15 , including means for updating the metadata.

18. The system of claim 15 , the means for accessing metadata including means for accessing a metadata file that stores the metadata.

19. The system of claim 15 , the means for accessing metadata including means for accessing cached metadata corresponding to metadata stored in a metadata file.

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.

22. The system of claim 21 , wherein

the specified user file has an aggregated size and a corresponding number of defined portions, and

the one or more computer programs of the file aggregation module include instructions for updating the metadata when the specified transaction changes the number of defined portions of the specified user file.

23. The system of claim 21 , wherein the one or more computer programs of the file aggregation module include instructions for updating the metadata.

24. The system of claim 21 , wherein the one or more computer programs of the file aggregation module include instructions for accessing a metadata file that stores the metadata.

25. The system of claim 21 , wherein the one or more computer programs of the file aggregation module include instructions for accessing cached metadata corresponding to metadata stored in a metadata file.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
SECURITY INTEREST Recorded Dec 13, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 048432/0260 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2018
From: F5 NETWORKS, INC
To: RPX CORPORATION
Reel/Frame 046950/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2009
From: ATTUNE SYSTEMS, INC.
To: F5 NETWORKS, INC.
Reel/Frame 022562/0397 →
RELEASE OF SECURITY INTEREST Recorded Jan 16, 2009
From: LYNN, BARRY X
To: ATTUNE SYSTEMS, INC. (FORMERLY Z-FORCE COMMUNICATIONS)
Reel/Frame 022117/0550 →
CHANGE OF NAME Recorded Nov 15, 2005
From: Z-FORCE COMMUNICATIONS, INC.
To: ATTUNE SYSTEMS, INC.
Reel/Frame 016769/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2005
From: MILOUSHEV, VLADIMIR; NICKOLOV, PETER
To: Z-FORCE COMMUNICATIONS, INC.
Reel/Frame 016775/0590 →
GRANT OF PATENT SECURITY INTEREST Recorded Oct 4, 2004
From: Z-FORCE COMMUNICATIONS, INC.
To: LYNN, AS COLLATERAL AGENT, BARRY X
Reel/Frame 015213/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2003
From: MILOUSHEV, VLADIMIR; NICKOLOV, PETER
To: Z-FORCE, INC.
Reel/Frame 014058/0537 →