# US 2017/0303072 A1 · Companion application for activity cooperation

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

- Number: US 2017/0303072 A1
- Document ID: US20170303072A1
- Status: Published application
- Kind: A1
- Application number: 15/369,785
- Filed: 2016-12-05
- Published: 2017-10-19
- Earliest claimed: 2014-05-30
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Marc J. Krochmal; Christopher S. Linn; John J. Iarocci; Geoffrey G. Stahl; Jaques P. Gasselin de Richebourg; Alexander R. Ledwith
- Web page: https://patentgrep.com/patent/US20170303072A1

## CPC

- H04L 5/0035: {Resource allocation in a cooperative multipoint environment}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The described embodiments augment an activity performed in a first application at a source electronic device using a controller at a companion electronic device. The source electronic device receives controller information describing a controller that the activity performed in the first application accepts controller data from, determines a controller identifier for the controller information, and broadcasts a controller advertisement comprising the controller identifier. Upon receiving the controller advertisement, the companion electronic device determines whether a second application that can provide the controller data is available at the companion electronic device. If the second application is available, the companion electronic device establishes a cooperative-activity communication channel with the source electronic device. The companion electronic device uses the cooperative-activity communication channel to provide controller data to the source electronic device. The source electronic device provides the controller data to the first application to cause a corresponding action to be performed.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A method, comprising:
in a companion electronic device, performing operations for:
receiving a controller advertisement message from a source electronic device, the controller advertisement message comprising information indicating that an activity performed in a first application at the source electronic device accepts controller data from a controller;
in response to the controller advertisement message, establishing a cooperative-activity virtual communication channel with the source electronic device, wherein the controller advertisement is received using a first virtual communication channel that is different from the cooperative-activity virtual communication channel, and wherein establishing the cooperative-activity virtual communication channel comprises:
using the first virtual communication channel to send a request to establish the cooperative-activity virtual communication channel to the source electronic device;
receiving controller data from the controller from a second application at the companion electronic device; and
using the cooperative-activity virtual communication channel to provide the controller data to the source electronic device, wherein the controller data is configured to cause the source electronic device to perform an action for the activity in the first application at the source electronic device.

### Claim 22 (depends on 1)

The method of claim 1, wherein the cooperative-activity virtual communication channel and the first virtual communication channel use a wireless network interface.

### Claim 23 (depends on 1)

The method of claim 1, wherein the first application accepts the controller data from a microphone.

### Claim 24 (depends on 1)

The method of claim 1, wherein the first application accepts the controller data from a camera.

### Claim 25 (depends on 1)

The method of claim 1, wherein the first application accepts the controller data from a thumbprint reader.

### Claim 26 (depends on 1)

The method of claim 1, wherein the first application accepts the controller data from a keyboard, a touch screen, a game controller, an accelerometer, a remote control, or a network controller.

### Claim 27 (depends on 1)

The method of claim 1, wherein the first virtual channel comprises a Bluetooth Low Energy (BLE) channel.

### Claim 28 (depends on 1)

The method of claim 1, wherein the first virtual channel comprises a LAN channel.

### Claim 29 (depends on 1)

The method of claim 1, wherein the first virtual channel comprises a peer-to-peer networks channel.

### Claim 30 (depends on 1)

The method of claim 1, wherein the first virtual channel comprises an internet channel.

### Claim 31

A companion electronic device comprising:
a processing subsystem; and,
a networking subsystem;
wherein the processing subsystem and the networking subsystem are configured to perform operations for:
receiving a controller advertisement message from a source electronic device, the controller advertisement message comprising information indicating that an activity performed in a first application at the source electronic device accepts controller data from a controller;
in response to the controller advertisement message, establishing a cooperative-activity virtual communication channel with the source electronic device, wherein the controller advertisement is received using a first virtual communication channel that is different from the cooperative-activity virtual communication channel, and wherein establishing the cooperative-activity virtual communication channel comprises:
using the first virtual communication channel to send a request to establish the cooperative-activity virtual communication channel to the source electronic device;
receiving controller data from the controller from a second application at the companion electronic device; and
using the cooperative-activity virtual communication channel to provide the controller data to the source electronic device, wherein the controller data is configured to cause the source electronic device to perform an action for the activity in the first application at the source electronic device.

### Claim 32 (depends on 11)

The companion electronic device of claim 11, wherein the cooperative-activity virtual communication channel and the first virtual communication channel use a wireless network interface.

### Claim 33 (depends on 11)

The companion electronic device of claim 11, wherein the first application accepts the controller data from a microphone.

### Claim 34 (depends on 11)

The companion electronic device of claim 11, wherein the first application accepts the controller data from a camera.

### Claim 35 (depends on 11)

The companion electronic device of claim 11, wherein the first application accepts the controller data from a thumbprint reader.

### Claim 36 (depends on 11)

The companion electronic device of claim 11, wherein the first application accepts the controller data from a keyboard, a touch screen, a game controller, an accelerometer, a remote control, or a network controller.

### Claim 37 (depends on 11)

The companion electronic device of claim 11, wherein the first virtual channel comprises a LAN channel.

### Claim 38 (depends on 11)

The companion electronic device claim 11, wherein the first virtual channel comprises a LAN channel.

### Claim 39 (depends on 11)

The companion electronic device of claim 11, wherein the first virtual channel comprises a peer-to-peer networks channel.

### Claim 40 (depends on 11)

The companion electronic device of claim 11, wherein the first virtual channel comprises an internet channel.
