# US 2018/0324028 A1 · Optimizing data migration processes

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

- Number: US 2018/0324028 A1
- Document ID: US20180324028A1
- Status: Published application
- Kind: A1
- Application number: 16/022,460
- Filed: 2018-06-28
- Published: 2018-11-08
- Earliest claimed: 2014-10-01
- Assignees: Skykick, Inc.
- Applicants: Skykick, Inc.
- Inventors: Evan RICHMAN; Todd SCHWARTZ; Trent Robert SCHWARTZ; Bradley YOUNGE; Alexander Samuel-Charles BARCLAY
- Web page: https://patentgrep.com/patent/US20180324028A1

## CPC

- H04L 41/046: comprising network management agents or mobile agents therefor
- G06F 16/214: {Database migration support}
- G06F 16/83: Querying
- H04L 51/214: using selective forwarding
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/146: Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/104: {Grouping of entities}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and apparatuses can present optimized data migration. Embodiments can provide improved data migration processes using a data migration assistant that executes on a source system to facilitate the migration of documents and data to a destination system. The migration assistant can communicate with a migration controller server to authenticate and identify the migration assistant and migration project that the migration assistant is to be used for. The migration controller server can use the identifier to determine commands corresponding to the migration project to send to the migration assistant to collect data and make changes to the source system.

## Claims

### Claim 1

A method comprising:
receiving, from a migration assistant being executed on a source system, an identifier that identifies a migration project for migrating documents from the source system to a destination system;
facilitating establishing, using the identifier, a communication link with the migration assistant;
sending, to the migration assistant, an instruction to collect metadata from a source document server of the source system, the metadata corresponding to documents stored on the source document server;
receiving, from the migration assistant over the communication link, the metadata collected by the migration assistant according to the instruction;
generating one or more commands based on the metadata, the one or more commands specifying changes to be made for the source system as part of the migration project;
sending, to the migration assistant over the communication link, the one or more commands for the migration project;
receiving, from the migration assistant over the communication link, a confirmation that the specified changes have been implemented according to the one or more commands.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identifier is received after the migration assistant is installed on the computer of the source system, and wherein the identifier includes a registration code entered at a user interface of the migration assistant.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
using the identifier to authenticate the migration assistant and determine the migration project; and
sending, to the migration assistant over the communication link, an authentication response that the migration assistant has been authenticated.

### Claim 4 (depends on 1)

The method of claim 1, wherein the metadata specifies a number of user accounts in the source document server and identifying information for each user account.

### Claim 5 (depends on 1)

The method of claim 1, wherein the instruction specifies that the metadata is to include distribution groups and their membership and security groups and their membership.

### Claim 6 (depends on 1)

The method of claim 1, wherein the source document server is an e-mail server, and wherein the instruction specifies to collect rules about an operation of the source document server, and wherein the rules are related to one or more of:
user mailboxes, primary SMTP address for each mailbox, usernames, aliases assigned to mailboxes, permissions for the mailboxes and its folders and subfolders, a list of distribution groups and their aliases, a list of mailboxes that are members of the distribution groups, mailbox permissions, and user information.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
receiving, from the migration assistant over the communication link, a data file comprising the rules.

### Claim 8 (depends on 7)

The method of claim 7, wherein the rules are serialized in the data file, and wherein the data file is an XML file.

### Claim 9 (depends on 1)

The method of claim 1, wherein a plurality of documents to be migrated include emails of a specific mailbox on the source system, wherein the one or more commands include:
a disassociation of the specific mailbox from the source system; and
a forwarding rule for the specific mailbox to forward email to a specified external email address associated with the destination system.

### Claim 10 (depends on 9)

The method of claim 9, wherein the one or more commands further include:
a conversion of the specific mailbox to have a status that the specific mailbox for a specific email address is located at a location outside of its local environment.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one or more commands are for a cutover migration or are for a staged migration.

### Claim 12 (depends on 1)

The method of claim 1, wherein the one or more commands include:
collecting business rules specifying which users can access which documents of the source document server.

### Claim 13 (depends on 1)

The method of claim 1, wherein the one or more commands include a command to disable communication of a user with the source document server.

### Claim 14 (depends on 1)

The method of claim 1, wherein the one or more commands include a command to reconfigure a plurality of service connection points that store Internet addresses that are provided to devices for connecting to the source document server.

### Claim 15

A computer product comprising a non-transitory computer readable medium storing a plurality of instructions for controlling a computer system of a source system, the instructions comprising:
receiving, from a migration assistant being executed on a source system, an identifier that identifies a migration project for migrating documents from the source system to a destination system;
facilitating establishing, using the identifier, a communication link with the migration assistant;
sending, to the migration assistant, an instruction to collect metadata from a source document server of the source system, the metadata corresponding to documents stored on the source document server;
receiving, from the migration assistant over the communication link, the metadata collected by the migration assistant according to the instruction;
sending, to the migration assistant over the communication link, one or more commands for the migration project, the one or more commands specifying changes to be made for the source system as part of the migration project, wherein the migration controller server generates the one or more commands based on the metadata;
receiving, from the migration assistant over the communication link, a confirmation that the specified changes have been implemented according to the one or more commands.

### Claim 16 (depends on 15)

The computer product of claim 15, wherein the identifier is received after the migration assistant is installed on the computer of the source system, and wherein the identifier includes a registration code entered at a user interface of the migration assistant, and wherein the method further comprises:
using the identifier to authenticate the migration assistant and determine the migration project; and
sending, to the migration assistant over the communication link, an authentication response that the migration assistant has been authenticated.

### Claim 17 (depends on 15)

The computer product of claim 15, wherein
the instructions specifies that the metadata is to include distribution groups and their membership and security groups and their membership.

### Claim 18 (depends on 15)

The computer product of claim 15, wherein the source document server is an e-mail server, and wherein the instructions specify to collect rules about an operation of the source document server, wherein the instructions further comprise:
storing the rules into a data file.

### Claim 19 (depends on 15)

The computer product of claim 15, wherein a plurality of documents to be migrated include emails of a specific mailbox on the source system, wherein the one or more commands include:
a disassociation of the specific mailbox from the source system;
a forwarding rule for the specific mailbox to forward email to a specified external email address associated with the destination system and
a conversion of the specific mailbox to have a status that the specific mailbox for a specific email address is located at a location outside of its local environment.
