IP Library Granted Patent US 9,485,545
Granted Patent B2
US 9,485,545 · App. 14/330,694 · Granted Nov 1, 2016

Inconsistent queues

Inventor: Arthur L. Coburn, IV (Lexington, MA)
Assignee: Sonos, Inc.
H04N21/8113H04N21/43615H04N21/4583H04N21/4825
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,485,545
App. No.
14/330,694
Granted
Nov 1, 2016
Kind
B2
Abstract

Embodiments described herein may involve inconsistent queues. An example implementation may involve sending, to a playback device of a media playback system, a queue update message indicating a queue identification that indicates a first version of a playback queue at the playback device, and a playlist at the computing device. Thereafter, the implementation may involve receiving an error message indicating that the queue identification indicated in the queue update message has been superseded by a queue identification that indicates a second version of the playback queue at the playback device. Based on the received error message, the implementation may involve determining that the playlist at the computing device is different from the playback queue of the playback device. Based on the determination, the implementation may involve causing second one or more media items in the playback queue to be replaced with first one or more media items in the playlist.

Claims (60)

1. A computing device comprising:

a network interface;

a graphical display;

a processor;

a data storage; and

a program logic stored in the data storage and executable by the processor to:

send, to a playback device of a media playback system, a queue update message indicating (i) a queue identification that indicates a first version of a playback queue at the playback device, and (ii) a playlist at the computing device, wherein the playlist indicates first one or more media items in a first order;

thereafter, receive an error message indicating that the queue identification indicated in the queue update message has been superseded by a queue identification that indicates a second version of the playback queue at the playback device;

based on the received error message indicating that the queue identification indicated in the queue update message has been superseded by the queue identification that indicates the second version of the playback queue at the playback device, determine that the playlist at the computing device is different from the playback queue of the playback device, wherein the playback queue indicates second one or more media items in a second order; and

based on the determination that the playlist at the computing device is different from the playback queue of the playback device, cause the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist.

2. The computing device of claim 1 , wherein the program logic is further executable to:

detect input that requests an alteration to the playlist at the computing device, wherein the alteration to the playlist comprises one or more of (i) a modification of the first one or more media items and (ii) a modification of the first order of the first one or more media items; and

based on the detected input that requests the alteration to the playlist at the computing device, perform the alteration to the playlist at the computing device, wherein the computing device sends the queue update message based on the performed alteration to the playlist at the computing device.

3. The computing device of claim 1 , wherein the program logic is further executable to:

after causing the first one or more media items in the playback queue to be replaced with the second one or more media items in the playlist, cause the graphical display to display an indication that first one or more media items in the playlist are in the playback queue at the playback device.

4. The computing device of claim 1 , wherein the program logic is further executable to:

before sending the queue update message, receive a queue identification update message from the media playback system indicating the queue identification which indicates the first version of the playback queue.

5. The computing device of claim 4 , wherein the program logic is further executable to:

after receiving the queue identification update message, update a queue identification at the playback device to indicate the first version of the playback queue.

6. The computing device of claim 1 , wherein the program logic executable to cause the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist comprises program logic executable to:

determine a first media item in the playback queue that is being played by the media playback system; and

before causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist, allow the first media item to finish playback.

7. The computing device of claim 1 , wherein the program logic is further executable to:

after causing the second one or more media items in the playback queue at the playback device to be replaced with the first one or more media items in the playlist, receive from the playback device, an indication that the playback queue at the playback device matches the playlist at the computing device.

8. A method comprising:

sending, by a computing device to a playback device of a media playback system, a queue update message indicating (i) a queue identification that indicates a first version of a playback queue at the playback device, and (ii) a playlist at the computing device, wherein the playlist indicates first one or more media items in a first order;

thereafter, receiving by the computing device an error message indicating that the queue identification indicated in the queue update message has been superseded by a queue identification that indicates a second version of the playback queue at the playback device;

based on the received error message indicating that the queue identification indicated in the queue update message has been superseded by the queue identification that indicates the second version of the playback queue at the playback device, determining by the computing device, that the playlist at the computing device is different from the playback queue of the playback device, wherein the playback queue indicates second one or more media items in a second order; and

based on determining that the playlist at the computing device is different from the playback queue of the playback device, causing by the computing device, the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist.

9. The method of claim 8 , further comprising:

detecting by the computing device, an input that requests an alteration to the playlist at the computing device, wherein the alteration to the playlist comprises one or more of (i) a modification of the first one or more media items and (ii) a modification of the first order of the first one or more media items; and

based on the detected input that requests the alteration to the playlist at the computing device, performing by the computing device, the alteration to the playlist at the computing device, wherein sending the queue update message comprises sending the queue update message based on the performed alteration to the playlist at the computing device.

10. The method of claim 8 , further comprising:

after causing the first one or more media items in the playback queue to be replaced with the second one or more media items in the playlist, causing by the computing device a graphical display of the computing device to display an indication that first one or more media items in the playlist are in the playback queue at the playback device.

11. The method of claim 8 , further comprising:

before sending the queue update message, receiving by the computing device, a queue identification update message from the media playback system indicating the queue identification which indicates the first version of the playback queue.

12. The method of claim 11 , further comprising:

after receiving the queue identification update message, updating by the computing device, a queue identification at the playback device to indicate the first version of the playback queue.

13. The method of claim 8 , wherein causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist comprises:

determining by the computing device, a first media item in the playback queue that is being played by the media playback system; and

before causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist, allowing, by the playback device, the first media item to finish playback.

14. The method of claim 8 , further comprising:

after causing the second one or more media items in the playback queue in the playback queue to be replaced with the first one or more media items in the playlist, receiving by the computing device from the playback device, an indication that the playback queue at the playback device matches the playlist at the computing device.

15. A tangible, non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors of a computing device, cause the computing device to perform functions comprising:

sending to a playback device of a media playback system, a queue update message indicating (i) a queue identification that indicates a first version of a playback queue at the playback device, and (ii) a playlist at the computing device, wherein the playlist indicates first one or more media items in a first order;

thereafter, receiving an error message indicating that the queue identification indicated in the queue update message has been superseded by a queue identification that indicates a second version of the playback queue at the playback device;

based on the received error message indicating that the queue identification indicated in the queue update message has been superseded by the queue identification that indicates the second version of the playback queue at the playback device, determining that the playlist at the computing device is different from the playback queue of the playback device, wherein the playback queue indicates second one or more media items in a second order; and

based on determining that the playlist at the computing device is different from the playback queue of the playback device, causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist.

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

detecting an input that requests an alteration to the playlist at the computing device, wherein the alteration to the playlist comprises one or more of (i) a modification of the first one or more media items and (ii) a modification of the first order of the first one or more media items; and

based on the detected input that requests the alteration to the playlist at the computing device, performing the alteration to the playlist at the computing device, wherein sending the queue update message comprises sending the queue update message based on the performed alteration to the playlist at the computing device.

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

after causing the first one or more media items in the playback queue to be replaced with the second one or more media items in the playlist, causing a graphical display of the computing device to display an indication that first one or more media items in the playlist are in the playback queue at the playback device.

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

before sending the queue update message, receiving a queue identification update message from the media playback system indicating the queue identification which indicates the first version of the playback queue.

19. The tangible, non-transitory computer-readable medium of claim 15 , wherein causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist comprises:

determining a first media item in the playback queue that is being played by the media playback system; and

before causing the second one or more media items in the playback queue to be replaced with the first one or more media items in the playlist, allowing the first media item to finish playback.

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

after causing the second one or more media items in the playback queue in the playback queue to be replaced with the first one or more media items in the playlist, receiving from the playback device, an indication that the playback queue at the playback device matches the playlist at the computing device.

Assignments (6)
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 →
RELEASE OF SECURITY INTEREST Recorded Jul 25, 2018
From: GORDON BROTHERS FINANCE COMPANY
To: SONOS, INC.
Reel/Frame 046625/0882 →
SECURITY INTEREST Recorded Apr 1, 2016
From: SONOS, INC.
To: GORDON BROTHERS FINANCE COMPANY
Reel/Frame 038329/0253 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2015
From: COBURN, ARTHUR L, IV
To: SONOS, INC.
Reel/Frame 035546/0771 →
Continuity (1)
Related Publication 20140324201A1 · Oct 30, 2014