IP Library Granted Patent US 8,417,681
Granted Patent B1
US 8,417,681 · App. 12/408,356 · Granted Apr 9, 2013

Aggregated lock management for locking aggregated files 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 8,417,681
App. No.
12/408,356
Granted
Apr 9, 2013
Kind
B1
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 ensures consistent and atomic behavior of the switched file system by aggregating in a deterministic way the transactions initiated by the client of multiple independent file switches so that only one of the multiple concurrent transactions attempted on the same aggregated data file may succeed, or so that the transactions are serialized so as to be performed as a sequence of atomic operations. In addition, the integrity of the aggregated data file is safeguarded by issuing locking requests on behalf of certain client applications that do not observe locking mechanism consistently.

Claims (40)

1. A file switch, comprising:

at least one processing unit coupled to a memory and configured to execute programmed instructions stored in the memory comprising:

receiving a request from a client computing device to perform an operation on a subset of a specified user file;

accessing a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file;

sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein;

aggregating a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and

performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result.

2. The file switch of claim 1 , wherein the aggregated lock acquisition result is a positive result when each of the file servers in the subset of file servers is able to provide exclusive access to the client computing device to the subset of the specified user file.

3. The file switch of claim 1 , wherein the processor is further configured to execute programmed instructions stored in the memory further comprising, when the aggregated lock acquisition result is a negative result, deferring processing of the user request and resending the lock requests.

4. The file switch of claim 1 , wherein the processor is further configured to execute programmed instructions stored in the memory further comprising, when the aggregated lock acquisition result is a negative result, returning a negative result to the client computing device in response to the request to perform the operation.

5. A non-transitory computer readable medium having stored thereon instructions for locking aggregated files in a distributed file system which when executed by at least one processor, causes the processor to perform steps comprising:

receiving a request from a client computing device to perform an operation on a subset of a specified user file;

accessing a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file;

sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein;

aggregating a lock acquisition result from each file server in the subset of file servers to produce an aggregated lock acquisition result; and

performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result.

6. The medium of claim 5 , wherein the aggregated lock acquisition result is a positive result when each of the file servers in the subset of file servers is able to provide exclusive access to the client computing device to the subset of the specified user file.

7. The medium of claim 5 , further having stored thereon instructions that when executed by the at least one processor cause the processor to perform steps further comprising, when the aggregated lock acquisition result is a negative result, deferring processing of the user request and resending the lock requests.

8. The medium of claim 5 , further having stored thereon instructions that when executed by the at least one processor cause the processor to perform steps further comprising, when the aggregated lock acquisition result is a negative result, returning a negative result to the client computing device in response to the request to perform the operation.

9. A distributed file system, comprising:

a plurality of file servers;

a plurality of client computing devices; and

a file switch in communication with the plurality of file servers and the plurality of client computing devices and including at least one processing unit coupled to a memory and configured to execute programmed instructions stored in the memory comprising:

receiving a request from one of the client computing devices to perform an operation on a subset of a specified user file;

accessing a primary metafile that stores information identifying a subset of the plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file;

sending a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein;

aggregating a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and

performing the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result.

10. The system of claim 9 , wherein the aggregated lock acquisition result is a positive result when each of the file servers in the subset of file servers is able to provide exclusive access to the client computing device to the subset of the specified user file.

11. The system of claim 9 , wherein the processor is further configured to execute programmed instructions stored in the memory further comprising, when the aggregated lock acquisition result is a negative result, deferring processing of the user request and resending the lock requests.

12. The system of claim 9 , wherein the processor is further configured to execute programmed instructions stored in the memory further comprising, when the aggregated lock acquisition result is a negative result, returning a negative result to the client computing device in response to the request to perform the operation.

13. A method for locking aggregated files in a distributed file system, comprising:

receiving, with a file switch, a request from a client computing device to perform an operation on a subset of a specified user file;

accessing, with the file switch, a primary metafile that stores information identifying a subset of a plurality of file servers that store respective defined portions of the specified user file that together comprise the subset of the specified user file;

sending, with the file switch, a lock request to each file server in the subset of file servers, to obtain a lock on the respective portion of the specified user file stored therein;

aggregating, with the file switch, a lock acquisition result from each file server in the subset of fileservers to produce an aggregated lock acquisition result; and

performing, with the file switch, the operation on the subset of the specified user file when the aggregated lock acquisition result is a positive result.

14. The method of claim 13 wherein the aggregated lock acquisition result is a positive result when each of the file servers in the subset of file servers is able to provide exclusive access to the client computing device to the subset of the specified user file.

15. The method of claim 13 further comprising, when the aggregated lock acquisition result is a negative result, deferring, with the file switch, processing of the user request and resending the lock requests.

16. The method of claim 13 , further comprising, when the aggregated lock acquisition result is a negative result, returning, with the file switch, a negative result to the client computing device in response to the request to perform the operation.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
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 →