IP Library Granted Patent US 12,493,663
Granted Patent B2
US 12,493,663 · App. 18/473,160 · Granted Dec 9, 2025

Dynamic content recommendations

Inventors: Sein Woo (Whittier, CA); Bona Kim (Boston, MA)
Assignee: Sonos, Inc.
G06F16/9535G06F3/0482G06F16/4387G06Q30/0269
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 12,493,663
App. No.
18/473,160
Granted
Dec 9, 2025
Kind
B2
Abstract

A computing device may be configured to (i) operate as a control device of a media playback system including first and second playback devices, each associated with a respective playback queue, (ii) determine that a first playback queue associated with the first playback device is empty, (iii) based on the determination, determine content recommendations based on context information related to the first playback device, (iv) display indications of the first and second playback devices, where (a) the indication of the second playback device indicates media content identified in a second playback queue associated with the second playback device, and (b) the indication of the first playback device includes a selectable indication for each content recommendation for the first playback queue, (v) receive a selection of a content recommendation, and (vi) based on the received input, populate the first playback queue with media content corresponding to the selected content recommendation.

Claims (58)

1 . A computing device comprising:

at least one processor;

non-transitory computer-readable medium; and

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

operate as a control device of a media playback system comprising at least a first playback device and a second playback device, each playback device associated with a respective playback queue;

determine that a first playback queue associated with the first playback device is empty;

based on the determination that the first playback queue is empty, determine one or more content recommendations for the first playback queue based on context information related to the first playback device;

display an interface comprising respective indications of the first playback device and the second playback device, wherein:

the indication of the second playback device includes an indication of media content identified in a second playback queue associated with the second playback device; and

the indication of the first playback device includes a respective selectable indication for each of the determined one or more content recommendations for the first playback queue;

receive an input via the interface that comprises the respective indications of the first playback device and the second playback device, the input indicating a selection of a given selectable indication for a given content recommendation of the one or more content recommendations for the first playback queue; and

based on the received input, populate the first playback queue with media content corresponding to the given content recommendation.

2 . 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 determine one or more content recommendations for the first playback queue based on context information related to the first playback device comprise program instructions that are executable by the at least one processor such that the computing device is configured to determine two or more content recommendations for the first playback queue, and wherein the indication of the first playback device includes an indication of the determined two or more content recommendations for the first playback queue.

3 . The computing device of claim 1 , wherein the context information related to the first playback device comprises one or more of a playback history of the first playback device, a day, a time, a name assigned to the first playback device, or a media playback system user account associated with the computing device.

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

receive one or more inputs indicating preference information related to content recommendations, wherein the context information related to the first playback device comprises the preference information.

5 . 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 determine one or more content recommendations for the first playback queue based on context information related to the first playback device comprise program instructions that are executable by the at least one processor such that the computing device is configured to determine one or more advertisements based on context information related to the first playback device, and wherein the indication of the determined one or more content recommendations comprises an indication of the one or more advertisements.

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

receive an input indicating a selection of a given advertisement of the one or more advertisements; and

based on the received input, cause the first playback device to play back media content corresponding to the given advertisement.

7 . The computing device of claim 1 , wherein the first playback device is a member of a synchrony group that includes at least a third playback device, and wherein the first playback queue is associated with the synchrony group.

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 determine one or more content recommendations for the first playback queue based on context information related to the first playback device comprise program instructions that are executable by the at least one processor such that the computing device is configured to receive, from a cloud-based computing system, the one or more content recommendations for the first playback queue.

9 . The computing device of claim 1 , wherein the respective selectable indication for each of the determined one or more content recommendations for the first playback queue is assignable, via the displayed interface, to a playback queue of the media playback system other than the first playback queue.

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

receive one or more inputs collectively indicating (i) a selection of the given selectable indication for the given content recommendation of the one or more content recommendations for the first playback queue and (ii) an assignment of the given content recommendation to the second playback device; and

based on the received one or more inputs, replace the media content identified in the second playback queue with media content corresponding to the given content recommendation.

11 . 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 determine that a first playback queue associated with the first playback device is empty comprise program instructions that are executable by the at least one processor such that the computing device is configured to determine that previously-available content identified in the first playback queue is no longer available; and

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

update the indication of the first playback device to (i) remove an indication of the previously-available content and (ii) include an indication of an empty queue.

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:

operate as a control device of a media playback system comprising at least a first playback device and a second playback device, each playback device associated with a respective playback queue;

determine that a first playback queue associated with the first playback device is empty;

based on the determination that the first playback queue is empty, determine one or more content recommendations for the first playback queue based on context information related to the first playback device;

display an interface comprising respective indications of the first playback device and the second playback device, wherein:

the indication of the second playback device includes an indication of media content identified in a second playback queue associated with the second playback device; and

the indication of the first playback device includes a respective selectable indication for each of the determined one or more content recommendations for the first playback queue;

receive an input via the interface that comprises the respective indications of the first playback device and the second playback device, the input indicating a selection a given selectable indication for of a given content recommendation of the one or more content recommendations for the first playback queue; and

based on the received input, populate the first playback queue with media content corresponding to the given content recommendation.

13 . 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 determine one or more content recommendations for the first playback queue based on context information related to the first playback device comprise program instructions that, when executed by at least one processor, cause the computing device to determine two or more content recommendations for the first playback queue, and wherein the indication of the first playback device includes an indication of the determined two or more content recommendations for the first playback queue.

14 . The non-transitory computer-readable medium of claim 12 , wherein the context information related to the first playback device comprises one or more of a playback history of the first playback device, a day, a time, a name assigned to the first playback device, or a media playback system user account associated with the computing device.

15 . The non-transitory computer-readable medium of claim 12 , wherein the first playback device is a member of a synchrony group that includes at least a third playback device, and wherein the first playback queue is associated with the synchrony group.

16 . 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 determine one or more content recommendations for the first playback queue based on context information related to the first playback device comprise program instructions that, when executed by at least one processor, cause the computing device to receive, from a cloud-based computing system, the one or more content recommendations for the first playback queue.

17 . The non-transitory computer-readable medium of claim 12 , wherein the respective selectable indication for each of the determined one or more content recommendations for the first playback queue is assignable, via the displayed interface, to a playback queue of the media playback system other than the first playback queue.

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

receive one or more inputs collectively indicating (i) a selection of the given selectable indication for the given content recommendation of the one or more content recommendations for the first playback queue and (ii) an assignment of the given content recommendation to the second playback device; and

based on the received one or more inputs, replace the media content identified in the second playback queue with media content corresponding to the given content recommendation.

19 . 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 determine that a first playback queue associated with the first playback device is empty comprise program instructions that, when executed by at least one processor, cause the computing device to determine that previously-available content identified in the first playback queue is no longer available; and

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

update the indication of the first playback device to (i) remove an indication of the previously-available content and (ii) include an indication of an empty queue.

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

operating as a control device of a media playback system comprising at least a first playback device and a second playback device, each playback device associated with a respective playback queue;

determining that a first playback queue associated with the first playback device is empty;

based on the determination that the first playback queue is empty, determining one or more content recommendations for the first playback queue based on context information related to the first playback device;

displaying an interface comprising respective indications of the first playback device and the second playback device, wherein:

the indication of the second playback device includes an indication of media content identified in a second playback queue associated with the second playback device; and

the indication of the first playback device includes a respective selectable indication for each of the determined one or more content recommendations for the first playback queue;

receiving an input via the interface that comprises the respective indications of the first playback device and the second playback device, the input indicating a selection of a given selectable indication for a given content recommendation of the one or more content recommendations for the first playback queue; and

based on the received input, populating the first playback queue with media content corresponding to the given content recommendation.

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 Mar 21, 2024
From: WOO, SEIN; KIM, BONA
To: SONOS, INC.
Reel/Frame 066859/0503 →
Continuity (2)
Provisional Application 63409675 · Sep 23, 2022
Related Publication 20240104151A1 · Mar 28, 2024
References Cited (66)
US 5440644A · Farinelli et al. · 1995 [cited by applicant]
US 5761320A · Farinelli et al. · 1998 [cited by applicant]
US 5923902A · Inagaki · 1999 [cited by applicant]
US 6032202A · Lea et al. · 2000 [cited by applicant]
US 6256554B1 · DiLorenzo · 2001 [cited by applicant]
US 6404811B1 · Cvetko et al. · 2002 [cited by applicant]
US 6469633B1 · Wachter · 2002 [cited by applicant]
US 6522886B1 · Youngs et al. · 2003 [cited by applicant]
US 6611537B1 · Edens et al. · 2003 [cited by applicant]
US 6631410B1 · Kowalski et al. · 2003 [cited by applicant]
US 6757517B2 · Chang · 2004 [cited by applicant]
US 6778869B2 · Champion · 2004 [cited by applicant]
US 7130608B2 · Hollstrom et al. · 2006 [cited by applicant]
US 7130616B2 · Janik · 2006 [cited by applicant]
US 7143939B2 · Henzerling · 2006 [cited by applicant]
US 7236773B2 · Thomas · 2007 [cited by applicant]
US 7295548B2 · Blank et al. · 2007 [cited by applicant]
US 7391791B2 · Balassanian et al. · 2008 [cited by applicant]
US 7483538B2 · McCarty et al. · 2009 [cited by applicant]
US 7571014B1 · Lambourne et al. · 2009 [cited by applicant]
US 7630501B2 · Blank et al. · 2009 [cited by applicant]
US 7643894B2 · Braithwaite et al. · 2010 [cited by applicant]
US 7657910B1 · McAulay et al. · 2010 [cited by applicant]
US 7853341B2 · McCarty et al. · 2010 [cited by applicant]
US 7987294B2 · Bryce et al. · 2011 [cited by applicant]
US 8014423B2 · Thaler et al. · 2011 [cited by applicant]
US 8045952B2 · Qureshey et al. · 2011 [cited by applicant]
US 8103009B2 · McCarty et al. · 2012 [cited by applicant]
US 8234395B2 · Millington · 2012 [cited by applicant]
US 8483853B1 · Lambourne · 2013 [cited by applicant]
US 8942252B2 · Balassanian et al. · 2015 [cited by applicant]
US 20010042107A1 · Palm · 2001 [cited by applicant]
US 20020022453A1 · Balog et al. · 2002 [cited by applicant]
US 20020026442A1 · Lipscomb et al. · 2002 [cited by applicant]
US 20020124097A1 · Isely et al. · 2002 [cited by applicant]
US 20030157951A1 · Hasty, Jr. · 2003 [cited by applicant]
US 20040024478A1 · Hans et al. · 2004 [cited by applicant]
US 20070142944A1 · Goldberg et al. · 2007 [cited by applicant]
US 20140108585A1 · Barton · 2014 [cited by examiner]
US 20200192558A1 · Chase · 2020 [cited by examiner]
US 20210176531A1 · Larson · 2021 [cited by examiner]
US 20220075505A1 · Herzog · 2022 [cited by examiner]
US 20230106600A1 · Coffman · 2023 [cited by examiner]
EP 1389853A1 · 2004 [cited by applicant]
WO 200153994 · 2001 [cited by applicant]
WO 2003093950A2 · 2003 [cited by applicant]
AudioTron Quick Start Guide, Version 1.0, Mar. 2001, 24 pages. [cited by applicant]
AudioTron Reference Manual, Version 3.0, May 2002, 70 pages. [cited by applicant]
AudioTron Setup Guide, Version 3.0, May 2002, 38 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: The ad hoc SCATTERNET for affordable and highly functional wireless connectivity,” Core, Version 1.0 A, Jul. 26, 1999, 1068 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: Wireless connections made easy,” Core, Version 1.0 B, Dec. 1, 1999, 1076 pages. [cited by applicant]
Dell, Inc. “Dell Digital Audio Receiver: Reference Guide,” Jun. 2000, 70 pages. [cited by applicant]
Dell, Inc. “Start Here,” Jun. 2000, 2 pages. [cited by applicant]
“Denon 2003-2004 Product Catalog,” Denon, 2003-2004, 44 pages. [cited by applicant]
Jo et al., “Synchronized One-to-many Media Streaming with Adaptive Playout Control,” Proceedings of SPIE, 2002, pp. 71-82, vol. 4861. [cited by applicant]
Jones, Stephen, “Dell Digital Audio Receiver: Digital upgrade for your analog stereo,” Analog Stereo, Jun. 24, 2000 http://www.reviewsonline.com/articles/961906864.htm retrieved Jun. 18, 2014, 2 pages. [cited by applicant]
Louderback, Jim, “Affordable Audio Receiver Furnishes Homes With MP3,” TechTV Vault. Jun. 28, 2000 retrieved Jul. 10, 2014, 2 pages. [cited by applicant]
Palm, Inc., “Handbook for the Palm VII Handheld,” May 2000, 311 pages. [cited by applicant]
Presentations at WinHEC 2000, May 2000, 138 pages. [cited by applicant]
[cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 60/490,768, filed Jul. 28, 2003, entitled “Method for synchronizing audio playback between multiple networked devices,” 13 pages. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 60/825,407, filed Sep. 12, 2006, entitled “Controlling and manipulating groupings in a multi-zone music or media system,” 82 pages. [cited by applicant]
UPnP; “Universal Plug and Play Device Architecture,” Jun. 8, 2000; version 1.0; Microsoft Corporation; pp. 1-54. [cited by applicant]
Yamaha DME 64 Owner's Manual; copyright 2004, 80 pages. [cited by applicant]
Yamaha DME Designer 3.5 setup manual guide; copyright 2004, 16 pages. [cited by applicant]
Yamaha DME Designer 3.5 User Manual; Copyright 2004, 507 pages. [cited by applicant]