IP Library › Granted Patent US 9,648,071
Granted Patent B2
US 9,648,071 · App. 15/130,672 · Granted May 9, 2017

Cloud queue playhead

Inventor: Arthur L. Coburn, IV (Lexington, MA)
Assignee: Sonos, Inc.
H04L65/602G05B15/02G06F3/16G06F3/165G06F17/30058H04H60/80H04L41/22H04L63/08H04L63/105H04L65/1003H04L65/4084H04L65/60H04L65/608H04L67/10H04L67/1095H04L67/12H04L67/325H04N21/25816H04N21/26258H04N21/4325H04N21/43615H04N21/4825H04N21/6377H04N21/654H04N21/658H04N21/8113H04N21/8455H04R27/00H04R2227/005
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 9,648,071
App. No.
15/130,672
Filed
Apr 15, 2016
Granted
May 9, 2017
Kind
B2
Art Unit
2656
USPC
700/94
Abstract

An example implementation may involve a computing system receiving, from a media playback system over the network interface, a request to initiate playback of the particular cloud queue at a first media item. The computing system assigns a playhead pointer to a position within the particular cloud queue that corresponds to the first media item and transmits, to the media playback system over the network interface, an instruction that causes one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item. While the one or more playback devices play back the particular cloud queue, the computing system updates the assigned position of the playhead pointer to indicate the currently playing media item of the particular cloud queue.

Claims (54)

1. A method comprising:

receiving, via a computing system from a media playback system over a network interface, a request to initiate playback of a particular cloud queue at a first media item, wherein the particular cloud queue is accessible to the media playback system over a wide area network; wherein media items of the particular cloud queue are playable by one or more playback devices of the media playback system;

assigning, via the computing system, a playhead pointer to a position within the particular cloud queue that corresponds to the first media item;

transmitting, via the computing system to the media playback system over the network interface, an instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item;

receiving, via the computing system over the network interface, an indication that a local playhead pointer of the media playback system is assigned to a position that corresponds to a second media item; and

updating, via the computing system, the assigned position of the playhead pointer to indicate the position with the particular cloud queue that corresponds to the second media item.

2. The method of claim 1 , wherein the media playback system comprises a local queue that is stored on a given playback device of the media playback system, the local queue indicating one or more media items of the particular cloud queue including the first media item, and wherein transmitting the instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item comprises transmitting an instruction that causes the media playback system to assign the local playhead pointer to a position within the local queue that corresponds to the assigned position of the playhead pointer within the particular cloud queue.

3. The method of claim 2 , wherein transmitting the instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item comprises causing the one or more playback device to initiate playback of the first media item of the particular cloud queue via the local queue.

4. The method of claim 2 , further comprising:

receiving, over the network interface, a request to subscribe the media playback system to the particular cloud queue; and

based on receiving the request to subscribe the media playback system to the particular cloud queue, causing the media playback system to establish the local queue in a data storage of a given playback device, wherein the local queue corresponds to the particular cloud queue.

5. The method of claim 4 , wherein the media playback system is a first media playback system that is associated with a first user account and the one or more playback devices are one or more first playback devices, and wherein the method further comprises:

receiving, over the network interface, a request to subscribe a second media playback system to the particular cloud queue, wherein the second media playback system is associated with a second user account and comprises one or more second playback devices; and

based on receiving the request to subscribe the media playback system to the particular cloud queue, causing the second media playback system to establish a local queue in a data storage of a given second playback device, wherein the local queue corresponds to the particular cloud queue.

6. The method of claim 5 , wherein the first media playback system is associated with an owner status that authorizes the first media playback system perform a first set of operations comprising (i) playback of the particular cloud queue via the local queue of the first media playback system and (ii) manipulation of the assigned position of the playhead pointer, wherein the second media playback system is associated with a subscriber status that authorizes the second media playback system perform a second set of operations comprising playback of the particular cloud queue via the local queue of the second media playback system and excluding manipulation of the assigned position of the playhead pointer, and wherein the method further comprises:

transmitting, over the network interface, (i) an instruction that restricts the first media playback system to the first set of operations and (ii) an instruction that restricts the second media playback system to the first set of operations.

7. The method of claim 1 , further comprising:

while the particular cloud queue is being played back, updating the assigned position of the playhead pointer to indicate the currently playing media item.

8. The method of claim 7 , wherein updating the assigned position of the playhead pointer to indicate the currently playing media item comprises:

when updating the assigned position of the playhead pointer, transmitting an indication of the assigned position of the playhead pointer to the media playback system.

9. The method of claim 1 , wherein the particular cloud queue is one of a plurality of cloud queues stored in data storage accessible to the computing system, and wherein receiving the request to initiate playback of the particular cloud queue at the first media item comprises receiving an identifier that identifies the particular cloud queue from among the plurality of cloud queues stored in data storage accessible to the computing system.

10. The method of claim 1 , wherein transmitting, to the media playback system over the network interface, the instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item comprises transmitting an universal resource identifier that cause the one or more playback devices to play the first media item from a network source indicated by the universal resource identifier.

11. A playback device comprising:

a network interface;

a data storage;

one or more processors; and

computer-readable media having instructions encoded therein, wherein the instructions, when executed by the one or more processors, cause the playback device to perform a method comprising:

transmitting, to a computing system over the network interface, a request to initiate playback of a particular cloud queue at a first media item, wherein the particular cloud queue is accessible to the playback device over a wide area network;

assigning a local playhead pointer to a position within a local queue that corresponds to the first media item, wherein each position within the local queue corresponds to a respective media item, and wherein the local queue is stored in the data storage;

initiating playback of the particular cloud queue at the first media item via the local queue; and

when a second media item of the particular cloud queue is played back, updating the assigned position of the local playhead pointer to indicate the second media item.

12. The playback device of claim 11 , wherein the method further comprises:

receiving an instruction to play back a particular media item of the particular cloud queue that is different from the first media item or second media item; and

based on receiving the instruction to playback the particular media item of the particular cloud queue, updating the assigned position of the local playhead pointer within the local queue to indicate the particular media item of the particular cloud queue and transmitting, over the network interface, an indication of the assigned position of the local playhead pointer within the local queue to cause the computing system to update a position of a playhead pointer associated with the particular cloud queue.

13. The playback device of claim 11 , wherein receiving the instruction to play back the particular media item of the particular cloud queue comprises one of: receiving input data indicating a skip forward or skip backward request or receiving input data indicating a selection of the particular media item.

14. The playback device of claim 11 , wherein the method further comprises:

transmitting, over the network interface to the computing system, a request to subscribe the playback device to the particular cloud queue; and

after transmitting the request to subscribe the playback device to the particular cloud queue, receiving, over the network interface; an indication of one or more media items from the particular cloud queue; and

causing the one or more media items to be queued in the local queue.

15. The playback device of claim 14 , wherein the method further comprises:

establishing the local queue in the data storage in response to receiving the indication of one or more media items from the particular cloud queue.

16. Tangible, non-transitory, computer-readable media having instructions encoded therein, wherein the instructions, when executed by one or more processors, cause a computing system to perform a method comprising:

receiving, from a media playback system over a network interface, a request to initiate playback of a particular cloud queue at a first media item, wherein the particular cloud queue is accessible to the media playback system over a wide area network; wherein the media playback system comprises one or more playback devices;

assigning a playhead pointer to a position within the particular cloud queue that corresponds to the first media item, wherein each position within the particular cloud queue corresponds to a respective media item;

transmitting, to the media playback system over the network interface, an instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item;

receiving, over the network interface, an indication that a local playhead pointer of the media playback system is assigned to a position that corresponds to a second media item; and

updating the assigned position of the playhead pointer to indicate the position with the particular cloud queue that corresponds to the second media item.

17. The tangible, non-transitory, computer-readable media of claim 16 , wherein the media playback system comprises a local queue that is stored on a given playback device of the media playback system, the local queue indicating one or more media items of the particular cloud queue including the first media item, and wherein transmitting the instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item comprises transmitting an instruction that causes the media playback system to assign the local playhead pointer to a position within the local queue that corresponds to the assigned position of the playhead pointer within the particular cloud queue.

18. The tangible, non-transitory, computer-readable media of claim 17 , wherein transmitting the instruction that causes the one or more playback devices of the media playback system to initiate playback of the particular cloud queue at the first media item comprises causing the one or more playback device to initiate playback of the first media item of the particular cloud queue via the local queue.

19. The tangible, non-transitory, computer-readable media of claim 17 , wherein the media playback system is a first media playback system that is associated with a first user account and the one or more playback devices are one or more first playback devices, and wherein the method further comprises:

receiving, over the network interface, a request to subscribe a second media playback system to the particular cloud queue, wherein the second media playback system is associated with a second user account and comprises one or more second playback devices; and

based on receiving the request to subscribe the media playback system to the particular cloud queue, causing the second media playback system to establish a local queue in a data storage of a given second playback device, wherein the local queue corresponds to the particular cloud queue.

20. The tangible, non-transitory, computer-readable media of claim 16 , wherein the method further comprises:

while the particular cloud queue is being played back, updating the assigned position of the playhead pointer to indicate the currently playing media item.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: SONOS, INC.
Reel/Frame 058213/0597 →
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
SECURITY INTEREST Recorded Aug 30, 2018
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 046991/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2016
From: COBURN, ARTHURL L., IV
To: SONOS, INC.
Reel/Frame 038296/0786 →
Continuity (3)
Continuation 14616364 · Feb 6, 2015
Provisional Application 62007906 · Jun 4, 2014
Related Publication 20160231985A1 · Aug 11, 2016