IP Library Patent Application 15498131
Patent Application
App. No. 15/498,131

MASTER DATA MANAGEMENT

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 None
App. No.
15/498,131
Abstract

Multiple instances of a computer system subscribe to a central data storage system. The central data storage system receives a set of entities that the instances wish to synchronize with one another, along with a schema representing those entities, from each instance. The central data storage system receives changes to the identified entities from the various instances, identifies conflicts, and synchronizes changes from a given instance to the other subscribing instances.

Claims (66)

1 - 20 . (canceled)

21 . A computer-implemented method, comprising:

receiving, by a synchronization system from a first computing system, an indication of a first schema corresponding to a first data record associated with the first computing system;

receiving, by the synchronization system from a second computing system, synchronization data indicative of a change made to a second data record associated with the second computing system, wherein the second data record corresponds to the first data record and has a second schema that is different than the first schema;

determining a schema conflict based on a comparison of the first schema to the second schema;

identifying a conflict resolution rule based on the schema conflict;

transforming the synchronization data based on the conflict resolution rule, wherein the transformed synchronization data is indicative of a change to the first data record; and

sending the transformed synchronization data to the first computing system.

22 . The computer-implemented method of claim 21 and further comprising:

storing, by the synchronization system, a superset of the first and second schemas.

23 . The computer-implemented method of claim 21 , wherein the first schema defines a first number of data fields in the first data record, the second schema defines a second number of data fields in the second data record, and wherein determining a schema conflict comprises:

determining a conflict between the first number of data fields and the second number of data fields.

24 . The computer-implemented method of claim 23 , wherein transforming the synchronization data based on the conflict resolution rule comprises:

generating the transformed synchronization data to have the first number of data fields.

25 . The computer-implemented method of claim 21 , wherein transforming the synchronization data based on the conflict resolution rule comprises:

selecting one of the first and second schemas as a prevailing schema according to a schema hierarchy.

26 . The computer-implemented method of claim 25 , wherein the transformed synchronization data is indicative of the change performed on the first data record according to the prevailing schema.

27 . The computer-implemented method of claim 21 , wherein the first schema defines a first table structure of the first data record, and the second schema defines a second table structure of the second data record.

28 . The computer-implemented method of claim 27 , wherein transforming the synchronization data based on the conflict resolution rule comprises:

automatically transforming the first table structure to the second table structure, and wherein the first data record is changed to correspond to the second table structure.

29 . The computer-implemented method of claim 22 , wherein accessing the conflict resolution rule comprises:

identifying one of the first and second computing systems as an authorized computing system, that is authorized to change the first and second data records; and

selecting the authorized computing system to transform the synchronization data according to the first or second schema associated with the authorized computing system.

30 . An electronic data synchronization system comprising:

at least one processor; and

memory storing instructions executable by the processor, wherein the instructions configure the electronic data synchronization system to:

receive an indication of a first schema corresponding to a first data record in a first computing system;

receive synchronization data indicative of a change made to a second data record in a second computing system, wherein the second data record corresponds to the first data record and has a second schema that is different than the first schema;

determine a schema conflict based on a comparison of the first schema to the second schema;

identify a schema conflict resolution rule based on the schema conflict;

transform the synchronization data based on the schema conflict resolution rule, wherein the transformed synchronization data is indicative of a change to the first data record; and

send the transformed synchronization data to the first computing system.

31 . The electronic data synchronization system of claim 30 , wherein the instructions configure the electronic data synchronization system to:

determine the schema conflict is indicative of a difference between the first schema and the second schema; and

identify the first schema as a prevailing schema.

32 . The electronic data synchronization system of claim 31 , wherein the instructions configure the electronic data synchronization system to:

generate the transformed synchronization data to include the change according to the prevailing schema.

33 . The electronic data synchronization system of claim 32 , wherein the instructions configure the electronic data synchronization system to:

send the transformed synchronization data to the first computing system according to the prevailing schema.

34 . A computer-implemented method, comprising:

identifying, by a first computer system instance, a data record to be synchronized with a second computer system instance;

identifying a data schema used by the first computer system instance to store the data record;

sending, to a data synchronization system configured to synchronize data between the first and second computer system instances, a record identifier indicative of the data record and an indication of the data schema;

identifying a change to the data record on the first computer system instance;

generating first synchronization data indicative of the change to the data record;

sending the first synchronization data to the data synchronization system;

receiving second synchronization data from the data synchronization system, indicative of a change made to a corresponding data record in the second computer system instance;

identifying a conflict in the second synchronization data received from the data synchronization system;

accessing a conflict resolution rule;

automatically resolving the identified conflict based on the conflict resolution rule; and

based on the automatic resolution of the identified conflict in the second synchronization data, updating the data record in a data store associated with the first computer system instance.

35 . The computer-implemented method of claim 34 , and further comprising:

identifying a plurality of conflicts in the second synchronization data received from the data synchronization system, and wherein performing conflict resolution further comprises:

generating a representation of a user interface display that indicates an unresolved conflict that is not automatically resolved and includes a conflict resolution user input mechanism; and

based on an indication of user actuation of the conflict resolution user input mechanism, resolving the unresolved conflict.

36 . The computer-implemented method of claim 34 and further comprising:

updating the data record, with the second synchronization data received from the data synchronization system.

37 . The computer-implemented method of claim 36 wherein updating comprises:

based on the second synchronization data received from the data synchronization system, updating a plurality of different tables in the data store, the plurality of different tables storing data corresponding to the data record.

38 . The computer-implemented method of claim 35 and further comprising:

generating a representation of a provisioning user interface display, the provisioning user interface display comprising a provisioning user input mechanism; and

based on an indication of user actuation of the provisioning user input mechanism, identifying the data synchronization system used by the first computer system instance.

39 . The computer-implemented method of claim 35 and further comprising:

generating a representation of a synchronization management user input display with a synchronization management user input mechanism; and

based on an indication of user actuation of the synchronization management user input mechanism, configuring a management parameter for synchronizing the identified data record.

40 . The computer-implemented method of claim 39 , wherein configuring the management parameter comprises configuring whether synchronization is initiated manually or automatically, and, if automatically, start and end times for the synchronization and a recurrence pattern for the synchronization.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: RAJBHANDARI, BIGYAN; LUONG, DUC T.; TANGERINE, KIKY W.; CHU, ZHONGHUA; GOTTUMUKKALA, RAMAKANTHACHARY S.
To: MICROSOFT CORPORATION
Reel/Frame 042853/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 042853/0159 →