# US 10,771,592 B2 · Interoperability of discovery and connection protocols between client devices and first screen devices

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

- Number: US 10,771,592 B2
- Document ID: US10771592B2
- Status: Granted
- Kind: B2
- Application number: 15/997,608
- Filed: 2018-06-04
- Published: 2018-10-04
- Granted: 2020-09-08
- Earliest claimed: 2015-02-03
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Stein Eldar Johnsen; Alexander Taboriskiy
- Web page: https://patentgrep.com/patent/US10771592B2

## CPC

- G06F 9/451: Execution arrangements for user interfaces
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/75: Indicating network or usage conditions on the user display
- 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 second screen application operating on a client device presents a deduplicated listing of devices in a user interface, each listed device associated with one or more coupling protocols. A selection of a listed device is received via the user interface with which to participate in a video display session. Application status information is obtained from a control server for a first screen application of the selected device, the application status information indicating whether the first screen application is in an existing video display session with a second client device. A coupling methodology is determined based on the indicated application status and coupling protocols available to the client device and the one or more coupling protocols of the first screen application; and the client device couples to the first screen application via the determined coupling methodology.

## Claims

### Claim 1

A computer-implemented method for facilitating interoperability between a first screen device and a second screen device, the method comprising:
discovering, by the second screen device, a first screen application operating on the first screen device and a plurality of coupling protocols available to connect to the first screen device;
providing, by the second screen device, a device list based on the discovering, the device list including a plurality of entries each associated with the first screen application and a respective coupling protocol of the plurality of coupling protocols;
obtaining, by the second screen device, pairing information for the first screen application from a control server;
updating, by the second screen device, the device list using the pairing information from the control server;
performing, by the second screen device, device deduplication using the updated device list to generate a deduplicated entry for the first screen application; and
presenting, by the second screen device, the deduplicated entry for the first screen application in a user interface.

### Claim 2 (depends on 1)

The method of claim 1, wherein providing, by the second screen device, the device list based on the discovering comprises:
adding an entry to the device list for each of the plurality of coupling protocols, wherein each added entry includes an application identifier of the first screen application and an identifier of a respective coupling protocol of the plurality of coupling protocols.

### Claim 3 (depends on 2)

The method of claim 2, wherein the application identifier of the first screen application is generated by the first screen application and provided to the second screen device in response to a discovery request of the second screen device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the pairing information for the first screen application identifies one or more client devices with which the first screen application has been paired manually using a passcode.

### Claim 5 (depends on 4)

The method of claim 4, wherein updating the device list using the pairing information comprises:
adding an entry to the device list for each of the one or more client devices with which the first screen application has been paired manually, wherein each added entry includes an application identifier of the first screen application and an identifier of a respective client device with an indication of a manual pairing.

### Claim 6 (depends on 5)

The method of claim 5, wherein performing device deduplication using the updated device list comprises:
gathering entries that are associated with the first screen application in the updated device list using the application identifier of the first screen application; and
creating a single entry that includes the application identifier of the first screen application, the single entry being the deduplicated entry reflecting the plurality of coupling protocols and the one or more client devices with which the first screen application has been paired manually.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving a user selection of the deduplicated entry for the first screen application;
requesting application status information associated with the first screen application from the control server;
receiving the application status information associated with the first screen application from the control server; and
determining, based on the application status information, whether the first screen application has an existing session with any other client devices.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
responsive to determining that the first screen application does not have an existing session with any other client devices, establishing a session with the first screen application.

### Claim 9 (depends on 8)

The method of claim 8, wherein establishing the session with the first screen application comprises:
identifying, by the second screen device, rankings of the plurality of coupling protocols; and
selecting, from the plurality of coupling protocols, a coupling protocol with a highest ranking for establishing the session with the first screen application.

### Claim 10 (depends on 8)

The method of claim 8, wherein establishing the session with the first screen application comprises:
receiving a user selection of one of the plurality of coupling protocols for establishing the session with the first screen application.

### Claim 11 (depends on 7)

The method of claim 7, further comprising:
responsive to determining that the first screen application has an existing session with another client device, identifying a coupling protocol of the existing session, and determining whether the coupling protocol of the existing session is supported by the second screen device.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
responsive to determining that the coupling protocol of the existing session is supported by the second screen device, connecting with the first screen application using the coupling protocol of the existing session.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
responsive to determining that the coupling protocol of the existing session is not supported by the second screen device, connecting with the first screen application via the control server.

### Claim 14

A non-transitory computer readable medium comprising instructions, which when executed by a processor, cause the process to perform operations for facilitating interoperability between a first screen device and a second screen device, the operations comprising:
discovering, by the second screen device, a first screen application operating on the first screen device and a plurality of coupling protocols available to connect to the first screen device;
providing, by the second screen device, a device list based on the discovering, the device list including a plurality of entries each associated with the first screen application and a respective coupling protocol of the plurality of coupling protocols;
obtaining, by the second screen device, pairing information for the first screen application from a control server;
updating, by the second screen device, the device list using the pairing information from the control server;
performing, by the second screen device, device deduplication using the updated device list to generate a deduplicated entry for the first screen application; and
presenting, by the second screen device, the deduplicated entry for the first screen application in a user interface.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein providing, by the second screen device, the device list based on the discovering comprises:
adding an entry to the device list for each of the plurality of coupling protocols, wherein each added entry includes an application identifier of the first screen application and an identifier of a respective coupling protocol of the plurality of coupling protocols, wherein the application identifier of the first screen application is generated by the first screen application and provided to the second screen device in response to a discovery request of the second screen device.

### Claim 16 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein the pairing information for the first screen application identifies one or more client devices with which the first screen application has been paired manually using a passcode.

### Claim 17 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein updating the device list using the pairing information comprises:
adding an entry to the device list for each of the one or more client devices with which the first screen application has been paired manually, wherein each added entry includes an application identifier of the first screen application and an identifier of a respective client device with an indication of a manual pairing.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein performing device deduplication using the updated device list comprises:
gathering entries that are associated with the first screen application in the updated device list using the application identifier of the first screen application; and
creating a single entry that includes the application identifier of the first screen application, the single entry being the deduplicated entry reflecting the plurality of coupling protocols and the one or more client devices with which the first screen application has been paired manually.

### Claim 19

A system to facilitate interoperability between a first screen device and a second screen device, the system comprising:
a memory; and
a processor, coupled to the memory, to:
discover a first screen application operating on the first screen device and a plurality of coupling protocols available to connect to the first screen device;
provide a device list based on the discovering, the device list including a plurality of entries each associated with the first screen application and a respective coupling protocol of the plurality of coupling protocols;
obtain pairing information for the first screen application from a control server;
update the device list using the pairing information from the control server;
perform device deduplication using the updated device list to generate a deduplicated entry for the first screen application; and
present the deduplicated entry for the first screen application in a user interface.

### Claim 20 (depends on 19)

The system of claim 19, wherein each of the plurality of entries associated with the first screen application includes an application identifier of the first screen application that is generated by the first screen application and provided to the second screen device in response to a discovery request of the second screen device.

### Claim 21 (depends on 19)

The system of claim 19, wherein the pairing information for the first screen application identifies one or more client devices with which the first screen application has been paired manually using a passcode.
