IP Library Granted Patent US 12713091
Granted Patent B2
US 12713091 · App. 18/691,574 · Granted Aug 18, 2026

Techniques for flexible control of playback devices

Inventors: Bruce Weathered von Kugelgen (Oakland, CA); Michael Nuzzolo (South Boston, MA); Michelle Diane Sintov (San Francisco, CA); Marisa McKently (Mountain View, CA); Damjan Stulic (San Francisco, CA); Paul Andrew Terry (Dublin, CA)
Assignee: Sonos, Inc.
H04N21/43615H04N21/436H04N21/442H04W36/0022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12713091
App. No.
18/691,574
Granted
Aug 18, 2026
Kind
B2
Abstract

An example computing device establishes a first network connection to a playback device that supports a first communication protocol for sending audio content for playback to the playback device, and detects user input associated with a modification to the playback. While the computing device and the playback device are connected to a common data network that supports a second communication protocol, the computing device transmits, via the common data network using the second communication protocol, a command to modify media playback based on the user input. While the computing device or playback device are not connected to the common data network that supports the second communication protocol, the computing device (i) establishes a second network connection to the playback device that supports a third communication protocol, and (ii) transmits, via the second network connection using the third communication protocol, a command to modify media playback based on the user input.

Claims (69)

1 . A computing device comprising:

at least one processor;

at least one communication interface configured to facilitate communication using a first communication protocol, a second communication protocol that is different from the first communication protocol, and a third communication protocol that is different from the first and second communication protocols;

at least one user interface;

at least one non-transitory computer-readable medium; and

program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

establish a first network connection to a playback device that supports the first communication protocol;

send, via the first network connection using the first communication protocol, audio content for playback to the playback device;

detect, via the at least one user interface, user input indicating a modification to the playback of the audio content by the playback device;

while (i) the first network connection is established and (ii) the computing device and the playback device are connected to a common data network that supports the second communication protocol, transmit, via the common data network using the second communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input; and

while (i) the first network connection is established and (ii) at least one of the computing device or the playback device are not connected to a common data network that supports the second communication protocol, (i) establish a second network connection to the playback device that supports the third communication protocol, and (ii) transmit, via the second network connection using the third communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input.

2 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

receive, via the second network connection using the third communication protocol, information identifying an operational status of the playback device.

3 . The computing device of claim 2 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

transmit, via the second network connection using the third communication protocol, a subscription request for a particular operational parameter of the playback device; and

wherein the program instructions that are executable by the at least one processor such that the computing device is configured to receive, via the second network connection using the third communication protocol, the information identifying the operational status of the playback device comprise program instructions that are executable by the at least one processor such that the computing device is configured to:

based on the subscription request, receive, via the second network connection using the third communication protocol, information corresponding to the particular operational parameter after the particular operational parameter changes.

4 . The computing device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing device is configured to establish the second network connection to the playback device that supports the third communication protocol comprise program instructions that are executable by the at least one processor such that the computing device is configured to establish the second network connection to the playback device that supports the third communication protocol based on (i) having established the first network connection to the playback device that supports the first communication protocol and (ii) determining that at least one of the computing device or the playback device are not connected to a common data network that supports the second communication protocol.

5 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

terminate the first network connection to the playback device that supports the first communication protocol; and

based on terminating the first network connection to the playback device, terminate the second network connection to the playback device that supports the third communication protocol.

6 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

after having established the second network connection to the playback device that supports the third communication protocol, determine that the computing device and the playback device are connected to a common data network that supports the second communication protocol; and

based on the determination that the computing device and the playback device are connected to the common data network that supports the second communication protocol, terminate the second network connection to the playback device that supports the third communication protocol.

7 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

while (i) the first network connection is established, (ii) the playback device and one or more other playback devices are connected to a common data network that supports the second communication protocol, and (iii) the computing device is not connected to the common data network that supports the second communication protocol, receive, via the second network connection using the third communication protocol, information identifying (i) the one or more other playback devices and (ii) an operational status of the one or more other playback devices.

8 . The computing device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing device is configured to detect, via the at least one user interface, the user input indicating the modification to the playback of the audio content by the playback device comprise program instructions that are executable by the at least one processor such that the computing device is configured to detect user input indicating a first modification and a subsequent second modification to the playback of the audio content by the playback device, and wherein the computing device further comprises program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

determine that the first and second modifications are for modifying a same parameter that modifies playback of the audio content by the one or more playback device; and

based on (i) the determination that the first and second modifications are for modifying the same parameter that modifies playback of the audio content by the playback device and (ii) the detection of the second modification subsequent to the first modification, refrain from transmitting, via the second network connection using the third communication protocol, a command corresponding to the first modification.

9 . The computing device of claim 1 , wherein the first communication protocol is a Bluetooth classic protocol, wherein a common data network that supports the second communication protocol comprises a wireless local area network (WLAN), and wherein the third communication protocol is a Bluetooth low energy (BLE) protocol.

10 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

determine (i) a first encryption key for use when communicating with the playback device using the second communication protocol and (ii) a second encryption key for use when communicating with the playback device using the third communication protocol;

wherein the program instructions that are executable by the at least one processor such that the computing device is configured to transmit, via the common data network using the second communication protocol, the at least one command to modify playback of the audio content by the playback device based on the detected user input comprise program instructions that are executable by the at least one processor such that the computing device is configured to transmit, via the common data network using the second communication protocol and the first encryption key, the at least one command to modify playback of the audio content by the playback device based on the detected user input; and

wherein the program instructions that are executable by the at least one processor such that the computing device is configured to transmit, via the second network connection using the third communication protocol, the at least one command to modify playback of the audio content by the playback device based on the detected user input comprise program instructions that are executable by the at least one processor such that the computing device is configured to transmit, via the second network connection using the third communication protocol and the second encryption key, the at least one command to modify playback of the audio content by the playback device based on the detected user input.

11 . The computing device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:

determine whether the computing device and the playback device are connected to a common data network that supports the second communication protocol.

12 . A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing device to:

establish a first network connection to a playback device that supports a first communication protocol, wherein the computing device comprises at least one communication interface configured to facilitate communication using the first communication protocol, a second communication protocol that is different from the first communication protocol, and a third communication protocol that is different from the first and second communication protocols;

send, via the first network connection using the first communication protocol, audio content for playback to the playback device;

detect, via at least one user interface of the computing device, user input indicating a modification to the playback of the audio content by the playback device;

while (i) the first network connection is established and (ii) the computing device and the playback device are connected to a common data network that supports the second communication protocol, transmit, via the common data network using the second communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input; and

while (i) the first network connection is established and (ii) at least one of the computing device or the playback device are not connected to a common data network that supports the second communication protocol, (i) establish a second network connection to the playback device that supports the third communication protocol, and (ii) transmit, via the second network connection using the third communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input.

13 . The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing device to:

receive, via the second network connection using the third communication protocol, information identifying an operational status of the playback device.

14 . The non-transitory computer-readable medium of claim 13 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing device to:

transmit, via the second network connection using the third communication protocol, a subscription request for a particular operational parameter of the playback device; and

wherein the program instructions that, when executed by at least one processor, cause the computing device to receive, via the second network connection using the third communication protocol, the information identifying the operational status of the playback device comprise program instructions that, when executed by at least one processor, cause the computing device to:

based on the subscription request, receive, via the second network connection using the third communication protocol, information corresponding to the particular operational parameter after the particular operational parameter changes.

15 . The non-transitory computer-readable medium of claim 12 , wherein the program instructions that, when executed by at least one processor, cause the computing device to establish the second network connection to the playback device that supports the third communication protocol comprise program instructions that, when executed by the at least one processor, cause the computing device to establish the second network connection to the playback device that supports the third communication protocol based on (i) having established the first network connection to the playback device that supports the first communication protocol and (ii) determining that at least one of the computing device or the playback device are not connected to a common data network that supports the second communication protocol.

16 . The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing device to:

terminate the first network connection to the playback device that supports the first communication protocol; and

based on terminating the first network connection to the playback device, terminate the second network connection to the playback device that supports the third communication protocol.

17 . The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing device to:

after having established the second network connection to the playback device that supports the third communication protocol, determine that the computing device and the playback device are connected to a common data network that supports the second communication protocol; and

based on the determination that the computing device and the playback device are connected to the common data network that supports the second communication protocol, terminate the second network connection to the playback device that supports the third communication protocol.

18 . The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing device to:

while (i) the first network connection is established, (ii) the playback device and one or more other playback devices are connected to a common data network that supports the second communication protocol, and (iii) the computing device is not connected to the common data network that supports the second communication protocol, receive, via the second network connection using the third communication protocol, information identifying (i) the one or more other playback devices and (ii) an operational status of the one or more other playback devices.

19 . A method carried out by a computing device, the method comprising:

establishing a first network connection to a playback device that supports a first communication protocol, wherein the computing device comprises at least one communication interface configured to facilitate communication using the first communication protocol, a second communication protocol that is different from the first communication protocol, and a third communication protocol that is different from the first and second communication protocols;

sending, via the first network connection using the first communication protocol, audio content for playback to the playback device;

detecting, via at least one user interface of the computing device, user input indicating a modification to the playback of the audio content by the playback device;

while (i) the first network connection is established and (ii) the computing device and the playback device are connected to a common data network that supports the second communication protocol, transmitting, via the common data network using the second communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input; and

while (i) the first network connection is established and (ii) at least one of the computing device or the playback device are not connected to a common data network that supports the second communication protocol, (i) establishing a second network connection to the playback device that supports the third communication protocol, and (ii) transmitting, via the second network connection using the third communication protocol, at least one command to modify playback of the audio content by the playback device based on the detected user input.

20 . The method of claim 19 , further comprising:

receiving, via the second network connection using the third communication protocol, information identifying an operational status of the playback device.

21 . The method of claim 20 , further comprising:

transmitting, via the second network connection using the third communication protocol, a subscription request for a particular operational parameter of the playback device,

wherein receiving, via the second network connection using the third communication protocol, the information identifying the operational status of the playback device comprises:

based on the subscription request, receiving, via the second network connection using the third communication protocol, information corresponding to the particular operational parameter after the particular operational parameter changes.