US2013305004A1PendingUtilityA1

Migration of data in a distributed environment

Assignee: IBMPriority: Nov 23, 2010Filed: Jul 17, 2013Published: Nov 14, 2013
Est. expiryNov 23, 2030(~4.3 yrs left)· nominal 20-yr term from priority
G06F 11/1443G06F 3/067G06F 3/0626G06F 3/0647
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Aspects migrate dynamically changing data sets in a distributed application environment. Writes to a source device are intercepted and it is determined whether data in the source device is being migrated to a target device. If data is being migrated, then the intercepted write is minor written synchronously to both the source and the target. Data being migrated is read from a region of the source and written to a region of the target and also to a mirror writing memory location. The source region data is re-read and compared to the originally read data that is written to the minor writing memory location. If the compared data does not match, the data migration from the source region to the target region (and to the minor writing memory location) is repeated until the originally read data and the re-read data match.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for migrating dynamically changing data sets in a distributed application environment, the method comprising:
 intercepting via a host device a write to a source device in communication with the host device through a distributed application environment and determining whether data in the source device is being migrated to a target device in communication with the host device and the source device through the distributed application environment;   if determined that the data in the source device is not being migrated to the target device, passing the intercepted write directly to the source device;   if determined that the data in the source device is being migrated to the target device, minor writing the intercepted write synchronously to both the source device and the target device; and   migrating data from the source device to the target device by reading data in a region of the source device and writing originally read source region data to a region of the target device and to a mirror writing memory location.   
     
     
         2 . The method of  claim 1 , further comprising:
 integrating computer-readable program code into a computer infrastructure that comprises a processing unit, a computer readable memory and a computer readable tangible storage medium, wherein the computer readable program code is embodied on the computer readable tangible storage medium and comprises instructions that, when executed by the processing unit via the computer readable memory, cause the processing unit to perform the steps of intercepting the write to the source device and determining whether the data in the source device is being migrated to the target device, passing the intercepted write directly to the source device if determined that the data in the source device is not being migrated to the target device, minor writing the intercepted write synchronously to both the source device and the target device if determined that the data in the source device is being migrated to the target device, and migrating data from the source device to the target device by reading data in the region of the source device and writing originally read source region data to the region of the target device and to the minor writing memory location.   
     
     
         3 . The method of  claim 2 , wherein the step of migrating the data from the source device to the target device comprises copying data from the source device region and writing the copied data to the target region without locking down the source region or the target region; and wherein the method further comprises:
 re-reading the source region data and comparing the re-read data to the originally read data written to the mirror writing memory location;   if the compared re-read data does not match the originally read data written to the mirror writing memory location, repeating the steps of the migrating the data from the source region to the target region and the re-reading the source region data and the comparing to the originally read data written to the mirror writing memory location, until the originally and re-read data match; and   if the compared re-read data matches the originally read data written to the mirror writing memory location, iteratively repeating the steps of the migrating, the comparing and the re-reading of data for each of other regions of the source device with respect to each of other regions of the target device, until the originally read data and the re-read data match for each of the other source regions being migrated.   
     
     
         4 . The method of  claim 3 , further comprising:
 acknowledging that the intercepted storage device write has been mirror written to both the source device and the target device before acknowledging the intercepted storage device write to an upper layer.   
     
     
         5 . The method of  claim 4 , wherein the minor writing the intercepted storage device write synchronously to the source device and to the target device is at a host level in a computer infrastructure input and output path. 
     
     
         6 . The method of  claim 5 , wherein the step of, if the compared re-read data does not match the originally read data written to the minor writing memory location, repeating the migrating the data from the source region to the target region and the re-reading the source region data and the comparing the re-read data to the originally read data written to the mirror writing memory location, further comprises:
 repeating the migrating the data from the source region to the target region and the re-reading the source region data and the comparing the re-read data to the originally read data written to the minor writing memory location until a maximum number of retries is met; and   generating an error message if the maximum number of retries is met.   
     
     
         7 . The method of  claim 6 , wherein the intercepted write to the source device is to an existing storage device disk, a logical unit number or a volume manager device driver; and
 wherein the migrating the data from the source device to the target region further comprises:   reading data from a plurality of source regions in the source device and writing the read source region data to a plurality of regions of the target device in parallel using multiple threads.   
     
     
         8 . A system, comprising:
 a processing unit, computer readable memory and a computer readable storage system;   first program instructions to intercept a write to a source device in communication with the processing unit through a distributed application environment and determine whether data in the source device is being migrated to a target device in communication with the processing unit and the source device through the distributed application environment;   second program instructions to, if determined that the data in the source device is not being migrated to the target device, pass the intercepted write directly to the source device; and to, if determined that the data in the source device is being migrated to the target device, mirror write the intercepted write synchronously to both the source device and the target device;   third program instructions for migration of data from the source device to the target device, the third program instructions to read data in a region of the source device and write originally read source region data to a region of the target device and to a minor writing memory location; and   wherein the first, second and third program instructions are stored on the computer readable storage system for execution by the processing unit via the computer readable memory.   
     
     
         9 . The system of  claim 8 , wherein the third program instructions for migration of data from the source device to the target device are further to:
 re-read the source region data and compare the re-read data to the originally read data written to the minor writing memory location;   if the compared re-read data does not match the originally read data written to the mirror writing memory location, repeat the migration of the data from the source region to the target region, the re-read of the source region data and the compare of the re-read data to the originally read data written to the mirror writing memory location until the originally read data and the re-read data match;   if the compared re-read data matches the originally read data written to the mirror writing memory location, iteratively repeat the migration of the data, the compare and the re-read of data for each of other regions of the source device with respect to each of other regions of the target device until originally read data and re-read data match for each of the other source regions migrated; and   copy data from the source device region and write the copied data to the target region without locking down the source region or the target region.   
     
     
         10 . The system of  claim 9 , wherein the second program instructions are further to acknowledge that the intercepted storage device write has been mirror written to both the source device and the target device before acknowledging the intercepted storage device write to an upper layer. 
     
     
         11 . The system of  claim 10 , wherein the second program instructions are further to minor write the intercepted write synchronously to the source device and to the target device at a host level in a computer infrastructure input and output path. 
     
     
         12 . The system of  claim 11 , wherein the third program instructions for migration of data from the source device to the target device are further to read data from a plurality of source regions in the source device and write the read source region data to a plurality of regions of the target device in parallel using multiple threads. 
     
     
         13 . The system of  claim 11 , wherein the second program instructions are further to intercept the write to the source device to an existing storage device disk, a logical unit number or a volume manager device driver. 
     
     
         14 . A computer program product for migrating dynamically changing data sets in a distributed application environment, the computer program product comprising:
 a computer readable storage medium that is not a signal medium;   first program instructions to intercept via a host device a write to a source device in communication with the host device through a distributed application environment and determine whether data in the source device is being migrated to a target device in communication with the host device and the source device through the distributed application environment;   second program instructions to, if determined that the data in the source device is not being migrated to the target device, pass the intercepted write directly to the source device; and to, if determined that the data in the source device is being migrated to the target device, mirror write the intercepted write synchronously to both the source device and the target device; and   third program instructions for migration of data from the source device to the target device, the third program instructions to read data in a region of the source device and write originally read source region data to a region of the target device and to a minor writing memory location; and   wherein the first, second and third program instructions are stored on the computer readable storage medium.   
     
     
         15 . The computer program product of  claim 14 , wherein the third program instructions for migration of data from the source device to the target device are further to:
 re-read the source region data and compare the re-read data to the originally read data written to the minor writing memory location;   if the compared re-read data does not match the originally read data written to the mirror writing memory location, repeat the migration of the data from the source region to the target region, the re-read of the source region data and the compare of the re-read data to the originally read data written to the mirror writing memory location until the originally read data and the re-read data match;   if the compared re-read data matches the originally read data written to the mirror writing memory location, iteratively repeat the migration of the data, the compare and the re-read of data for each of other regions of the source device with respect to each of other regions of the target device until originally read data and re-read data match for each of the other source regions migrated; and   copy data from the source device region and write the copied data to the target region without locking down the source region or the target region.   
     
     
         16 . The computer program product of  claim 15 , wherein the second program instructions are further to acknowledge that the intercepted storage device write has been minor written to both the source device and the target device before acknowledging the intercepted storage device write to an upper layer. 
     
     
         17 . The computer program product of  claim 16 , wherein the second program instructions are further to mirror write the intercepted storage device write synchronously to the source device and to the target device is at a host level in a computer infrastructure input and output path. 
     
     
         18 . The computer program product of  claim 17 , wherein the third program instructions for migration of data from the source device to the target device are further to read data from a plurality of source regions in the source device and write the read source region data to a plurality of regions of the target device in parallel using multiple threads. 
     
     
         19 . The computer program product of  claim 17 , wherein the second program instructions are further to intercept the write to the source device to an existing storage device disk, a logical unit number or a volume manager device driver. 
     
     
         20 . The computer program product of  claim 17 , wherein the third program instructions for migration of data from the source device to the target device are further to:
 repeat the data migration from the source region to the target region, the re-read of the source region data and the comparison of the re-read data to the originally read data written to the mirror writing memory location until a maximum number of retries is met; and   generate an error message if the maximum number of retries is met.

Join the waitlist — get patent alerts

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

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