IP Library Granted Patent US 10,893,099
Granted Patent B2
US 10,893,099 · App. 14/814,424 · Granted Jan 12, 2021

Migration project automation, e.g., automated selling, planning, migration and configuration of email systems

Inventors: John Dennis (Berkeley, CA); Evan Richman (Seattle, WA); Todd Schwartz (Seattle, WA); Trent Schwartz (Seattle, WA); Richard J. Tett (Plano, TX); Brad Younge (Parker, CO)
Assignee: SkyKick, Inc.
H04L67/1095G06F16/951H04L51/22H04L61/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,893,099
App. No.
14/814,424
Granted
Jan 12, 2021
Kind
B2
Abstract

Technology is generally described for automating the project management and execution of data migration from a source email system to a destination email system. In some examples, the technology can include receiving a domain name of a second computing system; obtaining domain name system (DNS) records for the received domain name; determining an email hosting provider for the second computing system; determining, by the processor, based on the obtained DNS records, an email system service type of the source email system on the second computing system; discovering mailboxes and message delivery rules of the source email system; displaying customization options for migrating discovered source email system mailboxes; migrating data items from the source email system to the destination email system; and managing migration of data from source email system client computing devices to the destination email system.

Claims (63)

1. A method performed by a computing system having a processor for automating a data migration from a source email system to a destination email system, the method comprising:

receiving a domain name associated with the source email system;

determining, by the processor, based on the received domain name, a service type of the source email system;

connecting to the source email system using the determined service type information;

discovering and classifying email logic of the source email system including identifying one or more mailboxes, aliases, and distribution groups of the source email system by:

obtaining a set of messages each with a message header;

identifying candidate mailbox addresses and associations of the candidate mailbox addresses with email addresses by scanning recipient fields of the message headers for addresses that are on a same domain as the domain name associated with the source email system; and

classifying the candidate mailbox addresses by:

classifying a first set of the candidate mailbox addresses as mailboxes;

classifying a second set of the candidate mailbox addresses as aliases based on the second set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the second set of candidate mailbox addresses, including only a single associated email address; and

classifying a third set of the candidate mailbox addresses as distribution groups based on the third set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the third set of candidate mailbox addresses, including more than one associated email address;

causing a user interface to be provided with controls to modify the classifications of the candidate mailboxes and to delete mailboxes, wherein the controls include at least A) controls for reclassifying at least one of the classified candidate mailboxes and B) controls for removing at least one of the candidate mailboxes classified as a mailbox from being migrated;

causing a client service executed by a client computing device to configure an email application for the destination email system by:

implementing the discovered email logic, as modified based on the inputs to the user interface, in the destination email system by performing one or more API calls, executing one or more powershell commands, or executing one or more website scripts, wherein the implementing establishes the classified one or more mailboxes, aliases, and distribution groups on the destination email system;

receiving an indication of a maximum overall size for data to be migrated to the destination email system;

creating an archive data store;

migrating message data from the source email system to the destination email system, wherein the migrating comprises copying data exceeding the maximum overall size to the archive data store; and

causing authorized users to have access to the data message data in the destination email system and the archive data store, which is accessible from the destination email system.

2. A computing system for automating data migration from a source email system to a destination email system, the computing system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform operations comprising:

determining a domain name associated with the source email system;

discovering and classifying email logic of the source email system including identifying one or more mailboxes, aliases, forwarding rules, or distribution groups of the source email system by:

identifying candidate mailbox addresses based on the domain name associated with the source email system and message headers in an obtained set of messages; and

classifying one or more sets of the candidate mailbox addresses as one or more mailboxes, aliases, forwarding rules, or distribution groups;

causing a user interface to be provided with controls to modify the classifications of the candidate mailboxes and controls to delete mailboxes;

reclassifying, based on a first user input provided via the user interface, at least one of the classified candidate mailboxes to a different classification than previously assigned to that candidate mailbox, wherein at least one of the different classifications is an alias, a shared mailbox, or a distribution group;

removing, based on a second user input provided via the user interface, at least one of the candidate mailboxes classified as a mailbox from being migrated;

implementing the discovered email logic, as modified based on the first and second user inputs, in the destination email system;

migrating message data from the source email system to the destination email system, excluding message data for the removed at least one of the candidate mailboxes; and

causing authorized users have access to that data message data in the destination email system.

3. The computing system of claim 2 wherein discovering and classifying email logic of the source email system comprises:

identifying candidate mailbox addresses and associations of the candidate mailbox addresses with email addresses by scanning recipient fields of the message headers for addresses that are on a same domain as the domain name associated with the source email system; and

classifying the candidate mailbox addresses by performing one or more of:

classifying a first set of the candidate mailbox addresses as mailboxes and reclassifying a subset of the first set of the candidate mailbox addresses as forwarding rules based the associations for the subset of candidate mailbox addresses in relation to the domain name associated with the source email system;

classifying a second set of the candidate mailbox addresses as aliases based on the second set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the second set of candidate mailbox addresses, including only a single associated email address; or

classifying a third set of the candidate mailbox addresses as distribution groups based on the third set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the third set of candidate mailbox addresses, including more than one associated email address.

4. The computing system of claim 2 wherein the user interface includes controls for a selected candidate mailbox including:

mailbox options with controls for making the selected candidate mailbox an individual mailbox, making the selected candidate mailbox a shared mailbox, converting the selected candidate mailbox to a forwarding rule, converting the selected candidate mailbox to a distribution rule, and removing the selected candidate mailbox from the migration; and

migration options with controls for migrating the message data from the selected candidate mailbox to a version of the selected candidate mailbox at the destination email system, migrating the message data from the selected candidate mailbox to a different mailbox at the destination email system, and not migrating the message data from the selected candidate mailbox to the destination email system.

5. The computing system of claim 2 wherein the user interface includes controls for migrating the message data from a selected candidate mailbox to a different mailbox at the destination email system or controls for not migrating the message data from the selected candidate mailbox to the destination email system.

6. The computing system of claim 2 wherein the user interface includes controls for migrating the message data from a selected candidate mailbox to a different mailbox at the destination email system or controls for not migrating the message data from the selected candidate mailbox to the destination email system.

7. The computing system of claim 2 wherein the user interface includes controls for making a selected candidate mailbox an individual mailbox or controls for converting the selected candidate mailbox to a forwarding rule.

8. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for automating a data migration from a source email system to a destination email system, the operations comprising:

receiving a domain name associated with the source email system;

discovering and classifying email logic of the source email system including identifying one or more mailboxes, aliases, and distribution groups of the source email system by:

obtaining a set of messages each with a message header;

identifying candidate mailbox addresses and associations of the candidate mailbox addresses with email addresses by scanning recipient fields of the message headers for addresses that are on a same domain as the domain name associated with the source email system; and

classifying the candidate mailbox addresses by:

classifying a first set of the candidate mailbox addresses as mailboxes;

classifying a second set of the candidate mailbox addresses as aliases based on the second set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the second set of candidate mailbox addresses, including only a single associated email address; and

classifying a third set of the candidate mailbox addresses as distribution groups based on the third set of candidate mailboxes not being in the first set and the associations for each candidate mailbox address, of the third set of candidate mailbox addresses, including more than one associated email address;

causing a client service executed by a client computing device to configure an email application for the destination email system by:

implementing the discovered email logic in the destination email system to establish the classified one or more mailboxes, aliases, and distribution groups on the destination email system;

migrating message data from the source email system to the destination email system; and

causing authorized users have access to that data message data in the destination email system.

9. The non-transitory computer-readable storage medium of claim 8 , wherein migrating message data from the source email system to the destination email system comprises:

receiving information about a source email system client computing device;

creating, by the processor, a migration plan for the source email system client computing device, wherein a migration plan comprises an instruction to copy message data from the source email system to the destination email system at a specified time; and

transmitting the migration plan to the source email system client computing device.

10. The non-transitory computer-readable storage medium of claim 8 ,

wherein discovering and classifying email logic of the source email system further includes identifying forwarding rules by reclassifying a subset of the first set of the candidate mailbox addresses as forwarding rules based the associations for the subset of candidate mailbox addresses in relation to the domain name associated with the source email system; and

wherein the implementing the discovered email logic further establishes the forwarding rules on the destination email system.

Assignments (13)
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 →
CHANGE OF NAME Recorded Jan 10, 2022
From: SKYKICK, INC.
To: SKYKICK, LLC
Reel/Frame 058684/0619 →
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 →
CHANGE OF NAME Recorded Sep 1, 2021
From: SKYKICK, LLC
To: SKYKICK, INC.
Reel/Frame 057394/0723 →
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 Aug 4, 2015
From: DENNIS, JOHN; RICHMAN, EVAN; SCHWARTZ, TODD; SCHWARTZ, TRENT; TETT, RICHARD J.; YOUNGE, BRAD
To: SKYKICK, INC.
Reel/Frame 036245/0722 →
Continuity (3)
Continuation 13766761 · Feb 13, 2013
Provisional Application 61598032 · Feb 13, 2012
Related Publication 20150373106A1 · Dec 24, 2015