# US 10,771,517 B2 · Sharing user context and preferences

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

- Number: US 10,771,517 B2
- Document ID: US10771517B2
- Status: Granted
- Kind: B2
- Application number: 16/425,547
- Filed: 2019-05-29
- Published: 2019-09-12
- Granted: 2020-09-08
- Earliest claimed: 2016-06-30
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Boaz Ein-Gil; Shimi Ezra; Shira Weinberg; Mikael Sitruk
- Web page: https://patentgrep.com/patent/US10771517B2

## CPC

- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- G06F 9/468: {Specific access rights for resources, e.g. using capability register}
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Technology for interoperability is disclosed by enabling the sharing of user context or preferences for a computing experience across computing devices, operating systems, applications, or locations. A platform and application programming interface (API) are provided for computer applications and services to store and retrieve context data associated with a computing experience. Access to the context data for sharing may be managed by an access controller, which enables a user to manage access permissions for the sharing of the context data. The context data may be defined according to a common schema, which specifies the information for sharing and may be communicated using common communication channels or protocols. Thus context data may be shared across nearly any application or service including those developed in different computer programming languages or operating on different types of computing devices or devices running different operating systems or by different software developers.

## Claims

### Claim 1

A computer-performed method for replicating a context of a user experience, from a first user computing device, on a second user computing device, the method comprising:
responsive to determining a task performed by an application in a user session on the second user computing device, generating a request for a set of context data corresponding to the task;
sending the request for the set of context data to a server associated with a data store containing contextual information from the user experience from the first user computing device;
receiving a subset of the context data from the server; and
utilizing the subset of the context data on the second user computing device to replicate the context of the user experience from the first user computing device in the user session on the second user computing device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising monitoring the second user computing device to determine the task performed by an application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the request includes information identifying the task and information identifying the second user computing device or a user associated with the second user computing device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the server controls access to the contextual information based on a set of access parameters.

### Claim 5 (depends on 4)

The method of claim 4, wherein the subset of the context data is determined by the server based on at least the request and the set of access parameters.

### Claim 6 (depends on 2)

The method of claim 2, wherein monitoring the second user computing device to determine the task performed by an application comprises monitoring sensor data provided by one or more sensors associated with the second user computing device.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
receiving an authentication challenge from the server in response to sending the request; and
providing credentials to the server in response to the authentication challenge, wherein the subset of the context data is further determined based on the credentials.

### Claim 8 (depends on 1)

The method of claim 1, wherein the received subset of context data comprises a data structure defined according to a schema corresponding to the task, the data structure and including data elements characterizing aspects of the context of the user experience from the first user computing device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the request is generated based on an API associated with the server and wherein the request is sent to the server using REST over HTTP(s).

### Claim 10

One or more computer storage media having embodied thereon computer-usable instructions which, when executed by one or more processors, implement a method for replicating a context of a user experience, from a first user computing device, on a second user computing device, the method comprising:
responsive to determining a task performed by an application in a user session on the second user computing device, generating a request for a set of context data corresponding to the task;
sending the request for the set of context data to a server associated with a data store containing contextual information from the user experience from the first user computing device;
receiving a subset of the context data from the server, and
utilizing the subset of context data on the second user computing device to replicate the context of the user experience from the first user computing device in the user session on the second user computing device.

### Claim 11 (depends on 10)

The one or more computer storage media of claim 10, the method further comprising monitoring the second user computing device to determine the task performed by an application.

### Claim 12 (depends on 10)

The one or more computer storage media of claim 10, wherein the request includes information identifying the task and information identifying the second user computing device or a user associated with the second user computing device.

### Claim 13 (depends on 10)

The one or more computer storage media of claim 10, wherein the server controls access to the contextual information based on a set of access parameters.

### Claim 14 (depends on 13)

The one or more computer storage media of claim 13, wherein the subset of the context data is determined by the server based on at least the request and the set of access parameters.

### Claim 15 (depends on 11)

The one or more computer storage media of claim 11, wherein monitoring the second user computing device to determine the task performed by an application comprises monitoring sensor data provided by one or more sensors associated with the second user computing device.

### Claim 16 (depends on 10)

The one or more computer storage media of claim 10, the method further comprising:
receiving an authentication challenge from the server in response to sending the request; and
providing credentials to the server in response to the authentication challenge, wherein the subset of the context data is further determined based on the credentials.

### Claim 17 (depends on 10)

The one or more computer storage media of claim 10, wherein the received subset of context data comprises a data structure defined according to a schema corresponding to the task, the data structure and including data elements characterizing aspects of the context of the user experience from the first user computing device.

### Claim 18 (depends on 10)

The one or more computer storage media of claim 10, wherein the request is generated based on an API associated with the server and wherein the request is sent to the server using REST over HTTP(s).

### Claim 19

A second user computing device for replicating a context of a user experience from a first user computing device, the second user computing device comprising one or more processors configured to:
responsive to determining a task performed by an application in a user session on the second user computing device, generate a request for a set of context data corresponding to the task;
send the request for the set of context data to a server associated with a data store containing contextual information from the user experience from the first user computing device;
receive a subset of the context data from the server, and
utilize the subset of the context data on the second user computing device to replicate the context of the user experience from the first user computing device in the user session on the second user computing device.

### Claim 20 (depends on 19)

The second user computing device of claim 19, wherein the received subset of context data comprises a data structure defined according to a schema corresponding to the task.
