IP Library Granted Patent US 8,095,495
Granted Patent B2
US 8,095,495 · App. 11/861,211 · Granted Jan 10, 2012

Exchange of syncronization data and metadata

Assignee: Microsoft Corporation
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 8,095,495
App. No.
11/861,211
Granted
Jan 10, 2012
Kind
B2
Abstract

Systems and methods that disclose alternative patterns for exchange of synchronization data and/or metadata, e.g., ‘knowledge’, to enhance performance of synchronization processes are disclosed. Accordingly, the innovation discloses synchronization mechanisms that employ exchange of data and metadata to alleviate a requirement of a complete ‘round-trip’ when synchronizing data. ‘Knowledge’ can be provided which informs a provider of data changes, modifications, additions or deletions. The ‘knowledge’ can lower expense and/or increase efficiencies of the synchronization exchanges by enabling informed decision-making related to enumerating changes within the synchronization processes.

Claims (36)

1. A system, comprising at least one processor coupled to at least one machine-readable storage medium storing instructions executable by the at least one processor to implement:

a knowledge data set configured to identify a state of a provider;

an analysis component configured to evaluate the knowledge data set;

a change aggregator configured to enumerate a plurality of changes based upon the evaluation;

a filter component configured to at least one of limit or reduce redundant changes in the plurality of changes; and

a synchronization engine configured to manage a data flow between at least two providers based upon the knowledge data set, wherein the knowledge data set includes stand-in knowledge for providing in lieu of actual knowledge.

2. The system of claim 1 , further comprising a knowledge generator configured to establish the knowledge data set based at least in part upon a state of one of the at least two providers.

3. The system of claim 1 , wherein the knowledge data set includes actual knowledge that defines a state of a destination provider.

4. The system of claim 1 , wherein the stand-in knowledge at least partly defines a state of a destination provider.

5. The system of claim 1 , further comprising a machine learning and reasoning component configured to employ at least one of a probabilistic or a statistical-based analysis that infers an action-to be automatically performed.

6. A computer-implemented method, comprising:

receiving a synchronization request for synchronizing data between at least two endpoints, wherein the request includes knowledge comprising actual knowledge and stand-in knowledge substituting for actual knowledge;

in response to the request, enumerating a plurality of changes based at least in part upon the knowledge;

filtering redundant changes based on the knowledge; and

transmitting the plurality of changes between the at least two endpoints based at least in part upon the knowledge.

7. The method of claim 6 , further comprising providing an identifier per unit of change associated with the plurality of changes.

8. The method of claim 6 , further comprising filtering a subset from the plurality of changes as a function of the knowledge.

9. The method of claim 6 , further comprising accepting a subset of the plurality of changes.

10. The method of claim 6 , further comprising detecting a conflict between each of the plurality of changes and a local item.

11. The method of claim 10 , further comprising:

resolving the conflict; and

accepting a subset of the plurality of changes as a function of the resolution.

12. The method of claim 11 , further comprising logging the conflict.

13. The method of claim 6 , further comprising:

monitoring a change associated with a source provider; and

prompting generation of the request based upon identification of the change associated with the source provider.

14. The method of claim 6 , further comprising:

pinging a source provider to identify a change; and

prompting generation of the request based upon identification of the change associated with the source provider.

15. A computer-readable storage medium storing instructions, the instructions if executed by a computing device causing the computing device to perform operations comprising:

receiving knowledge that identifies a state of a destination provider;

enumerating a plurality of changes between a source provider and the destination provider based upon the knowledge;

synchronizing data between the source provider and the destination provider as a function of a subset of the enumerated changes; and

detecting and resolving a plurality of conflicts based upon a subset of the enumerated changes.

16. The machine-readable storage medium of claim 15 , the operations further comprising applying filtering criteria to the plurality of changes.

17. The machine-readable storage medium of claim 15 , the operations further comprising applying at least one enumerated change to at least one of the source provider or the destination provider.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2008
From: CLARK, MICHAEL RAY; KHOSRAVY, MOE; LEE, OLIVER; NOVIK, LEV; PADGETT, NEIL
To: MICROSOFT CORPORATION
Reel/Frame 020323/0512 →
Continuity (1)
Related Publication 20090083210A1 · Mar 26, 2009