# US 10,503,723 B2 · Method and system for migrating data between systems without downtime

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,723 B2
- Document ID: US10503723B2
- Status: Granted
- Kind: B2
- Application number: 14/335,540
- Filed: 2014-07-18
- Published: 2015-01-22
- Granted: 2019-12-10
- Earliest claimed: 2013-07-19
- Assignees: Transform Sr Brands LLC
- Applicants: Transform Sr Brands LLC
- Inventors: Espen Zachrisen; Tariq Afeef; Ganesh Venkatachalam; Vinayak Subray Hegde
- Web page: https://patentgrep.com/patent/US10503723B2

## CPC

- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 3/0617: {in relation to availability}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems are provided for migrating data between systems without downtime. Data migration may be performed by selecting one or more data records for migration from a first record system to a second record system, and copying the one or more data records from the first record system to the second record system in manner where the data record remains accessible and available during the migration. The migrating may comprise verifying each copied data record, and when the data record is successfully verified, marking it as available on the second record system, and updating user interaction related functions to use a copy of the data record in the second record system when handling interactions by a user associated with the data record. User interactions may be handled adaptively during data migration by verifying the availability of data records in the first record system and the second record system.

## Claims

### Claim 1

A method, comprising:
in an electronic system that is configured for handling data migration:
selecting one or more data records for migration from a first record system to a second record system;
migrating the one or more data records from the first record system to the second record system, the migrating comprising:
obtaining the one or more data records from the first record system;
loading the one or more data records into the second record system; and
for each data record of the one or more data records:
verifying the data record;
when the data record is successfully verified, marking it as available on the second record system; and
updating user interaction related functions to use a copy of the data record in the second record system when handling interactions by a user associated with the data record; and
handling during the migrating of the one or more data records, user requests for particular data records, wherein the handling comprises for each requested data record, selecting between the first record system and the second record system based on the user interaction related functions.

### Claim 2 (depends on 1)

The method of claim 1, comprising marking the one or more data records in the first record system as unavailable after loading the one or more data records into the second record system.

### Claim 3 (depends on 1)

The method of claim 1, comprising verifying the data record by comparing the copy of the data record in the second record system with a copy of the data record that still remains in the first record system.

### Claim 4 (depends on 3)

The method of claim 3, comprising, when the copy of the data record in the second record system does not match the copy of the data record that still remains in the first record system:
marking the copy of the data record that still remains in the first record system as available; and
marking the loaded copy of the data record into the second record system for deletion.

### Claim 5 (depends on 3)

The method of claim 3, comprising marking the data record, when the loaded copy of the data record into the second record system does not match the copy of the data record that still remains in the first record system, for re-migration.

### Claim 6 (depends on 1)

The method of claim 1, wherein the handling comprises:
determining for each user request, at least one data record associated with the user request;
determining if a copy of the one data record in the first record system is still active; and
when the copy of the one data record in the first record system is still active, forwarding the user request to the first record system.

### Claim 7 (depends on 6)

The method of claim 6, comprising, when the copy of the one data record in the first record system is not active, forwarding the user request to the second record system.

### Claim 8 (depends on 7)

The method of claim 7, comprising, when receiving from the second record system an indication that a copy of the one data record in the second record system is not active in the second record system, retrying to forward the user request to the second record system after a particular wait period.

### Claim 9 (depends on 8)

The method of claim 8, comprising determining the particular wait period for each user request.

### Claim 10 (depends on 9)

The method of claim 9, comprising determining the particular wait period based on level of service associated with the user request.

### Claim 11

A system, comprising:
one or more circuits for use in an electronic system that is configured for handling data migration, the one or more circuits being operable to:
select one or more data records for migration from a first record system to a second record system; and
migrate the one or more data records from the first record system to the second record system, the migrating comprising:
obtaining the one or more data records from the first record system;
loading the one or more data records into the second record system; and
for each data record of the one or more data records:
verify the data record;
when the data record is successfully verified, mark it as available on the second record system; and
update user interaction related functions to use a copy of the data record in the second record system when handling interactions by a user associated with the data record;
handle during the migrating of the one or more data records, user requests for particular data records, wherein the handling comprises for each requested data record, selecting between the first record system and the second record system based on the user interaction related functions.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more circuits are operable to mark the one or more data records in the first record system as unavailable after loading the one or more data records into the second record system.

### Claim 13 (depends on 11)

The system of claim 11, wherein the one or more circuits are operable to verify the data record by comparing the copy of the data record in the second record system with a copy of the data record that still remains in the first record system.

### Claim 14 (depends on 13)

The system of claim 13, wherein the one or more circuits are operable to, when the copy of the data record in the second record system does not match the copy of the data record that still remains in the first record system:
mark the copy of the data record that still remains in the first record system as available; and
mark the loaded copy of the data record into the second record system for deletion.

### Claim 15 (depends on 13)

The system of claim 13, wherein the one or more circuits are operable to mark the data record, when the loaded copy of the data record into the second record system does not match the copy of the data record that still remains in the first record system, for re-migration.

### Claim 16 (depends on 11)

The system of claim 11, wherein the one or more circuits are operable to:
determine for each user request, at least one data record associated with the user request;
determine if a copy of the one data record in the first record system is still active; and
when the copy of the one data record in the first record system is still active, forward the user request to the first record system.

### Claim 17 (depends on 16)

The system of claim 16, wherein the one or more circuits are operable to, when the copy of the one data record in the first record system is not active, forward the user request to the second record system.

### Claim 18 (depends on 17)

The system of claim 17, wherein the one or more circuits are operable to, when receiving from the second record system an indication that a copy of the one data record in the second record system is not active in the second record system, retry to forward the user request to the second record system after a particular wait period.

### Claim 19 (depends on 18)

The system of claim 18, wherein the one or more circuits are operable to determine the particular wait period for each user request.

### Claim 20 (depends on 19)

The system of claim 19, wherein the one or more circuits are operable to determine based on level of service associated with the user request.
