US2014201313A1PendingUtilityA1

Utilizing Removable Virtual Volumes For Sharing Data On A Storage Area Network

52
Assignee: NETAPP INCPriority: Feb 19, 2008Filed: Mar 20, 2014Published: Jul 17, 2014
Est. expiryFeb 19, 2028(~1.6 yrs left)· nominal 20-yr term from priority
Inventors:Moshe Melnikov
G06F 3/0622G06F 3/067G06F 3/0619G06F 3/0665G06F 3/0653
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present disclosure provides data sharing through virtual removable volumes. A virtual volume of a SAN (storage area network) is presented to clients as a virtual removable volume. A controlling application controls access of clients connected to the SAN to the virtual removable volume. The controlling application allows only one client at a time to access the virtual removable volume. The controlling application allows a first client to mount the virtual removable volume as a removable volume. The controlling application then causes the first client to unmount the virtual removable volume and allows a second client to mount the virtual removable volume as a removable volume. In this way, the first client and second client are able to share data via the virtual removable volume without causing corruption of data and without requiring a shared file system or physical transfer of removable media.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method performed by a controlling application in a storage network, the storage network including a first computing device, a second computing device, and a virtual volume, wherein only one of the first computing device and second computing device mounts the virtual volume at a time, the method comprising:
 controlling the first computing device to mount the virtual volume;   receiving a request by the second computing device to access the virtual volume;   in response to the received request, sending a command to the first computing device, causing the first computing device to unmount the virtual volume; and   controlling the second computing device to mount the virtual volume after the virtual volume is unmounted from the first computing device, in which the first computing device and the second computing device share data by transferring the data from the first computing device to the virtual volume so that the second computing device can access the data, the second computing device being able read and write the data.   
     
     
         2 . The method of  claim 1 , wherein the controlling application comprises:
 a central controlling application executing on a third computing device communicatively coupled to the first computing device and the second computing device.   
     
     
         3 . The method of  claim 2 , wherein the command includes a load eject (loej) bit in an START STOP UNIT SCSI (Small Computer System Interface) command. 
     
     
         4 . The method of  claim 1 , wherein the controlling application comprises:
 a distributed controlling application comprising at least a first distinct component executing on the first computing device and a second distinct component executing on the second computing device and wherein the first computing device is communicably connected to the second computing device and the first distinct component communicates with the second distinct component.   
     
     
         5 . The method of  claim 4 , wherein controlling the second computing device to mount the virtual volume comprises:
 sending a IOCTL (Input/Output Control) command to the second computing device.   
     
     
         6 . The method of  claim 1 , wherein controlling the first computing device to mount the virtual volume comprises:
 sending a load command to a driver of the first computing device, causing the driver of the first computing device to mount the virtual volume onto the first computing device.   
     
     
         7 . The method of  claim 1 , wherein sending a command to the first computing device, causing the first computing device to unmount the virtual volume comprises:
 sending an eject command to a driver of the first computing device, causing the driver of the first computing device to unmount the virtual volume from the first computing device.   
     
     
         8 . The method of  claim 1 , wherein controlling the second computing device to mount the virtual volume comprises:
 sending a second load command to a driver of the second computing device, causing the driver of the second computing device to mount the virtual volume onto the second computing device.   
     
     
         9 . The method of  claim 1 , further comprising:
 receiving an input/output request for the virtual volume at the first computing device when the virtual volume is unmounted from the first computing device; and   informing an originator of the input/output request that the virtual volume is unavailable.   
     
     
         10 . Computer-executable instructions, embodied in a non-transitory tangible medium, for performing a method when executed by a processor, the method performed in a storage network, the storage network including a first computing device, a second computing device, and a virtual volume, wherein only one of the first computing device and second computing device mounts the virtual volume at a time, the method comprising:
 sending a first command to the first computing device to mount the virtual volume;   receiving a request by the second computing device to access the virtual volume;   in response to the received request, controlling the first computing device to unmount the virtual volume; and   sending a second command to the second computing device to mount the virtual volume after the virtual volume is unmounted from the first computing device, in which the first computing device and the second computing device share data by transferring the data from the first computing device to the virtual volume so that the second computing device can access the data, the second computing device being able read and write the data.   
     
     
         11 . The computer-executable instructions of  claim 10 , wherein the method is performed by a controlling application that comprises:
 a central controlling application executing on a third computing device communicatively coupled to the first computing device and the second computing device.   
     
     
         12 . The computer-executable instructions of  claim 11 , wherein controlling the first computing device to unmount the virtual volume comprises sending a load eject (loej) bit in an START STOP UNIT SCSI (Small Computer System Interface) command to the first computing device. 
     
     
         13 . The computer-executable instructions of  claim 10 , wherein the method is performed by a controlling application that comprises:
 a distributed controlling application including at least a first distinct component executing on the first computing device and a second distinct component executing on the second computing device and wherein the first computing device is communicably connected to the second computing device and the first distinct component communicates with the second distinct component.   
     
     
         14 . The computer-executable instructions of  claim 13 , wherein the first and second commands are implemented by IOCTL (Input/Output Control). 
     
     
         15 . The computer-executable instructions of  claim 10 , wherein sending a first command to the first computing device comprises:
 sending a load command to a driver of the first computing device, causing the driver of the first computing device to mount the virtual volume onto the first computing device.   
     
     
         16 . The computer-executable instructions of  claim 10 , controlling the first computing device to unmount the virtual volume comprises:
 sending an eject command to a driver of the first computing device, causing the driver of the first computing device to unmount the virtual volume from the first computing device, utilizing the controlling application.   
     
     
         17 . The computer-executable instructions of  claim 10 , wherein sending a second command to the second computing device comprises:
 sending a load command to a driver of the second computing device, causing the driver of the second computing device to mount the virtual volume onto the second computing device.   
     
     
         18 . The computer-executable instructions of  claim 10 , wherein the method further comprises:
 receiving an input/output request for the virtual volume at the first computing device when the virtual volume is unmounted from the first computing device; and   informing an originator of the input/output request that the virtual volume is unavailable.   
     
     
         19 . A computer system comprising:
 a first computing device communicatively coupled in a storage network with a second computing device and a third computing device, the first computing device including memory storing instructions, which when executed, cause the first computing device to perform the following actions:   controlling the second computing device to mount the virtual volume;   receiving a request by the third computing device to access the virtual volume;   in response to the received request, controlling the second computing device to unmount the virtual volume; and   controlling the third computing device to mount the virtual volume after the virtual volume is unmounted from the second computing device, in which the second computing device and the third computing device share data by transferring the data from the second computing device to the virtual volume so that the third computing device can access the data, the third computing device being able read and write the data.   
     
     
         20 . The computer system of  claim 19 , wherein the first computing device executes a central controlling application to control mounting and unmounting the virtual volume.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.