IP Library › Granted Patent US 9,967,246
Granted Patent B2
US 9,967,246 · App. 15/288,754 · Granted May 8, 2018

Cloud queue access control

Inventors: Steven Beckhardt (Boston, MA); Andrew J. Schulert (Cambridge, MA); Gregory Ramsperger (Somerville, MA)
Assignee: Sonos, Inc.
H04L63/08G05B15/02G06F3/16G06F3/165G06F17/30058H04H60/80H04L41/22H04L63/105H04L65/1003H04L65/4069H04L65/4084H04L65/60H04L65/602H04L65/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,967,246
App. No.
15/288,754
Filed
Oct 7, 2016
Granted
May 8, 2018
Kind
B2
Art Unit
2656
USPC
700/94
Abstract

Techniques relate to a cloud queue facilitating access to a cloud queue via an authorization token. In an example implementation, a computing system receives, over a network interface from a media playback system, an authorization token corresponding to a cloud queue of media items at the computing system and a request by the media playback system for access to the cloud queue of media items. The computing system determines that the authorization token is valid and in response to the determination, provides, to the media playback system, the requested access to the cloud queue of media items, the providing comprising transmitting information associated with at least one of the media items of the cloud queue. Thereafter, the computing system determines that the media playback system is eligible for a renewed authorization token and, in response, transmits, to the media playback system, the renewed authorization token.

Claims (72)

1. A tangible, non-transitory computer-readable medium storing instructions that when executed by one or more processors cause a computing system to perform functions comprising:

receiving, over a network interface from a media playback system, an authorization token corresponding to a cloud queue of media items at the computing system and a request by the media playback system for access to the cloud queue of media items, wherein the media playback system is remote from the computing system;

determining that the authorization token is valid;

in response to determining that the authorization token is valid, providing, to the media playback system, the requested access to the cloud queue of media items, the providing comprising transmitting information associated with a window of media items from the cloud queue to cause the window of media items from the cloud queue to be queued in a local queue at the media playback system, the window of media items including a particular media item corresponding to a position of a playhead and at least one additional media item subsequent to the particular media item;

determining that the media playback system is eligible for a renewed authorization token; and

in response to determining that the media playback system is eligible for the renewed authorization token, transmitting, to the media playback system, the renewed authorization token.

2. The tangible, non-transitory computer-readable medium of claim 1 , wherein the authorization token is a first authorization token, wherein the cloud queue is a first cloud queue, wherein the renewed authorization token is a renewed first authorization token, and wherein the functions further comprise:

receiving, over the network interface from the media playback system, a second authorization token corresponding to a second cloud queue of media items;

determining that the second authorization token is expired; and

in response to determining that the second authorization token is expired, transmitting, to the media playback system, an indication that the second authorization token is expired.

3. The tangible, non-transitory computer-readable medium of claim 2 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, a request for a renewed second authorization token;

determining that the media playback system is eligible for the renewed second authorization token; and

transmitting, over the network interface to the media playback system, the renewed second authorization token corresponding to the second cloud queue of media items.

4. The tangible, non-transitory computer-readable medium of claim 3 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, the renewed second authorization token corresponding to the second cloud queue of media items and a second request for access by the media playback system to the second cloud queue of media items;

determining that the renewed second authorization token is valid; and

providing, to the media playback system, the requested access to the second cloud queue of media items.

5. The tangible, non-transitory computer-readable medium of claim 1 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, playback data, and

wherein determining that the media playback system is eligible for the renewed authorization token comprises determining that the media playback system is eligible for the renewed authorization token based on the playback data.

6. The tangible, non-transitory computer-readable medium of claim 1 , wherein determining that the authorization token is valid comprises:

determining that the cloud queue has been played back for less than a threshold duration of time.

7. The tangible, non-transitory computer-readable medium of claim 1 , wherein the authorization token is associated with a set of access rights, wherein set of access rights associated with the authorization token comprise playback rights that permit playback of the media items of the cloud queue.

8. A method comprising:

receiving, via a computing system over a network interface from a media playback system, an authorization token corresponding to a cloud queue of media items at the computing system and a request by the media playback system for access to the cloud queue of media items, wherein the computing system is remote from the media playback system;

determining, via the computing system, that the authorization token is valid;

in response to determining that the authorization token is valid, providing, via the computing system to the media playback system, the requested access of the cloud queue of media items, the providing comprising transmitting information associated with a window of media items from the cloud queue to cause the window of media items from the cloud queue to be queued in a local queue at the media playback system, the window of media items including a particular media item corresponding to a position of a playhead and at least one additional media item subsequent to the particular media item;

determining that the media playback system is eligible for a renewed authorization token; and

in response to determining that the media playback system is eligible for the renewed authorization token, transmitting, via the computing system to the media playback system, the renewed authorization token.

9. The method of claim 8 , wherein the authorization token is a first authorization token, wherein the cloud queue is a first cloud queue, wherein the renewed authorization token is a renewed first authorization token, and wherein the method further comprises:

receiving, via the computing system over the network interface from the media playback system, a second authorization token corresponding to a second cloud queue of media items;

determining, via the computing system, that the second authorization token is expired; and

in response to determining that the second authorization token is expired, transmitting, via the computing system to the media playback system, an indication that the second authorization token is expired.

10. The method of claim 9 , further comprising:

receiving, via the computing system over the network interface from the media playback system, a request for a renewed second authorization token;

determining, via the computing system, that the media playback system is eligible for the renewed second authorization token; and

transmitting, via the computing system over the network interface to the media playback system, the renewed second authorization token.

11. The method of claim 10 , further comprising:

receiving, via the computing system over the network interface from the media playback system, the renewed second authorization token corresponding to the second cloud queue of media items and a second request for access by the media playback system to the second cloud queue of media items;

determining, via the computing system, that the renewed second authorization token is valid; and

providing, via the computing system to the media playback system the requested access to the second cloud queue of media items.

12. The method of claim 8 , further comprising:

receiving, via the computing system over the network interface from the media playback system, playback data, and wherein determining that the media playback system is eligible for the renewed authorization token comprises determining that the media playback system is eligible for the renewed authorization token based on the playback data.

13. The method of claim 8 , wherein determining that the authorization token is valid comprises:

determining that the cloud queue has been played back for less than a threshold duration of time.

14. The method of claim 8 , wherein the authorization token is associated with a set of access rights, wherein set of access rights associated with the authorization token comprise playback rights that permit playback of the media items of the cloud queue.

15. A computing system comprising:

one or more processors; and

one or more computer readable mediums storing instructions that when executed by the one or more processors cause the computing system to perform functions comprising:

receiving, over a network interface from a media playback system, an authorization token corresponding to a cloud queue of media items at the computing system and a request by the media playback system for access to the cloud queue of media items, wherein the computing system is remote from the media playback system;

determining that the authorization token is valid;

in response to determining that the authorization token is valid, providing, to the media playback system, the requested access of the cloud queue of media items, the providing comprising transmitting information associated with a window of media items from the cloud queue to cause the window of media items from the cloud queue to be queued in a local queue at the media playback system, the window of media items including a particular media item corresponding to a position of a playhead and at least one additional media item subsequent to the particular media item;

determining that the media playback system is eligible for a renewed authorization token; and

in response to determining that the media playback system is eligible for the renewed authorization token, transmitting, to the media playback system, the renewed authorization token.

16. The computing system of claim 15 , wherein the authorization token is a first authorization token, wherein the cloud queue is a first cloud queue, wherein the renewed authorization token is a renewed first authorization token, and wherein the functions further comprise:

receiving, over the network interface from the media playback system, a second authorization token corresponding to a second cloud queue of media items;

determining that the second authorization token is expired; and

in response to determining that the second authorization token is expired, transmitting, to the media playback system, an indication that the second authorization token is expired.

17. The computing system of claim 16 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, a request for a renewed second authorization token;

determining that the media playback system is eligible for the renewed second authorization token; and

transmitting, over the network interface to the media playback system, the renewed second authorization token.

18. The computing system of claim 17 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, the renewed second authorization token corresponding to the second cloud queue of media items and a second request for access by the media playback system to the second cloud queue of media items;

determining that the renewed second authorization token is valid; and

providing, to the media playback system the requested access to the second cloud queue of media items.

19. The computing system of claim 15 , wherein the functions further comprise:

receiving, over the network interface from the media playback system, playback data, and

wherein determining that the media playback system is eligible for the renewed authorization token comprises determining that the media playback system is eligible for the renewed authorization token based on the playback data.

20. The computing system of claim 15 , wherein determining that the authorization token is valid comprises:

determining that the cloud queue has been played back for less than a threshold duration of time.

Assignments (5)
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 Oct 7, 2016
From: BECKHARDT, STEVEN; SCHULERT, ANDREW J.
To: SONOS, INC.
Reel/Frame 039968/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2016
From: RAMSPERGER, GREGORY
To: SONOS, INC.
Reel/Frame 039968/0541 →
Continuity (3)
Continuation 14616310 · Feb 6, 2015
Provisional Application 62007906 · Jun 4, 2014
Related Publication 20170026430A1 · Jan 26, 2017