IP Library Granted Patent US 10,210,232
Granted Patent B2
US 10,210,232 · App. 14/873,060 · Granted Feb 19, 2019

Automated staged data migration

Inventors: Evan Richman (Seattle, WA); Todd Schwartz (Seattle, WA); Trent Robert Schwartz (Seattle, WA); Bradley Younge (Denver, CO); John Dennis (Oakland, CA); Roger Neil Moore (Seattle, WA); Christopher Rayner (Seattle, WA)
Assignee: SKYKICK, INC.
G06F17/30575H04L51/04H04L51/22H04L67/306H04L67/325H04L67/34H04L61/1511
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 10,210,232
App. No.
14/873,060
Granted
Feb 19, 2019
Kind
B2
Abstract

Systems, methods, and apparatuses can provide staged migration from one or more user accounts from a source system to a destination system using an application local to the source systems. The automated staged data migration can provide coordinated staged data migration of large amounts of data in a single automated process. The system can provide automated and remotely controlled staged migrations of data that may perform source system type detection and work with multiple types of systems.

Claims (48)

1. A method of migrating data from a plurality of user accounts from a source system to a destination system, the method comprising:

receiving, at a migration controller server, instructions to migrate the user accounts in a plurality of stages, wherein each stage migrates a different set of one or more user accounts, wherein a first stage starts at a first start time and is completed by a first end time;

at the first start time:

sending, by the migration controller server, migration commands to a migration engine to begin replicating the data of a first set of one or more user accounts from the source system to the destination system;

receiving, by the migration controller server, a completion signal from the migration engine at the first end time, the completion signal indicating that the first set of one or more user accounts have been migrated;

in response to the completion signal:

transmitting, by the migration controller server, forwarding commands to the source system to create forwarding rules to forward future data for the first set of one or more user accounts to the destination system, the future data being received by the source system after the first set of one or more user accounts have been migrated to the destination system; and

sending, by the migration controller server, reconfigure commands to a first set of client computers for execution by a migration assistant executing on the source system, the first set of client computers being associated with the first set of one or more user accounts, and the migration assistant being configured to execute the reconfigure commands to automatically reconfigure each of the first set of client computers to connect to the destination system.

2. The method of claim 1 , wherein the reconfigure commands instruct the migration assistant to point change one or more settings of one or more client application to point to the destination system.

3. The method of claim 1 , further comprising:

between the first start time and the first end time:

identifying, by the migration engine, new data that is added to the source system for the first set of one or more user accounts, and

replicating, by the migration engine, the new data to the destination system using the migration controller server.

4. The method of claim 3 , wherein identifying new data is performed at a plurality of times.

5. The method of claim 4 , wherein the plurality of times include the first end time.

6. The method of claim 1 , further comprising:

in response to the completion signal:

sending, by the migration controller server to the source system, a command to disassociate each of the user accounts from the source system.

7. The method of claim 1 , wherein the first set of one or more user accounts are email accounts, the method further comprising:

in response to the completion signal:

sending, by the migration controller server to the source system, one or more commands to convert the first set of one or more user accounts to mail-enabled user accounts.

8. The method of claim 7 , further comprising:

sending, by the migration controller server to the source system, one or more additional commands to:

apply an external address to the mail-enabled user account; and

reassign user aliases of a user account to the respective mail-enabled user account.

9. The method of claim 1 , further comprising:

querying, by the migration controller server, the source system to obtain information to identify changes necessary for a migration project; and

sending, by the migration controller server, commands to the source system to implement the changes.

10. The method of claim 1 , wherein replicating the data from the source system to the destination system includes:

sending commands from the migration controller server to a migration assistant executing on a local device within a local network that includes the source system.

11. The method of claim 1 , wherein a second stage starts at a second start time and is to be completed by a second end time, the method further comprising performing, by the migration controller server:

at the second start time, begin replicating the data of a second set of user accounts from the source system to the destination system;

between the second start time and the second end time, identifying new data that is added to the source system and replicating the new data to the destination system;

at the second end time, creating forwarding rules to forward future data for the second set of user accounts to the destination system; and

sending commands to a second set of client computers associated with the second set of user accounts to reconfigure the second set of client computers to connect to the destination system.

12. A non-transitory computer readable medium storing a code for controlling a migration controller server to perform an operation for migrating data from a plurality of user accounts from a source system to a destination system, the code comprising:

receiving instructions to migrate the user accounts in a plurality of stages, wherein each stage migrates a different set of one or more user accounts, wherein a first stage starts at a first start time and is completed by a first end time;

at the first start time:

sending migration commands to a migration engine to begin replicating the data of a first set of one or more user accounts from the source system to the destination system;

receiving a completion signal from the migration engine at the first end time, the completion signal indicating that the first set of one or more user accounts have been migrated;

in response to the completion signal: transmitting forwarding commands to the source system to create forwarding rules to forward future data for the first set of one or more user accounts to the destination system, the future data being received by the source system after the first set of one or more user accounts have been migrated to the destination system;

and sending reconfigure commands to a first set of client computers for execution by a setup assistant executing on each of the first set of client computers, the first set of client computers being associated with the first set of one or more user accounts, and the setup assistant being configured to execute the reconfigure commands to automatically reconfigure each of the first set of client computers to connect to the destination system.

13. The computer product of claim 12 , wherein the reconfigure commands instruct the setup assistant to point change one or more settings of one or more client applications to point to the destination system.

14. The computer product of claim 12 , wherein the instructions further comprise: between the first start time and the first end time: identifying, by the migration engine, new data that is added to the source system for the first set of one or more user accounts, and replicating, by the migration engine, the new data to the destination system using the migration controller server.

15. The computer product of claim 12 , wherein the first set of one or more user accounts are email accounts, and wherein the instructions further comprise: in response to the completion signal: sending, by the migration controller server to the source system, one or more commands to convert the first set of one or more user accounts to mail-enabled user accounts.

16. The computer product of claim 15 , wherein the instructions further comprise: sending, by the migration controller server to the source system, one or more additional commands to: apply an external address to a mail-enabled user account; and reassign user aliases of a user account to the respective mail-enabled user account.

17. The computer product of claim 12 , wherein replicating the data from the source system to the destination system includes sending commands from the migration controller server to a migration assistant executing on a local device within a local network that includes the source system.

18. The computer product of claim 12 , wherein a second stage starts at a second start time and is to be completed by a second end time, wherein the instructions further comprise: at the second start time, begin replicating the data of a second set of user accounts from the source system to the destination system; between the second start time and the second end time, identifying new data that is added to the source system and replicating the new data to the destination system; at the second end time, creating forwarding rules to forward future data for the second set of user accounts to the destination system; and sending commands to a second set of client computers associated with the second set of user accounts to reconfigure the second set of client computers to connect to the destination system.

Assignments (11)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 19, 2025
From: SKYKICK, LLC; EFOLDER, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 070268/0489 →
MERGER Recorded Sep 19, 2024
From: PROJECT JOULE MERGER SUB, INC.
To: SKYKICK GLOBAL HOLDINGS, INC.
Reel/Frame 068636/0471 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2024
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES, LLC
To: SKYKICK, LLC
Reel/Frame 068545/0172 →
SECURITY INTEREST Recorded Sep 2, 2021
From: SKYKICK, LLC
To: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES, LLC
Reel/Frame 057372/0544 →
RELEASE OF SECURITY INTEREST Recorded Sep 2, 2021
From: SKYKICK, INC.
To: AVENUE VENTURE OPPORTUNITIES FUND, LP
Reel/Frame 057374/0965 →
CHANGE OF NAME Recorded Sep 1, 2021
From: SKYKICK, INC.
To: SKYKICK, LLC
Reel/Frame 057395/0001 →
SECURITY AGREEMENT Recorded Jan 31, 2020
From: SKYKICK, INC.
To: AVENUE VENTURE OPPORTUNITIES FUND, LP
Reel/Frame 051763/0466 →
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2020
From: VENTURE LENDING & LEASING VIII, INC.; VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VII, INC.
To: SKYKICK, INC.
Reel/Frame 051761/0604 →
SECURITY INTEREST Recorded Dec 7, 2018
From: SKYKICK, INC.
To: VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 048918/0322 →
SECURITY INTEREST Recorded Apr 4, 2017
From: SKYKICK, INC.
To: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 041849/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2016
From: RICHMAN, EVAN; SCHWARTZ, TODD; SCHWARTZ, TRENT ROBERT; YOUNGE, BRADLEY; DENNIS, JOHN; MOORE, ROGER NEIL; RAYNER, CHRISTOPHER
To: SKYKICK, INC.
Reel/Frame 040363/0656 →
Continuity (2)
Provisional Application 62058608 · Oct 1, 2014
Related Publication 20160098470A1 · Apr 7, 2016