IP Library Granted Patent US 9,203,786
Granted Patent B2
US 9,203,786 · App. 13/740,506 · Granted Dec 1, 2015

Data synchronization and sharing relationships

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 9,203,786
App. No.
13/740,506
Granted
Dec 1, 2015
Kind
B2
Abstract

Systems and methods for synchronizing and sharing data associated with sharing relationships are disclosed. Such systems and methods may be implemented by interfacing with an application that manages or accesses the data to be shared, and by making shared data available using a feed along with some mechanism for tracking changes or enabling synchronization between different endpoints.

Claims (49)

1. A method implemented by one or more processing devices, the method comprising:

identifying a conflict between a first endpoint and a second endpoint that are in a sharing relationship, the sharing relationship comprising sharing a feed, wherein relationship metadata associated with the sharing relationship is shared as a file in the feed, the relationship metadata including a category identifying multiple types of data, the identifying the conflict comprising:

determining a first change to a first instance of an item by the first endpoint, and

determining a second change to a second instance of the item by the second endpoint before the second endpoint received an indication of the first change; and

notifying at least one of the first endpoint or the second endpoint of the conflict via an email message comprising an indication of at least one of the first change or the second change.

2. The method of claim 1 , wherein the first endpoint is a publishing endpoint of the feed and the second endpoint is a subscribing endpoint to the feed, the feed comprising Simple Sharing Extensions.

3. The method of claim 1 , wherein the email message includes indications of both the first change and the second change.

4. The method of claim 1 , wherein the identifying is performed in response to a specified number of changes to the item.

5. The method of claim 1 , further comprising:

receiving another indication that the conflict has been resolved; and

marking the conflict as resolved in the feed.

6. The method of claim 1 , wherein the first change and the second change are identical updates of the item.

7. The method of claim 1 , wherein the multiple types of data include contacts and calendar items.

8. A system comprising:

one or more processing devices; and

a storage device storing computer-executable instructions which, when executed by the one or more processing devices, cause the one or more processing devices to:

identify a conflict between a first feed from a first endpoint and a second feed from a second endpoint, the first endpoint and the second endpoint being in a sharing relationship, the conflict being identified by:

identifying a first change to a first instance of an item by the first endpoint in the first feed, and

identifying a second change to a second instance of the item by the second endpoint in the second feed, wherein the second endpoint has not received an indication of the first change when the second change is made;

create a message about the conflict and store the message in a conflict notification record that is used during conflict resolution;

identify that the conflict associated with the conflict notification record has been resolved; and

mark the conflict in at least one of the first feed or the second feed as having been resolved.

9. The system of claim 8 , wherein the computer-executable instructions further cause the one or more processing devices to:

determine whether the first instance and the second instance of the item are different.

10. The system of claim 9 , wherein the computer-executable instructions further cause the one or more processing devices to:

in a circumstance where the first instance and the second instance are determined to be different, identify a winning instance and a losing instance.

11. The system of claim 8 , the conflict notification record including a copy of at least one of the first instance or the second instance.

12. The system of claim 8 , the conflict notification record comprising an email message including a copy of at least one of the first instance or the second instance.

13. The system of claim 12 , wherein, to identify that the conflict has been resolved, the computer-executable instructions further cause the one or more processing devices to identify that the first instance has priority with respect to the conflict, and the email message includes data from the second instance.

14. The system of claim 8 , wherein the computer-executable instructions further cause the one or more processing devices to preserve conflict data associated with the first instance or the second instance.

15. A computer readable memory device or storage device storing computer readable instructions that, when executed by one or more processing devices, cause the one or more processing devices to perform acts comprising:

identifying a conflict between a first instance of an item and a second instance of the item, wherein:

the first instance includes a first change to the item by a first endpoint, and

the second instance includes a second change to the item by a second endpoint before the second endpoint received an indication of the first change, the first endpoint and the second endpoint being in a sharing relationship;

in response to the identifying the conflict, adding a first conflict element to a first conflict collection of the first instance and a second conflict element to a second conflict collection of the second instance;

notifying at least one of the first endpoint or the second endpoint of the conflict;

identifying the first instance as a winning instance and the second instance as a losing instance; and

preserving conflict data of the second conflict element associated with the losing instance.

16. The computer readable memory device or storage device of claim 15 , the notifying performed via an email message that contains a copy of at least one of the first instance or the second instance.

17. The computer readable memory device or storage device of claim 15 , the preserving comprising adding data from the losing instance to the winning instance.

18. The computer readable memory device or storage device of claim 15 , the preserving comprising:

deleting the second conflict collection of the losing instance, and

appending the losing instance to the first conflict collection of the winning instance.

19. The computer readable memory device or storage device of claim 15 , the acts further comprising:

identifying that the conflict has been resolved, and

adding a resolved conflict element to a resolved conflict collection of the winning instance.

20. The computer readable memory device or storage device of claim 19 , the acts further comprising:

in an instance where the first conflict element of the winning instance has been addressed, moving the first conflict element from the first conflict collection to the resolved conflict collection, and

where no conflict elements remain in the first conflict collection, deleting the first conflict collection.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2014
From: OZZIE, RAYMOND E.; OZZIE, JACK E.; MOROMISATO, GEORGE P.; SUTHAR, PARESH S.; NARAYANAN, RAMAN; AUGUSTINE, MATTHEW S.
To: MICROSOFT CORPORATION
Reel/Frame 033040/0698 →