IP Library › Granted Patent US 11,812,096
Granted Patent B2
US 11,812,096 · App. 18/157,601 · Granted Nov 7, 2023

Access control techniques for media playback systems

Inventors: Keith Thoresz (Belmont, MA); Nathan Fish (Santa Barbara, CA)
Assignee: Sonos, Inc.
H04N21/43615G06F3/167H04N21/4415H04N21/4825H04N21/8113
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,812,096
App. No.
18/157,601
Filed
Jan 20, 2023
Granted
Nov 7, 2023
Kind
B2
Art Unit
2421
USPC
725/25
Abstract

Example access control techniques described herein are intended to enable guest access for a media playback system while maintaining security of the media playback system. An example implementation involves a computing device receiving a request to control a media playback system comprising a playback device. After receiving the request, the computing device obtains access to the media playback system. Obtaining access may involve obtaining a first identifier associated with the media playback system, obtaining a second identifier using the first identifier over a wide area network (WAN) with a computing system, and obtaining a token using the second identifier over the WAN with the computing system. The example implementation further involves receiving a request for the media playback system to perform an operation and causing the media playback system to perform the operation using the token.

Claims (91)

1. A playback device comprising:

one or more amplifiers configured to drive one or more speakers;

one or more network communications interfaces;

at least one processor;

a housing carrying the one or more amplifiers, the one or more network communications interfaces; and the at least one processor; and

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

receive, via the one or more network communications interfaces from a computing device, a request for a first identifier;

obtain the first identifier;

transmit, via the one or more network communications interfaces to the computing device in response to the received request, the first identifier;

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an operation and (2) a token, wherein the token is generated by a computing system when one or more credentials received by the computing system from the computing device are determined to be valid based on the one or more credentials including the first identifier;

determine that the token is valid;

responsive to the determination that the token is valid, identify a set of permitted operations associated with the token;

determine that the operation is within a set of permitted operations associated with the token; and

responsive to the determination that the operation is within the set of permitted operations associated with the token, perform the operation.

2. The playback device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to obtain the first identifier comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

generate the first identifier using a unique identifier associated with the playback device, wherein at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

transmit, via the one or more network communications interfaces to a computing system, the first identifier.

3. The playback device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to obtain the first identifier comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

transmit, via the one or more network communications interfaces to the computing system, a request for the first identifier; and

receive, via the one or more network communications interfaces from the computing system in response to the request, the first identifier.

4. The playback device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to determine that the token is valid comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

determine that the token matches at least one token from a set of known valid tokens stored in data storage; and

determine that the token is valid based on the determination that the token matches at least one token from a set of known valid tokens stored in the data storage.

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

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an additional operation and (2) an additional token;

determine that the additional token is invalid; and

responsive to determining that the additional token is invalid: (1) forego performance of the additional operation and (2) transmit, via the one or more network communications interfaces, an indication that the additional token is invalid.

6. The playback device of claim 5 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to determine that the additional token is invalid comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

determine that the additional token does not match at least one token from a set of known valid tokens stored in data storage, wherein at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

responsive to the determination that the additional token does not match at least one token from the set of known valid tokens stored in data storage, transmit, via the one or more network communications interfaces to the computing system, the additional token;

receive, via the one or more network communications interfaces from the computing system, additional permissions information; and

identify the set of permitted operations associated with the additional token using the additional permissions information.

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

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an additional operation and (2) the token;

determine that the token is valid;

responsive to the determination that the token is valid, identify a set of permitted operations associated with the token;

determine that the additional operation is not within the set of permitted operations associated with the token; and

responsive to the determination that the operation is not within the set of permitted operations associated with the token: (1) forego performance of the additional operation and (2) transmit, via the one or more network communications interfaces, an indication that the token is invalid.

8. The playback device of claim 1 , wherein the operation comprises an operation selected from the group consisting of: playing media, pausing media, increasing volume, decreasing volume, adding media to a playlist, removing media from a playlist, reordering media in a playlist, and skipping media in a playlist.

9. A tangible, non-transitory computer-readable medium comprising program instructions that are executable by at least one processor such that a playback device is configured to:

receive, via one or more network communications interfaces from a computing device, a request for a first identifier;

obtain the first identifier;

transmit, via the one or more network communications interfaces to the computing device in response to the received request, the first identifier;

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an operation and (2) a token, wherein the token is generated by a computing system when one or more credentials received by the computing system from the computing device are determined to be valid based on the one or more credentials including the first identifier;

determine that the token is valid;

responsive to the determination that the token is valid, identify a set of permitted operations associated with the token;

determine that the operation is within a set of permitted operations associated with the token; and

responsive to the determination that the operation is within the set of permitted operations associated with the token, perform the operation.

10. The tangible, non-transitory computer-readable medium of claim 9 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to obtain the first identifier comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

generate the first identifier using a unique identifier associated with the playback device, wherein at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

transmit, via the one or more network communications interfaces to a computing system, the first identifier.

11. The tangible, non-transitory computer-readable medium of claim 9 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to obtain the first identifier comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

transmit, via the one or more network communications interfaces to the computing system, a request for the first identifier; and

receive, via the one or more network communications interfaces from the computing system in response to the request, the first identifier.

12. The tangible, non-transitory computer-readable medium of claim 9 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to determine that the token is valid comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

determine that the token matches at least one token from a set of known valid tokens stored in data storage; and

determine that the token is valid based on the determination that the token matches at least one token from a set of known valid tokens stored in the data storage.

13. The tangible, non-transitory computer-readable medium of claim 9 , wherein the non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an additional operation and (2) an additional token;

determine that the additional token is invalid; and

responsive to determining that the additional token is invalid: (1) forego performance of the additional operation and (2) transmit, via the one or more network communications interfaces, an indication that the additional token is invalid.

14. The tangible, non-transitory computer-readable medium of claim 13 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to determine that the additional token is invalid comprise program instructions that are executable by the at least one processor such that the playback device is configured to:

determine that the additional token does not match at least one token from a set of known valid tokens stored in data storage, wherein at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

responsive to the determination that the additional token does not match at least one token from the set of known valid tokens stored in data storage, transmit, via the one or more network communications interfaces to the computing system, the additional token;

receive, via the one or more network communications interfaces from the computing system, additional permissions information; and

identify the set of permitted operations associated with the additional token using the additional permissions information.

15. The tangible, non-transitory computer-readable medium of claim 9 , wherein the non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the playback device is configured to:

receive, via the one or more network communications interfaces from the computing device, (1) a request to perform an additional operation and (2) the token;

determine that the token is valid;

responsive to the determination that the token is valid, identify a set of permitted operations associated with the token;

determine that the additional operation is not within the set of permitted operations associated with the token; and

responsive to the determination that the operation is not within the set of permitted operations associated with the token: (1) forego performance of the additional operation and (2) transmit, via the one or more network communications interfaces, an indication that the token is invalid.

16. The tangible, non-transitory computer-readable medium of claim 9 , wherein the operation comprises an operation selected from the group consisting of: playing media, pausing media, increasing volume, decreasing volume, adding media to a playlist, removing media from a playlist, reordering media in a playlist, and skipping media in a playlist.

17. A method to be performed by a playback device, the method comprising:

receiving, via one or more network communications interfaces from a computing device, a request for a first identifier;

obtaining the first identifier;

transmitting, via the one or more network communications interfaces to the computing device in response to the received request, the first identifier;

receiving, via the one or more network communications interfaces from the computing device, (1) a request to perform an operation and (2) a token, wherein the token is generated by a computing system when one or more credentials received by the computing system from the computing device are determined to be valid based on the one or more credentials including the first identifier;

determining that the token is valid;

responsive to determining that the token is valid, identifying a set of permitted operations associated with the token;

determining that the operation is within a set of permitted operations associated with the token; and

responsive to determining that the operation is within the set of permitted operations associated with the token, performing the operation.

18. The method of claim 17 , wherein obtaining the first identifier comprises:

generating the first identifier using a unique identifier associated with the playback device, wherein the method further comprises:

transmitting, via the one or more network communications interfaces to a computing system, the first identifier.

19. The method of claim 17 , wherein obtaining the first identifier comprises:

transmitting, via the one or more network communications interfaces to the computing system, a request for the first identifier; and

receiving, via the one or more network communications interfaces from the computing system in response to the request, the first identifier.

20. The method of claim 17 , wherein determining that the token is valid comprises:

determining that the token matches at least one token from a set of known valid tokens stored in data storage; and

determining that the token is valid based on the determination that the token matches at least one token from a set of known valid tokens stored in the data storage.

Assignments (2)
SECURITY INTEREST Recorded Jan 30, 2026
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074533/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: THORESZ, KEITH; FISH, NATHAN
To: SONOS, INC.
Reel/Frame 062450/0308 →
Continuity (3)
Continuation 17527887 · Nov 16, 2021
Continuation 16372014 · Apr 1, 2019
Related Publication 20230156270A1 · May 18, 2023