IP Library Granted Patent US 7,103,638
Granted Patent B1
US 7,103,638 · App. 10/235,022 · Granted Sep 5, 2006

Mechanism to re-export NFS client mount points from nodes in a cluster

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 7,103,638
App. No.
10/235,022
Granted
Sep 5, 2006
Kind
B1
Abstract

Mechanism for re-exporting Network File System (NFS) mount points. In one embodiment, a first server may send a file handle lookup request for a file in a file system to a second server that imported the file system from a third server and re-exported the file system to the second server. The second server may access a file handle mapping mechanism to generate a file handle for the file on the second server. The first server may send an I/O request including the file handle to the second server. The second server may access the file handle mapping mechanism to generate a file handle for the file on the third server from the file handle received in the I/O request. The second server forwards the I/O request to the third server using the new file handle. Results of the request are forwarded to the first server by the second server.

Claims (149)

1. A storage area network (SAN), comprising:

one or more storage devices each comprising a plurality of files;

a plurality of servers each configured to provide access to the files on the storage devices to one or more client systems, wherein the plurality of servers comprises a first server, a second server, and a third server;

wherein the third server comprises a file system, and wherein the third server is configured to export the file system to the second server; and

wherein the second server is configured to:

re-export the file system to the first server;

receive a file handle lookup request for a file in the file system from the first server;

access the third server to generate a file handle for the file in the file system on the second server; and

send the file handle for the file in the file system on the second server to the first server.

2. The SAN as recited in claim 1 , wherein, to access the third server to generate a file handle for the file in the file system on the second server, the second server is further configured to:

access the third server to generate a file system identifier and a file identifier for the file; and

generate the file handle for the file in the file system on the second server from the file system identifier and the file identifier.

3. The SAN as recited in claim 1 ,

wherein, to access the third server to generate a file handle for the file in the file system on the second server, the second server is further configured to:

send the file handle lookup request to the third server;

receive a file handle for the file in the file system on the third server from the third server; and

send the file handle for the file in the file system on the third server to the third server;

wherein the third server is configured to:

map the file handle for the file in the file system on the third server to a file system identifier and a file identifier for the file; and

send the file system identifier and the file identifier to the second server;

wherein, to access the third server to generate a file handle for the file in the file system on the second server, the second server is further configured to:

receive the file system identifier and the file identifier for the file from the third server; and

generate the file handle for the file in the file system on the second server from the file system identifier and the file identifier received from the third server.

4. The SAN as recited in claim 1 , wherein the second server is further configured to:

receive an I/O request for the file from the first server, wherein the I/O request comprises the file handle for the file in the file system on the second server;

generate a file handle for the file in the file system on the third server from the file handle for the file in the file system on the second server received in the I/O request; and

forward the I/O request to the third server, wherein the I/O request comprises the file handle for the file in the file system on the third server.

5. The SAN as recited in claim 4 ,

wherein the third server is configured to send results of the I/O request to the second server; and

wherein the second server is further configured to forward the results to the first server.

6. The SAN as recited in claim 1 ,

wherein the second server is further configured to:

receive an I/O request for the file from the first server, wherein the I/O request comprises the file handle for the file in the file system on the second server;

extract a file system identifier and a file identifier from the file handle for the file in the file system on the second server; and

send the file system identifier and the file identifier to the third server;

wherein the third server is configured to:

map the file system identifier and the file identifier to a file handle for the file in the file system on the third server; and

send the file handle for the file in the file system on the third server to the second server;

wherein the second server is further configured to:

receive the file handle for the file in the file system on the third server from the third server; and

forward the I/O request to the third server, wherein the I/O request comprises the file handle for the file in the file system on the third server.

7. The SAN as recited in claim 1 , wherein the plurality of servers are configured to provide access to the files on the storage devices in accordance with Network File System (NFS).

8. A system, comprising:

a processor; and

a memory comprising program instructions, wherein the program instructions are executable by the processor to:

re-export a file system imported from a server to a client, wherein said file system is exported from the server to the system;

receive a file handle lookup request for a file in the file system from the client;

access the server to generate a file handle for the file in the file system on the system; and

send the file handle for the file in the file system on the system to the server.

9. The system as recited in claim 8 , wherein, to access the server to generate a file handle for the file in the file system on the system, the program instructions are further executable by the processor to:

access the server to generate a file system identifier and a file identifier for the file; and

generate the file handle for the file in the file system on the system from the file system identifier and the file identifier.

10. The system as recited in claim 8 , wherein, to access the server to generate a file handle for the file in the file system on the system, the program instructions are further executable by the processor to:

send the file handle lookup request to the server;

receive a file handle for the file in the file system on the server from the server;

send the file handle for the file in the file system on the server to the server;

receive from the server a file system identifier and a file identifier generated by the server from the file handle for the file in the file system on the server; and

generate the file handle for the file in the file system on the system from the file system identifier and the file identifier received from the server.

11. The system as recited in claim 8 , wherein the program instructions are further executable by the processor to:

receive an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

generate a file handle for the file in the file system on the server from the file handle for the file in the file system on the system received in the I/O request;

forward the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server;

receive results of the I/O request from the server; and

forward the received results to the client.

12. The system as recited in claim 8 , wherein the program instructions are further executable by the processor to:

receive an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

extract a file system identifier and a file identifier from the file handle for the file in the file system on the system;

send the file system identifier and the file identifier to the server;

receive from the server a file handle for the file in the file system on the server generated by the server from the file system identifier and the file identifier; and

forward the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server.

13. The system as recited in claim 8 , wherein the system, the server and the client are configured to provide access to files in the file system in accordance with Network File System (NFS).

14. A system, comprising:

a processor; and

a memory comprising program instructions, wherein the program instructions are executable by the processor to:

re-export a file system imported from a server to a client, wherein said file system is exported from the server to the system;

receive an I/O request for a file in the file system from the client, wherein the I/O request comprises a file handle for the file in the file system on the system;

access the server to generate a file handle for the file in the file system on the server from the file handle for the file in the file system on the system received in the I/O request; and

forward the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server.

15. The system as recited in claim 14 , wherein the program instructions are further executable by the processor to:

receive results of the I/O request from the server; and

forward the received results to the client.

16. The system as recited in claim 14 , wherein, to access the server to generate a file handle for the file in the file system on the server from the file handle for the file in the file system on the system received in the I/O request, the program instructions are further executable by the processor to:

extract a file system identifier and a file identifier from the file handle for the file in the file system on the system;

send the file system identifier and the file identifier to the server; and

receive from the server a file handle for the file in the file system on the server generated by the server from the file system identifier and the file identifier.

17. The system as recited in claim 14 , wherein the system, the server and the client are configured to provide access to the files in the file system in accordance with Network File System (NFS).

18. A computer-implemented method, comprising:

a system re-exporting a file system imported from a server to a client, wherein said file system is exported from the server to the system;

the system receiving a file handle lookup request for a file in the file system from the client;

the system accessing the server to generating a file handle for the file in the file system on the system; and

the system sending the file handle for the file in the file system on the system to the client.

19. The method as recited in claim 18 , wherein the system accessing the server to generating a file handle for the file in the file system on the system comprises:

the system accessing the server to generate a file system identifier and a file identifier for the file; and

the system generating the file handle for the file in the file system on the system from the file system identifier and the file identifier.

20. The method as recited in claim 18 , wherein the system accessing the server to generating a file handle for the file in the file system on the system comprises:

the system sending the file handle lookup request to the server;

the system receiving from the server a file handle for the file in the file system on the server;

the system sending to the server the file handle for the file in the file system on the server;

the server mapping the file handle for the file in the file system on the server to a file system identifier and a file identifier for the file;

the server sending the file system identifier and the file identifier to the system;

the system receiving the file system identifier and the file identifier for the file from the server; and

the system generating the file handle for the file in the file system on the system from the file system identifier and the file identifier received from the server.

21. The method as recited in claim 18 , further comprising:

the system receiving an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

the system accessing the server to generate a file handle for the file in the file system on the server from the file handle for the file in the file system on the system received in the I/O request; and

the system forwarding the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server.

22. The method as recited in claim 21 , further comprising:

the system receiving results of the I/O request from the server; and

the system forwarding the received results to the client.

23. The method as recited in claim 18 , further comprising:

the system receiving an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

the system extracting a file system identifier and a file identifier from the file handle for the file in the file system on the system;

the system sending the file system identifier and the file identifier to the server;

the server mapping the file system identifier and the file identifier to a file handle for the file in the file system on the server;

the server sending the file handle for the file in the file system on the server to the system;

the system receiving from the server the file handle for the file in the file system on the server; and

the system forwarding the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server.

24. The method as recited in claim 18 , wherein the system, the server and the client are configured to provide access to the files in the file system in accordance with the Network File System (NFS).

25. A computer-accessible storage medium comprising program instructions, wherein the program instructions are configured to cause a computer to implement:

a system re-exporting a file system imported from a server to a client, wherein said file system is exported from the server to the system;

the system receiving a file handle lookup request for a file in the file system from the client;

the system accessing the server to generating a file handle for the file in the file system on the system; and

the system sending the file handle for the file in the file system on the system to the client.

26. The computer-accessible medium as recited in claim 25 , wherein, in the system accessing the server to generating a file handle for the file in the file system on the system, the program instructions are further configured to implement:

the system accessing the server to generate a file system identifier and a file identifier for the file; and

the system generating the file handle for the file in the file system on the system from the file system identifier and the file identifier.

27. The computer-accessible medium as recited in claim 25 , wherein, in the system accessing the server to generating a file handle for the file in the file system on the system, the program instructions are further configured to implement:

the system sending the file handle lookup request to the server;

the system receiving from the server a file handle for the file in the file system on the server;

the system sending to the server the file handle for the file in the file system on the server;

the server mapping the file handle for the file in the file system on the server to a file system identifier and a file identifier for the file;

the server sending the file system identifier and the file identifier to the system;

the system receiving the file system identifier and the file identifier for the file from the server; and

the system generating the file handle for the file in the file system on the system from the file system identifier and the file identifier received from the server.

28. The computer-accessible medium as recited in claim 25 , wherein the program instructions are further configured to implement:

the system receiving an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

the system accessing the server to generate a file handle for the file in the file system on the server from the file handle for the file in the file system on the system received in the I/O request;

the system forwarding the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server;

the system receiving results of the I/O request from the server; and

the system forwarding the received results to the client.

29. The computer-accessible medium as recited in claim 25 , wherein the program instructions are further configured to implement:

the system receiving an I/O request for the file from the client, wherein the I/O request comprises the file handle for the file in the file system on the system;

the system extracting a file system identifier and a file identifier from the file handle for the file in the file system on the system;

the system sending the file system identifier and the file identifier to the server;

the server mapping the file system identifier and the file identifier to a file handle for the file in the file system on the server;

the server sending the file handle for the file in the file system on the server to the system;

the system receiving from the server the file handle for the file in the file system on the server; and

the system forwarding the I/O request to the server, wherein the I/O request comprises the file handle for the file in the file system on the server.

30. The computer-accessible medium as recited in claim 25 , wherein the system, the server and the client are configured to provide access to files in the file system in accordance with Network File System (NFS).

Assignments (17)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
CORRECTIVE ASSIGNMENT TO CORRECT ASSIGNOR'S NAME, PREVIOUSLY RECORDED AT REEL 013275, FRAME 0250. Recorded Oct 23, 2003
From: BORTHAKUR, DHRUBAJYOTI; COLGROVE, JOHN
To: VERITAS OPERATING CORPORATION
Reel/Frame 014611/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2002
From: BORKHAKUR, DHRUBAJYOTI; COLGROVE, JOHN
To: VERITAS OPERATING CORPORATION
Reel/Frame 013275/0250 →