IP Library Granted Patent US 10,360,277
Granted Patent B2
US 10,360,277 · App. 15/198,646 · Granted Jul 23, 2019

Controlling data migration

Inventors: Brandon Chesla (San Francisco, CA); Michael Christopher Pruett (Los Gatos, CA); Luke Liu (Fremont, CA); Robert Nakamoto (San Jose, CA); Theodore Ni (Redwood City, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/955G06F16/214G06F16/23G06F16/258G06F16/27
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,360,277
App. No.
15/198,646
Granted
Jul 23, 2019
Kind
B2
Abstract

A machine may be configured to migrate data among databases. For example, the machine determines a control signal value that indicates a migration state of a migration of member profile data associated with one or more members of a Social Networking Service (SNS) from one or more legacy databases to a consolidated database. The machine accesses member profile data at the one or more legacy databases, and causes a replication of the member profile data at the consolidated database. The causing of the replication includes transforming the member profile data from a schema associated with the one or more legacy databases to a schema associated with the consolidated database. The machine performs a data equivalency test. The machine, based on a result of the data equivalency test, modifies the control signal value to indicate a further migration state of the migration of the member profile data.

Claims (74)

1. A method comprising:

determining a control signal value of a control signal attribute based on accessing the control signal attribute at a record of a database, the control signal value indicating a migration state of a migration of member profile data associated with one or more members of a Social Networking Service (SNS) from one or more legacy databases to a consolidated database, the control signal value being associated with one or more member identifiers of the one or more members;

at a time indicated by a timestamp associated with the control signal value,

based on the one or more member identifiers associated with the control signal value, accessing member profile data associated with the one or more member identifiers at the one or more legacy databases, and

causing a replication of the accessed member profile data at the consolidated database, the causing of the replication including transforming the member profile data from a first schema associated with the one or more legacy databases to a second schema associated with the consolidated database;

upon the causing of the replication of the member profile data at the consolidated database, performing, using one or more hardware processors, a data equivalency test based on the member profile data at the one or more legacy databases and the member profile data at the consolidated database; and

based on a result of the data equivalency test, modifying the control signal value to indicate a further migration state of the migration of the member profile data associated with the one or more members.

2. The method of claim 1 , wherein the result of the data equivalency test indicates that a recent change to the member profile data of a particular member has not propagated to the consolidated database, and

wherein the modifying of the control signal value to indicate the further migration state includes modifying the control signal value to indicate a second migration state, the second migration state indicating that slave read requests are to be directed to the consolidated database, and the write requests and read requests associated with a read-after-write consistency rule are to be directed to the one or more legacy databases.

3. The method of claim 1 , wherein the result of the data equivalency test indicates that a recent change to the member profile data of a particular member has propagated to the consolidated database, and

wherein the modifying of the control signal value to indicate the further migration state includes modifying the control signal value to indicate a third migration state, the third migration state indicating that slave read requests, and write requests and read requests associated with a read-after-write consistency rule are to be directed to the consolidated database.

4. The method of claim 1 , further comprising:

listening, during a window of time, for tracking events that indicate that one or more members are editing one or more member profiles in real time; and

determining that no tracking events are received during the window of time,

wherein the modifying of the control signal value to indicate the further migration state is further based on the determining that no tracking events are received during the window of time, and includes modifying the control signal value to indicate a fourth migration state, the fourth migration state indicating that read requests and write requests are to be directed to the consolidated database.

5. The method of claim 1 , wherein the causing of the replication of the accessed member profile data at the consolidated database includes:

determining that the first schema defines an organization of the member profile data at the one or more legacy databases;

determining that the second schema defines an organization of the member profile data at the consolidated database;

accessing a data transformation procedure that defines a transformation of member profile data from the first schema to the second schema;

transforming the accessed member profile data from the first schema to the second schema based on the data transformation procedure; and

generating a record in the consolidated database that includes the member profile data transformed from the first schema to the second schema.

6. The method of claim 5 , wherein the determining that the first schema defines the organization of the member profile data at the one or more legacy databases includes:

identifying one or more parameters of the first schema based on analyzing a structure of the member profile data at the one or more legacy databases.

7. The method of claim 5 , further comprising:

validating that the transformed member profile data at the consolidated database is equivalent to the member profile data at the one or more legacy databases based on one or more data validation functions.

8. The method of claim 1 , wherein the performing of the data equivalency test includes determining that the member profile data at the consolidated database is equivalent with the member profile data at the one or more legacy databases based on:

identifying a first version of the member profile data associated with a member of the one or more members at the one or more legacy databases,

identifying a second version of the member profile data associated with the member at the consolidated database, and

determining that the first version of the member profile data and the second version of the member profile data are the same.

9. The method of claim 1 , wherein one or more components of the member profile data of a member of the SNS correspond to one or more attributes that describe the member of the SNS.

10. The method of claim 1 , wherein the causing of the replication of the accessed member profile data at the consolidated database further comprises:

accessing a joinder procedure that defines how one or more components of the member profile data stored at the one or more legacy databases are to be joined into the member profile data at the consolidated database, and

wherein the transforming includes joining the one or more components of the member profile data stored at the one or more legacy databases into the member profile data at the consolidated database according to the joinder procedure.

11. A system comprising:

one or more hardware processors; and

a machine-readable medium for storing instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising:

determining a control signal value of a control signal attribute based on accessing the control signal attribute at a record of a database, the control signal value indicating a migration state of a migration of member profile data associated with one or more members of a Social Networking Service (SNS) from one or more legacy databases to a consolidated database, the control signal value being associated with one or more member identifiers of the one or more members;

at a time indicated by a timestamp associated with the control signal value,

based on the one or more member identifiers associated with the control signal value, accessing member profile data associated with the one or more member identifiers at the one or more legacy databases, and

causing a replication of the accessed member profile data at the consolidated database, the causing of the replication including transforming the member profile data from a first schema associated with the one or more legacy databases to a second schema associated with the consolidated database;

upon the causing of the replication of the member profile data at the consolidated database, performing a data equivalency test based on the member profile data at the one or more legacy databases and the member profile data at the consolidated database; and

based on a result of the data equivalency test, modifying the control signal value to indicate a further migration state of the migration of the member profile data associated with the one or more members.

12. The system of claim 11 , wherein the result of the data equivalency test indicates that a recent change to the member profile data of a particular member has not propagated to the consolidated database, and

wherein the modifying of the control signal value to indicate the further migration state includes modifying the control signal value to indicate a second migration state, the second migration state indicating that slave read requests are to be directed to the consolidated database, and the write requests and read requests associated with a read-after-write consistency rule are to be directed to the one or more legacy databases.

13. The system of claim 11 , wherein the result of the data equivalency test indicates that a recent change to the member profile data of a particular member has propagated to the consolidated database, and

wherein the modifying of the control signal value to indicate the further migration state includes modifying the control signal value to indicate a third migration state, the third migration state indicating that slave read requests, and write requests and read requests associated with a read-after-write consistency rule are to be directed to the consolidated database.

14. The system of claim 11 , wherein the operations further comprise:

listening, during a window of time, for tracking events that indicate that one or more members are editing one or more member profiles in real time; and

determining that no tracking events are received during the window of time, and

wherein the modifying of the control signal value to indicate the further migration state is further based on the determining that no tracking events are received during the window of time, and includes modifying the control signal value to indicate a fourth migration state, the fourth migration state indicating that read requests and write requests are to be directed to the consolidated database.

15. The system of claim 11 , wherein the causing of the replication of the accessed member profile data at the consolidated database includes:

determining that the first schema defines an organization of the member profile data at the one or more legacy databases;

determining that the second schema defines an organization of the member profile data at the consolidated database;

accessing a data transformation procedure that defines a transformation of member profile data from the first schema to the second schema;

transforming the accessed member profile data from the first schema to the second schema based on the data transformation procedure; and

generating a record in the consolidated database that includes the member profile data transformed from the first schema to the second schema.

16. The system of claim 15 , wherein the determining that the first schema defines the organization of the member profile data at the one or more legacy databases includes:

identifying one or more parameters of the first schema based on analyzing a structure of the member profile data at the one or more legacy databases.

17. The system of claim 15 , wherein the operations further comprise:

validating that the transformed member profile data at the consolidated database is equivalent to the member profile data at the one or more legacy databases based on one or more data validation functions.

18. The system of claim 11 , wherein the performing of the data equivalency test includes determining that the member profile data at the consolidated database is equivalent with the member profile data at the one or more legacy databases based on:

identifying a first version of the member profile data associated with a member of the one or more members at the one or more legacy databases,

identifying a second version of the member profile data associated with the member at the consolidated database, and

determining that the first version of the member profile data and the second version of the member profile data are the same.

19. The method of claim 11 , wherein the causing of the replication of the accessed member profile data at the consolidated database further comprises:

accessing a joinder procedure that defines how one or more components of the member profile data stored at the one or more legacy databases are to be joined into the member profile data at the consolidated database, and

wherein the transforming includes joining the one or more components of the member profile data stored at the one or more legacy databases into the member profile data at the consolidated database according to the joinder procedure.

20. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the one or more processors to perform operations comprising:

determining a control signal value of a control signal attribute based on accessing the control signal attribute at a record of a database, the control signal value indicating a migration state of a migration of member profile data associated with one or more members of a Social Networking Service (SNS) from one or more legacy databases to a consolidated database, the control signal value being associated with one or more member identifiers of the one or more members;

at a time indicated by a timestamp associated with the control signal value,

based on the one or more member identifiers associated with the control signal value, accessing member profile data associated with the one or more member identifiers at the one or more legacy databases, and

causing a replication of the accessed member profile data at the consolidated database, the causing of the replication including transforming the member profile data from a first schema associated with the one or more legacy databases to a second schema associated with the consolidated database;

upon the causing of the replication of the member profile data at the consolidated database, performing a data equivalency test based on the member profile data at the one or more legacy databases and the member profile data at the consolidated database; and

based on a result of the data equivalency test, modifying the control signal value to indicate a further migration state of the migration of the member profile data associated with the one or more members.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2016
From: CHESLA, BRANDON; PRUETT, MICHAEL CHRISTOPHER; LIU, LUKE; NAKAMOTO, ROBERT; NI, THEODORE
To: LINKEDIN CORPORATION
Reel/Frame 039741/0896 →
Continuity (2)
Provisional Application 62212384 · Aug 31, 2015
Related Publication 20170061027A1 · Mar 2, 2017