US2006123062A1PendingUtilityA1

Virtual file system

Assignee: EMC CORPPriority: Dec 19, 2001Filed: Jan 23, 2006Published: Jun 8, 2006
Est. expiryDec 19, 2021(expired)· nominal 20-yr term from priority
G06F 3/0644G06F 3/065G06F 3/0613G06F 3/0689G06F 3/0647G06F 3/0667G06F 3/0643G06F 16/188G06F 3/0601
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A virtual file system and method. The system architecture enables a plurality of underlying file systems running on various file servers to be “virtualized” into one or more “virtual volumes” that appear as a local file system to clients that access the virtual volumes. The system also enables the storage spaces of the underlying file systems to be aggregated into a single virtual storage space, which can be dynamically scaled by adding or removing file servers without taking any of the file systems offline and in a manner transparent to the clients. This functionality is enabled through a software “virtualization” filter on the client that intercepts file system requests and a virtual file system driver on each file server. The system also provides for load balancing file accesses by distributing files across the various file servers in the system, through migration of data files between servers.

Claims

exact text as granted — not AI-modified
1 .- 30 . (canceled)  
   
   
       31 . A method of virtualizing a plurality of file systems, comprising: 
 aggregating the file systems into a single virtual storage volume;    creating in a master logical volume a virtual directory and file hierarchy including a virtual pathname for each file stored in the virtual storage volume;    for each file in the virtual directory and file hierarchy, associating with the file a metadata and a pointer to the file contents stored in one or more slave logical volumes; and    maintaining on each client that accesses the virtual storage volume a copy of configuration information that identifies a file system used to host the master logical volume and one or more file systems used to host the slave logical volumes.    
   
   
       32 . A method as recited in  claim 31 , wherein the one or more file systems used to host the slave logical volumes includes the file system used to host the master logical volume.  
   
   
       33 . A method as recited in  claim 31 , wherein the virtual storage volume appears to the each client as at least a portion of a local file system of the client.  
   
   
       34 . A method as recited in  claim 31 , further comprising providing a virtualization layer that enables the each client to access a file stored in the virtual storage volume by using a reference to the virtual pathname of the file.  
   
   
       35 . A method as recited in  claim 31 , wherein the each client does not need to know the file systems and pathnames under which the file is actually stored.  
   
   
       36 . A method as recited in  claim 31 , wherein the file systems include at least two file systems that comprise different file system types.  
   
   
       37 . A method as recited in  claim 31 , further comprising dynamically scaling the virtual storage volume by adding a new file system to the virtual storage volume without taking the virtual storage volume offline.  
   
   
       38 . A method as recited in  claim 31 , further comprising migrating one or more files initially stored on one of the file systems to another one of the file systems, wherein the files are migrated without taking any of the file systems offline and in a manner that is transparent to one or more clients accessing the virtual storage volume.  
   
   
       39 . A method as recited in  claim 31 , wherein the pointer to the file includes a first GUID (global unique identifier) that identifies at least one of the slave logical volumes on which the file is stored and a second GUID that is used to identify a storage location within the one of the slave logical volumes.  
   
   
       40 . A method as recited in  claim 31 , wherein at least two of the file systems are hosted on a singe server.  
   
   
       41 . A method as recited in  claim 31 , wherein each of the file systems are hosted on different servers.  
   
   
       42 . A method as recited in  claim 31 , wherein configuration information that maps the master logical volume and the slave logical volumes to the file systems is maintained on one or more servers associated with the file systems.  
   
   
       43 . A method as recited in  claim 31 , wherein the each client includes an agent that updates the local copy of the configuration information when the configuration information is modified.  
   
   
       44 . A system for virtualizing a plurality of file systems, comprising: 
 a communication interface used to communicate with the file systems; and    a processor configured to aggregate the file systems into a single virtual storage volume, create in a master logical volume a virtual directory and file hierarchy including a virtual pathname for each file stored in the virtual storage volume, and for each file in the virtual directory and file hierarchy, associate with the file a metadata and a pointer to the file contents stored in one or more slave logical volumes;    wherein a copy of configuration information that identifies a file system used to host the master logical volume and one or more file systems used to host the slave logical volumes is maintained on each client that accesses the virtual storage volume.    
   
   
       45 . A system as recited in  claim 44 , wherein the one or more file systems used to host the slave logical volumes includes the file system used to host the master logical volume.  
   
   
       46 . A system as recited in  claim 44 , wherein a virtualization layer that enables the each client to access a file stored in the virtual storage volume by using a reference to the virtual pathname of the file.  
   
   
       47 . A system as recited in  claim 44 , wherein the virtual storage volume can be dynamically scaled by adding a new file system to the virtual storage volume without taking the virtual storage volume offline.  
   
   
       48 . A system as recited in  claim 44 , wherein configuration information that maps the master logical volume and the slave logical volumes to the file systems is maintained on one or more servers associated with the file systems.  
   
   
       49 . A system as recited in  claim 44 , wherein the each client includes an agent that updates the local copy of the configuration information when the configuration information is modified.  
   
   
       50 . A computer program product for virtualizing a plurality of file systems, the computer program product being embodied in a computer readable medium and comprising computer instructions for: 
 aggregating the file systems into a single virtual storage volume;    creating in a master logical volume a virtual directory and file hierarchy including a virtual pathname for each file stored in the virtual storage volume;    for each file in the virtual directory and file hierarchy, associating with the file a metadata and a pointer to the file contents stored in one or more slave logical volumes; and    maintaining on each client that accesses the virtual storage volume a copy of configuration information that identifies a file system used to host the master logical volume and one or more file systems used to host the slave logical volumes.

Join the waitlist — get patent alerts

Track US2006123062A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.