IP Library Granted Patent US 7,346,664
Granted Patent B2
US 7,346,664 · App. 10/831,376 · Granted Mar 18, 2008

Transparent file migration using namespace replication

Assignee: Neopath Networks, Inc.
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,346,664
App. No.
10/831,376
Granted
Mar 18, 2008
Kind
B2
Abstract

A NAS switch provides file migrations in a NAS storage network that are transparent to the clients. A source file server exports an original NAS file handles indicative of object locations on the source file server to the NAS switch. The NAS switch modifies the original NAS file handles to an internal file system and maps the original NAS file handles to a switch file handles independent of location. The NAS switch exports the switch file handles to a client. The client looks-up objects and makes NAS requests to the source file server using switch file handles. The NAS switch performs file migration by first replicating the namespace containing data to be migrated from source file server to a destination file server. Separately, the NAS replicates data which is a relatively longer process than the namespace replication. During data replication, namespace access requests for objects are directed to the replicated namespace. After data replication, file object requests for migrated objects are redirected to the destination file server in a process that is transparent to the client.

Claims (73)

1. A method for accessing an object in a storage network, comprising:

receiving a NAS (Network Attached Storage) file handle including a location of the object on a source file server;

sending as representative of the object, a switch file handle that is independent of the location of the object;

migrating the object from the location on the source file server to a location on a destination file server by separately replicating a namespace associated with the object and migrating data associated with the object, wherein prior to migrating the object, a stored file handle indicative of the location of the object on the source file server is stored in the location on the destination file server;

receiving an access request associated with the switch file handle; and

redirecting the access request to the location on the destination file server.

2. The method of claim 1 , wherein the object comprises a directory having objects representative of sub-directories and files.

3. The method of claim 1 , wherein the object comprises a file.

4. The method of claim 1 , wherein the migrating the object comprises replicating a namespace associated with the object, the namespace located on the source file server and the replicated namespace located on the destination file server.

5. The method of claim 4 , wherein the migrating the object further comprises:

during migration, if the access request comprises a request to access or modify the namespace, sending the namespace access request to both the namespace and the replicated namespace during migration.

6. The method of claim 4 , wherein migrating the object further comprises:

after migrating the object, storing a stored file handle in the location on the source file server, the stored file handle indicative of the location of the object on the destination file server.

7. The method of claim 1 , wherein the migrating the object comprises migrating data associated with the object.

8. The method of claim 1 , wherein the migrating the object comprises updating a file handle migration table with an entry for the location on the source file server and an entry for the location on the destination file server responsive to a successful migration.

9. The method of claim 8 , wherein the redirecting the access request further comprises:

looking-up the object in the file migration table; and

if the object is located, sending the access request to the location on the destination file server.

10. The method of claim 1 , wherein the redirecting the access request further comprises:

looking-up the object in the file migration table; and

if the object is not located, sending the access request to the location on the source file server.

11. The method of claim 1 , wherein the access request comprises a file access request including one from the group consisting of a read request and a write request.

12. The method of claim 1 , wherein the access request comprises a namespace access request including one from the group consisting of a create request, a delete request, a move request, a copy request, a look-up request and a rename request.

13. The method of claim 1 , wherein the NAS file handle comprises one from the group consisting of a NFS (Network File System) file handle and a CIFS (Common Internet File System) file handle.

14. A method for centrally accessing an object in a decentralized storage network, comprising:

receiving an input file handle including a location of the object on a source file server;

sending as representative of the object, a switch file handle independent of the location of the object;

migrating the object from the location on the source file server to a location on a destination file server by separately replicating a namespace associated with the object and migrating data associated with the object, wherein prior to migrating the object, a stored file handle indicative of the location of the object on the source file server is stored in the location on the destination file server, wherein during migration an object access request is duplicated among a namespace on the source file server and a replicated namespace on the destination file server;

updating a file migration table after migration, the file migration table comprising an entry object locations on the first and destination file servers; and

receiving an access request associated with the switch file handle; and

redirecting the access request to the location on the destination file server.

15. The method of claim 14 , wherein the decentralized storage network is a NAS (Network Attached Storage) storage network, wherein the access request is a NAS access request, and wherein the input file handle is a NAS file handle.

16. The method of claim 14 , wherein the first and destination file servers include file systems and the client does not include the file system.

17. A computer program product, comprising: a computer-readable medium having computer program instructions and data embodied thereon for a method accessing an object in a NAS (Network Attached Storage) storage network, the method comprising:

receiving a NAS file handle including a location of the object on a source file server;

sending as representative of the object, a switch file handle independent of the location of the object;

migrating the object from the location on the source file server to a location on a destination file server by separately replicating a namespace associated with the object and migrating data associated with the object;

receiving an access request associated with the switch file handle; and

redirecting the access request to the location on the destination file server, wherein during migration, the access request is sent to both the namespace and the replicated namespace.

18. The computer program product of claim 17 , wherein the object comprises a directory having objects representative of sub-directories and files.

19. The computer program product of claim 17 , wherein the object comprises a file.

20. The computer program product of claim 17 , wherein the migrating the object comprises replicating a namespace associated with the object, the namespace located on the source file server and the replicated namespace located on the destination file server.

21. The computer program product of claim 20 , wherein the migrating the object further comprises:

prior to migrating object, storing a stored file handle in the location on the destination file server, the stored file handle indicative of the location of the object on the source file server.

22. The computer program product of claim 20 , wherein the migrating the object further comprises:

after migrating the object, storing a stored file handle in the location on the source file server, the stored file handle indicative of the location of the object on the destination file server.

23. The computer program product of claim 17 , wherein the migrating the object comprises migrating data associated with the object.

24. The computer program product of claim 17 , wherein the migrating the object comprises updating a file handle migration table with an entry for the location on the source file server and an entry for the location on the destination file server responsive to a successful migration.

25. The computer program product of claim 24 , wherein the redirecting the access request further comprises:

looking-up the object in the file migration table; and

if the object is located, sending the access request to the location on the destination file server.

26. The computer program product of claim 17 , wherein the redirecting the access request further comprises:

looking-up the object in the file migration table; and

if the object is not located, sending the access request to the location on the source file server.

27. The computer program product of claim 26 , wherein the object access request comprises a file access request including one from the group consisting of a read request and a write request.

28. The computer program product of claim 17 , wherein the access request comprises a namespace access request including one from the group consisting of a create request, a delete request, a move request, a copy request, a look-up request and a rename request.

29. The computer program product of claim 17 , wherein the NAS file handle comprises one from the group consisting of a NFS (Network File System) file handle and a CIFS (Common Internet File System) file handle.

30. A NAS (Network Attached Storage) switch, comprising:

a file server interface to issue a switch file handle representative of the object responsive to receiving a NAS file handle including a location of the object on a source file server, the switch file handle independent of the location of the object on the source file server;

a migration module to enter the location of the object on the source file server and a location of the object on the destination file server responsive to receiving an indication of successful migration, the migration module also to separately replicate a namespace associated with the object and migrate data associated with the object; and

a redirection module, communicatively coupled to the migration module, the redirection module redirecting an object access request to the location on the destination file server responsive to receiving the access request associated with the switch file handle, wherein during migration, the redirection module sends the access request to both the namespace and the replicated namespace.

31. The NAS switch of claim 30 , wherein the object comprises a directory having objects representative of sub-directories and files.

32. The NAS switch of claim 30 , wherein the object comprises a file.

33. The NAS switch of claim 30 , wherein the migrating module replicates a namespace associated with the object, the namespace located on the source file server and the replicated namespace located on the destination file server.

34. The NAS switch of claim 33 , wherein prior to migrating the object, the migration module stores a stored file handle in the location on the destination file server, the stored file handle indicative of the location of the object on the source file server.

35. The NAS switch of claim 30 , wherein after migrating the object, the migration module stores a stored file handle in the location on the source file server, the stored file handle indicative of the location of the object on the destination file server.

36. The NAS switch of claim 30 , wherein the migration module migrates data associated with the object.

37. The NAS switch of claim 30 , wherein the migration module updates a file handle migration table with an entry for the location on the source file server and an entry for the location on the destination file server responsive to a successful migration.

38. The NAS switch of claim 37 , wherein the redirection module looks-up the object in the file migration table, and sends the object access request to the location on the destination file server responsive to the object being located.

39. The NAS switch of claim 30 , wherein the redirection module looks-up the object in the file migration table, and sends the access request to the location on the source file server responsive to the object not being located.

40. The NAS switch of claim 30 , wherein the object access request comprises a file access request including one from the group consisting of a read request and a write request.

41. The NAS switch of claim 30 , wherein the object access request comprises a name access request including one from the group consisting of a create request, a delete request, a move request, a copy request, a look-up request and a rename request.

42. The NAS switch of claim 30 , wherein the NAS file handle comprises one from the group consisting of a NFS (Network File System) file handle and a CIFS (Common Internet File System) file handle.

Assignments (3)
MERGER Recorded Jul 17, 2015
From: NEOPATH NETWORKS, INC.
To: CISCO SYSTEMS, INC.
Reel/Frame 036120/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2015
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 036120/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2004
From: WONG, THOMAS K.; TSIRIGOTIS, PANAGIOTIS; IYENGAR, ANAND; CHAWLA, RAJEEV
To: NEOPATH NETWORKS, INC.
Reel/Frame 015084/0212 →
Continuity (3)
Provisional Application 6046557900 · Apr 24, 2003
Provisional Application 6046557800 · Apr 24, 2003
Related Publication 20040267830A1 · Dec 30, 2004