# US 11,122,149 B2 · Screen sharing via a thin client application

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

- Number: US 11,122,149 B2
- Document ID: US11122149B2
- Status: Granted
- Kind: B2
- Application number: 16/504,177
- Filed: 2019-07-05
- Published: 2020-06-04
- Granted: 2021-09-14
- Earliest claimed: 2018-11-30
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Sabra Alexis Wieditz Rossman; Alexey Goloshubin; Kshitij Mahendru; Shivaram Prabhakar; Sharad Bajaj
- Web page: https://patentgrep.com/patent/US11122149B2

## CPC

- G06F 9/54: Interprogram communication
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- G06F 2209/545: Gui
- 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

A server device may host a communication application that remotely accessed by a computing device. Display data generated by a remotely accessed application is communicated to the computing device from the server device. The display data generated by the remotely accessed application is communicated from the computing device to another computing device associated with a user participating in the communication session hosted by the communication application. A communication application executing on the other computing device displays a user interface of the remotely accessed application by processing the display data.

## Claims

### Claim 1

A computer-implemented method performed by a data processing system for enabling a first computing device to concurrently display and share a user interface (UI) generated by the data processing system with a second computing device, the method comprising:
generating, at the data processing system, a first data stream comprising display data defining the UI;
communicating, using a network connection between the first computing device and the data processing system, the first data stream to the first computing device, the first computing device configured to process the first data stream to display a first rendering of the UI on a display device of the first computing device;
receiving, from the first computing device, a request to share the UI;
in response to the request, generating, at the data processing system, a second data stream comprising the display data defining the UI; and
communicating, using the network connection between the first computing device and the data processing system, the second data stream to the first computing device concurrently with, but separately from, the first data stream, the communication of the second data stream causing the first computing device to communicate the second data stream to the second computing device, the second data stream causing the second computing device to display a second rendering of the UI on a display device of the second computing device.

### Claim 2 (depends on 1)

The computer-implemented method according to claim 1, wherein the application display data is associated with an application hosted by the data processing system, the application executed by the data processing system and remotely accessible by the first computing device.

### Claim 3 (depends on 2)

The computer-implemented method according to claim 2, wherein the application hosted by the data processing system is a productivity application or web browser application.

### Claim 4 (depends on 1)

The computer-implemented method according to claim 1, wherein the request is received from a communication application, the communication application being a collaboration communication application configured to enable sharing of audio and video data and application data between computing devices.

### Claim 5 (depends on 1)

The computer-implemented method according to claim 1, wherein the second data stream causes the first computing device to share the second data stream to the second computing device via a point-to-point connection.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the second data stream communicated from the first computing device to the second computing device eliminates a need for the data processing system to connect directly to the second computing device.

### Claim 7 (depends on 1)

The computer implemented method of claim 1, wherein the connection between the first computing device and the data processing system concurrently comprises the first data stream and the second data stream in response to the request from the first computing device to share the UI.

### Claim 8 (depends on 1)

The computer implemented method of claim 1, wherein the first computing device communicates the second data stream to the second computing device via a network connection between the first computing device and the second computing device, wherein the second computing device displays a second rendering of the UI on a display device associated with the second computing device.

### Claim 9 (depends on 1)

The computer implemented method of claim 1, wherein the display data further defines desktop display data defining a remote desktop UI, wherein the first computing device is configured to process the first data stream to display the first rendering of the UI and a rendering of the remote desktop UI on the display device of the first computing device, and wherein the second data stream causes the second computing device to display the second rendering of the UI and a second rendering of the remote desktop UI on a display device of the second computing device.

### Claim 10

A computer-implemented method performed by a first computing device for displaying and sharing a user interface (UI) provided by a data processing system with a second computing device, eliminating a need for the data processing system to connect directly to the second computing device thereby mitigating network congestion, the method comprising:
receiving, using a network connection between the first computing device and the data processing system, a first data stream from the data processing system, the first data stream comprising display data defining the UI;
displaying a first rendering of the UI on a display device of the first computing device;
communicating a request to the data processing system, the request causing the data processing system to communicate a second data stream comprising the display data defining the UI;
receiving, using the network connection between first computing device and the data processing system, the second data stream from the data processing system, the second data stream received concurrently with, but separately from, the first data stream; and
communicating the second data stream to the second computing device, the second data stream causing the second computing device to display a second rendering of the UI on a display device of the second computing device.

### Claim 11 (depends on 10)

The computer-implemented method according to claim 10, wherein the communicating the second data stream comprises communicating the second data stream over a point-to-point communication link between the first computing device and the second computing device.

### Claim 12 (depends on 10)

The computer-implemented method according to claim 10, wherein the request is generated from a communication application to allow users at disparate locations to share audio and video data and application data.

### Claim 13 (depends on 12)

The computer-implemented method according to claim 12, wherein the communication application is hosted by the data processing system and remotely accessible by the first computing device.

### Claim 14 (depends on 10)

The computer-implemented method according to claim 10, wherein the first computing device and the second computing device are each a thin client computing device.

### Claim 15 (depends on 10)

The computer-implemented method according to claim 10, wherein the request comprises input data associated with a communication application hosted by the data processing system.

### Claim 16 (depends on 15)

The computer-implemented method according to claim 15, wherein the communication application hosted by the data processing system is remotely accessible by the first computing device.

### Claim 17

An apparatus for enabling a first computing device to share a user interface (UI) with a second computing device, eliminating a need for the data processing system to connect directly to the second computing device thereby mitigating network congestion, the apparatus comprising:
means for generating, using a network connection between the first computing device and the data processing system, a first data stream comprising display data defining the UI;
means for communicating the first data stream to the first computing device, the first computing device configured to process the first data stream to display a first rendering of the UI on a display device of the first computing device;
means for receiving, from the first computing device, a request to share the UI;
in response to the request, generating a second data stream comprising the display data defining the UI; and
communicating the second data stream to the first computing device concurrently with, but separately from, the first data stream, the communication of the second data stream causing the first computing device to communicate the second data stream to the second computing device, the second data stream causing the second computing device to display a second rendering of the UI on a display device of the second computing device.

### Claim 18 (depends on 17)

The apparatus according to claim 17, wherein the application display data is associated with an application hosted by the apparatus, the application executed by the apparatus and remotely accessible by the first computing device.

### Claim 19 (depends on 18)

The apparatus according to claim 18, wherein the application hosted by the apparatus is a productivity application or web browser application.

### Claim 20 (depends on 17)

The apparatus according to claim 17, wherein the request is received from a communication application, the communication application being a collaboration communication application configured to enable sharing of audio and video data and application data between computing devices.
