IP Library Granted Patent US 11,128,913
Granted Patent B2
US 11,128,913 · App. 17/145,268 · Granted Sep 21, 2021

Systems and methods for networked music playback

Inventors: Arthur Coburn, IV (Lexington, MA); Joni Rafalski Hoadley (Santa Barbara, CA)
Assignee: Sonos, Inc.
H04N21/43615G06F3/0481G06F3/04842G06F3/04847G06F3/165G11B19/025H04L29/06027H04L65/4084H04N21/4307H04N21/439H04N21/4333H04N21/47202H04N21/4852H04N21/6125H04N21/64322H04N21/6581H04N21/6587H04N21/8113H04N21/8586H04R3/12G06F3/04817H04R2227/005H04R2420/07
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 11,128,913
App. No.
17/145,268
Granted
Sep 21, 2021
Kind
B2
Abstract

An example system is configured to (i) cause a client station to operate in a first mode in which the client station is configured for playback of a remote playback queue provided by a cloud-based computing system associated with a cloud-based media service, (ii) cause a zone player to take over playback responsibility for the remote playback queue, (iii) cause the zone player to (a) communicate with the cloud-based computing system to obtain data identifying a next one or more media items in the remote playback queue, (b) use the obtained data to retrieve at least one media item in the remote playback queue from the cloud-based media service, and (c) play back the retrieved at least one media item, and (iv) cause the client station to transition from the first mode to a second mode in which the client station is configured to control the zone player's playback of the remote playback queue.

Claims (99)

1. A zone player comprising:

a network interface that is configured to facilitate network communication, via one or more data networks, with (a) a client station installed with a media-playback application for a cloud-based media service and (b) a cloud-based computing system associated with the cloud-based media service;

at least one processor;

a tangible, non-transitory computer-readable medium; and

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

while the client station is configured for playback of a remote playback queue provided by the cloud-based computing system, receive, via the network interface, an instruction to take over playback responsibility for the remote playback queue from the client station; and

after receiving the instruction, (i) communicate with the cloud-based computing system in order to obtain data identifying a next one or more media items in the remote playback queue, (ii) use the obtained data to retrieve at least one media item in the remote playback queue from the cloud-based media service, and (iii) play back the retrieved at least one media item.

2. The zone player of claim 1 , wherein the instruction further comprises data identifying a first media item in the remote playback queue that the client station was configured to play back, and wherein the zone player further comprises program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to, after receiving the instruction:

use the data identifying the first media item in the remote playback queue to retrieve the first media item from the cloud-based media service, and

play back the first media item before playing back any other retrieved media item in the remote playback queue.

3. The zone player of claim 1 , wherein the data identifying the next one or more media items in the remote playback queue comprises a respective uniform resource identifier (URI) for each media item included in the next one or more media items.

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

after obtaining the data identifying the next one or more media items, add the data identifying the next one or more media items to a local playback queue maintained by the zone player.

5. The zone player of claim 1 , wherein the data identifying the next one or more media items was previously stored in a local playback queue maintained by the client station.

6. The zone player of claim 1 , wherein the instruction to take over the playback responsibility for the remote playback queue from the client station is received by the zone player as a result of a user inputting a request into the client station to transfer the playback responsibility for the remote playback queue from the client station to the zone player.

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

provide, via the network interface to the cloud-based computing system, an indication that the zone player has successfully taken over the playback responsibility for the remote playback queue.

8. The zone player of claim 1 , wherein:

the instruction to take over the playback responsibility for the remote playback queue from the client station further comprises an indication of a play position within a given media item that is currently being played back by the client station; and

wherein the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to play back the retrieved at least one media item comprises program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to play back the retrieved at least one media item beginning at the play position within the given media item.

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

provide, via the network interface, an indication that the zone player is available to accept the playback responsibility for the remote playback queue.

10. The zone player of claim 1 , wherein:

the instruction to take over the playback responsibility for the remote playback queue from the client station comprises an instruction for a group of two or more zone players that includes the zone player to take over the playback responsibility for the remote playback queue from the client station; and

the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to play back the retrieved at least one media item comprise program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to play back the retrieved at least one media item in synchrony with at least one other zone player included in the group of two or more zone players based on timing information for the retrieved at least one media item that is generated by the zone player.

11. The zone player of claim 1 , wherein the client station is additionally installed with a dedicated controller application for the zone player, and wherein, after the instruction to take over the playback responsibility for the remote playback queue from the client station is received, the zone player is configured to receive instructions for controlling the zone player's playback of media items from the remote playback queue that are initiated by each of the media-playback application installed on the client station and the dedicated controller application installed on the client station.

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

transmit, to the cloud-based computing system, an indication of a current point of the zone player's playback within the remote playback queue.

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

receive, from the cloud-based computing system, an indication that a user has modified the remote playback queue in a manner that impacts the previously received data identifying the next one or more items in the remote playback queue.

14. The zone player of claim 1 , wherein the instruction to take over the playback responsibility for the remote playback queue from the client station is received from one or both of the client station or the cloud-based computing system.

15. A system comprising:

a zone player configured to communicate over at least one data network; and

a client station configured to communicate over at least one data network and installed with a media-playback application for a cloud-based media service;

the zone player comprising:

a first network interface that is configured to communicatively couple the zone player to a cloud-based computing system associated with the cloud-based media service;

at least one first processor;

a first tangible, non-transitory computer-readable medium; and

program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

while the client station is configured for playback of a remote playback queue provided by the cloud-based computing system, receive, via the network interface, an instruction to take over playback responsibility for the remote playback queue from the client station; and

after receiving the instruction, (i) communicate with the cloud-based computing system in order to obtain data identifying a next one or more media items in the remote playback queue, (ii) use the obtained data to retrieve at least one media item in the remote playback queue from the cloud-based media service, and (iii) play back the retrieved at least one media item;

the client station comprising:

a second network interface that is configured to communicatively couple the client station to the cloud-based computing system;

a user interface;

at least one second processor;

a second tangible, non-transitory computer-readable medium; and

program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the client station is configured to:

operate in a first mode in which the client station is configured for playback of the remote playback queue provided by the cloud-based media service;

while operating in the first mode, detect, via the user interface, a selection of an indicator that facilitates transfer of playback responsibility for the remote playback queue from the client station to the zone player; and

transitioning from (i) the first mode in which the client station is configured for playback of the remote playback queue to (ii) a second mode in which the client station is configured to control the zone player's playback of the remote playback queue and the client station is no longer configured for playback of the remote playback queue.

16. The system of claim 15 , further comprising program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the client station is configured to:

in response to detecting the selection of the indicator, transmit, via the second network interface, the instruction for the zone player to accept playback responsibility for the remote playback queue.

17. The system of claim 15 , wherein the data identifying the next one or more media items in the remote playback queue comprises a respective uniform resource identifier (URI) for each media item included in the next one or more media items.

18. The system of claim 15 , further comprising program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

after obtaining the data identifying the next one or more media items, add the data identifying the next one or more media items to a local playback queue maintained by the zone player.

19. The system of claim 15 , further comprising program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the client station is configured to:

while operating in the first mode, store the data identifying the next one or more media items in a local playback queue maintained by the client station.

20. The system of claim 15 , further comprising program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the client station is configured to:

detect an indication that playback responsibility for the remote playback queue has been successfully transferred from the client station to the zone player.

21. The system of claim 15 , further comprising program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

provide, via the first network interface, an indication that the zone player is available for media playback.

22. The system of claim 15 , wherein the client station is additionally installed with a dedicated controller application for the zone player, and wherein, after transmitting the instruction for the zone player to accept playback responsibility for the remote playback queue, the client station is configured to provide instructions for controlling the zone player's playback of media items from the remote playback queue via each of the media-playback application installed on the client station and the dedicated controller application installed on the client station.

23. The system of claim 15 , further comprising program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the client station is configured to:

transmit, via the second network interface to the cloud-based computing system, an instruction to modify the remote playback queue in a manner that impacts the data identifying the next one or more items in the remote playback queue that was previously received by the zone player; and

the system further comprising program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

as a result of the instruction to modify the remote playback queue, receive, from the cloud-based computing system, updated data identifying the next one or more items in the remote playback queue.

24. The zone player of claim 1 , wherein the instruction to take over the playback responsibility for the remote playback queue from the client station is received from the client station.

25. A system comprising:

a zone player configured to communicate over at least one data network; and

a cloud-based computing system configured to communicate over at least one data network with a client station installed with a media-playback application for a cloud-based media service associated with the cloud-based computing system;

the zone player comprising:

a first network interface that is configured to communicatively couple the zone player to the client station;

at least one first processor;

a first tangible, non-transitory computer-readable medium; and

program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

while the client station is configured for playback of a remote playback queue provided by the cloud-based computing system, receive, via the network interface, an instruction to take over playback responsibility for the remote playback queue from the client station; and

after receiving the instruction, (i) communicate with the cloud-based computing system in order to obtain data identifying a next one or more media items in the remote playback queue, (ii) use the obtained data to retrieve at least one media item in the remote playback queue from the cloud-based media service, and (iii) play back the retrieved at least one media item;

the cloud-based computing system comprising:

a second network interface that is configured to communicatively couple the cloud-based computing system to the client station;

at least one second processor;

a second tangible, non-transitory computer-readable medium; and

program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the cloud-based computing system is configured to:

communicate with the zone player in order to provide the data identifying the next one or more media items in the remote playback queue.

26. The system of claim 25 , wherein the instruction further comprises data identifying a first media item in the remote playback queue that the client station was configured to play back when sending the instruction, and wherein the zone player further comprises program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to, after receiving the instruction:

use the data identifying the first media item in the remote playback queue to retrieve the first media item from the cloud-based media service, and

play back the first media item before playing back any other retrieved media item in the remote playback queue.

27. The system of claim 25 , further comprising program instructions stored on the first tangible, non-transitory computer-readable medium that are executable by the at least one first processor such that the zone player is configured to:

provide, via the first network interface to the cloud-based computing system, an indication that the zone player has successfully taken over the playback responsibility for the remote playback queue.

28. The system of claim 25 , further comprising program instructions stored on the second tangible, non-transitory computer-readable medium that are executable by the at least one second processor such that the cloud-based computing system is configured to:

transmit, to the zone player, an indication that a user has modified the remote playback queue in a manner that impacts the previously provided data identifying the next one or more items in the remote playback queue.

29. The system of claim 25 , wherein the instruction to take over the playback responsibility for the remote playback queue from the client station is received from the cloud-based computing system.

30. A system comprising:

at least one processor;

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 system is configured to:

cause a client station to operate in a first mode in which the client station is configured for playback of a remote playback queue provided by a cloud-based computing system associated with a cloud-based media service;

cause a zone player to take over playback responsibility for the remote playback queue from the client station, wherein causing the zone player to take over playback responsibility comprises transmitting an instruction for the zone player to take over playback responsibility;

cause the zone player to (i) communicate with the cloud-based computing system in order to obtain data identifying a next one or more media items that are in the remote playback queue, (ii) use the obtained data to retrieve at least one media item in the remote playback queue from the cloud-based media service, and (iii) play back the retrieved at least one media item; and

cause the client station to transition from (i) the first mode in which the client station is configured for playback of the remote playback queue to (ii) a second mode in which the client station is configured to control the zone player's playback of the remote playback queue and the client station is no longer configured for playback of the remote playback queue.

Assignments (2)
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: COBURN, ARTHUR, IV; HOADLEY, JONI RAFALSKI
To: SONOS, INC.
Reel/Frame 056791/0815 →
Continuity (6)
Continuation 17019174 · Sep 11, 2020
Continuation 16389906 · Apr 19, 2019
Continuation 15872500 · Jan 16, 2018
Continuation 14520578 · Oct 22, 2014
Continuation 13341237 · Dec 30, 2011
Related Publication 20210136445A1 · May 6, 2021