# US 10,762,040 B2 · Schematized data roaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,762,040 B2
- Document ID: US10762040B2
- Status: Granted
- Kind: B2
- Application number: 15/414,392
- Filed: 2017-01-24
- Published: 2018-07-26
- Granted: 2020-09-01
- Earliest claimed: 2017-01-24
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Daniel Jordan Oliver; Anshul Rawat; Kenneth Martin Tubbs; Charles Aaron Hare; Sriram Srinivasan
- Web page: https://patentgrep.com/patent/US10762040B2

## CPC

- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2365: {Ensuring data consistency and integrity}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/306: User profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Schematized data roaming is described herein. In one or more implementations, a cloud service includes a cloud data store that is configured to store schematized data comprising user preferences and settings of client devices associated with a user profile. The schematized data includes a schema that is shared across the client devices and globally defined by the cloud service which enables the user preferences and setting to be re-used across multiple devices and device classes, including devices that the user has not previously interacted with before. The schematized data includes attributes, for each schematized data structure, which provide rules for processing or storing the corresponding schematized data structure in the cloud data store. Such attributes may include a conflict resolution policy, an upload policy, or a partition policy.

## Claims

### Claim 1

A system comprising:
one or more servers of a cloud service that are configured to implement a schematized data manager, wherein the schematized data manager is configured to:
detect changes made to a schematized data structure by a client device that is associated with a user profile of the cloud service;
process and store the changes to the schematized data structure in a cloud data store in accordance with attributes associated with the schematized data structure;
apply a partition policy that uses partition application rules associated with the user profile to determine whether the changes to the schematized data structure are to be automatically applied to other client devices associated with the user profile, wherein an application of the partition policy:
evaluates the partition application rules which define how the changes to the schematized data structure are to be applied across the other client devices, and
determines whether the changes to the schematized data structure are to be automatically applied across all of the other client devices associated with the user profile or to a subset of the other client devices based on a result of an evaluation of the partitional application rules associated with the user profile; and
automatically apply, from the cloud data store to one or more of the other client devices, the changes to the schematized data structure based on the result of the application of the partition policy.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more servers of the cloud service are further configured to implement a conflict resolution module that resolves a conflict between different copies of the schematized data structure received from different client devices by applying a conflict resolution policy associated with the schematized data structure.

### Claim 3 (depends on 2)

The system of claim 2, wherein the conflict resolution policy comprises a last write wins policy or a merge policy.

### Claim 4 (depends on 1)

The system of claim 1, wherein the schematized data structure is made accessible to client devices via a cloud manager implemented at each client device, the cloud manager configured to implement an application programming interface that interfaces with the one or more servers.

### Claim 5 (depends on 1)

The system of claim 1, wherein the schematized data structure is made accessible to client devices directly from the cloud data store via one or more application programming interfaces.

### Claim 6 (depends on 1)

The system of claim 1, wherein a subset of the schematized data structure is stored at a local cache implemented at a client device, the local cache configured to enable offline read and write access to the schematized data structure, and wherein the schematized data structure is uploaded to the cloud service when a user logs into the user profile using a network connection.

### Claim 7 (depends on 1)

The system of claim 1, wherein data types of the schematized data structure are defined using a BOND framework.

### Claim 8 (depends on 1)

The system of claim 1, wherein the schematized data structure stored in the cloud data store enables new client devices to be instantly personalized with the user settings and preferences of the user profile.

### Claim 9 (depends on 1)

The system of claim 1, wherein the schematized data manager is configured to: detect a login to the cloud service by one of the other client devices associated with the user profile, and wherein the changes to the schematized data structure are automatically applied to the one of the other client devices based on a detection of the login to the cloud service and the result of the application of the partition policy.

### Claim 10

A computer-implemented method executed on a computing device associated with a cloud service, the computer-implemented method comprising:
detecting changes made to schematized data structure by a client device that is associated with a user profile of the cloud service;
applying a partition policy that uses partition application rules associated with the user profile to determine whether the changes to the schematized data structure are to be automatically applied to other client devices associated with the user profile, wherein the applying of the partition policy comprises:
evaluating the partition application rules which define how the changes to the schematized data structure are to be applied across the other client devices, and
determining whether the changes to the schematized data structure are to be automatically applied across all of the other client devices associated with the user profile or to a subset of the other client devices based on a result of an evaluation of the partitional application rules associated with the user profile; and
automatically applying, to one or more of the other client devices, the changes to the schematized data structure based on the result of the applying of the partition policy.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, further comprising: detecting a login to the cloud service by one of the other client devices associated with the user profile, and wherein the changes to the schematized data structure are automatically applied to the one of the other client devices based on the detecting of the login to the cloud service and the result of the applying of the partition policy.

### Claim 12 (depends on 10)

The computer-implemented method of claim 10, further comprising: applying a conflict resolution policy associated with the schematized data structure to resolve a conflict between different copies of the schematized data structure, and wherein the automatically applying selects a copy of the schematized data structure to apply to the one of the other client devices based on a result of the applying of the conflict resolution policy.

### Claim 13 (depends on 10)

The computer-implemented method of claim 10, wherein the schematized data structure is made accessible to client devices via a cloud manager implemented at each client device, the cloud manager configured to implement an application programming interface that interfaces with the cloud service.

### Claim 14 (depends on 10)

The computer-implemented method of claim 10, wherein the schematized data structure is made accessible to client devices directly from a cloud data store of the cloud service via an application programming interface.

### Claim 15 (depends on 10)

The computer-implemented method of claim 10, further comprising: storing the changes to the schematized data structure in a cloud data store of the cloud service, and wherein the automatically applying reads the changes to the schematized data structure from the cloud data store.

### Claim 16

A computer-implemented method executed on a computing device interfacing with a cloud service, the computer-implemented method comprising:
detecting changes made to schematized data by a client device that is associated with a user profile of the cloud service;
storing the changes to the schematized data in a cloud data store of the cloud service;
applying a partition policy that uses partition application rules associated with the user profile to determine whether the changes to the schematized data are to be automatically applied to other client devices associated with the user profile, wherein the applying of the partition policy comprises:
evaluating the partition application rules which define how the changes to the schematized data are to be applied across the other client devices, and
determining whether the changes to the schematized data are to be automatically applied across all of the other client devices associated with the user profile or to a subset of the other client devices based on a result of an evaluation of the partitional application rules associated with the user profile; and
automatically applying, from the cloud data store to one or more of the other client devices, the changes to the schematized data based on the result of the applying of the partition policy.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, further comprising: detecting a login to the cloud service by one of the other client devices associated with the user profile, and wherein the changes to the schematized data are automatically applied to the one of the other client devices based on the detecting of the login to the cloud service and the result of the applying of the partition policy.

### Claim 18 (depends on 16)

The computer-implemented method of claim 16, further comprising: applying a conflict resolution policy associated with the schematized data to resolve a conflict between different copies of the schematized data, and wherein the automatically applying selects a copy of the schematized data to apply to the one of the other client devices based on a result of the applying of the conflict resolution policy.

### Claim 19 (depends on 16)

The computer-implemented method of claim 16, wherein the schematized data is made accessible to client devices via a cloud manager implemented at each client device, the cloud manager configured to implement an application programming interface that interfaces with the cloud service.

### Claim 20 (depends on 16)

The computer-implemented method of claim 16, wherein the schematized data is made accessible to client devices directly from a cloud data store of the cloud service via an application programming interface.
