# US 10,503,465 B1 · Systems and methods for networked music playback

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,465 B1
- Document ID: US10503465B1
- Status: Granted
- Kind: B1
- Application number: 16/551,070
- Filed: 2019-08-26
- Published: 2019-12-12
- Granted: 2019-12-10
- Earliest claimed: 2011-12-30
- Assignees: Sonos, Inc.
- Applicants: Sonos, Inc.
- Inventors: Arthur Coburn, IV; Joni Rafalski Hoadley
- Web page: https://patentgrep.com/patent/US10503465B1

## CPC

- H04N 21/43615: {Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805)}
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G11B 19/025: {'Virtual' control panels, e.g. Graphical User Interface [GUI]}
- H04L 65/612: for unicast
- H04N 21/41407: {embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop (constructional details of equipment or arrangements specially adapted for portable computer application G06F1/1626; arrangements specially adapted for mobile receivers in broadcast systems H04H20/57)}
- H04N 21/4307: {Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen}
- H04N 21/43076: {of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices}
- H04N 21/4333: {Processing operations in response to a pause request}
- H04N 21/439: Processing of audio elementary streams
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/4852: {for modifying audio parameters, e.g. switching between mono and stereo}
- H04N 21/6125: {involving transmission via Internet (transmission by internet of broadcast information H04H60/82)}
- H04N 21/64322: {IP}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04N 21/6587: Control parameters, e.g. trick play commands, viewpoint selection
- H04N 21/8113: {comprising music, e.g. song in MP3 format}
- H04N 21/8586: {by using a URL (processing chained hypermedia data for information retrieval G06F16/94; information retrieval from the Internet by using URLs G06F16/955; URL in broadcast information H04H20/93; Web-based protocols H04L67/02)}
- H04R 3/12: for distributing signals to two or more loudspeakers {(specially adapted for hearing aids H04R25/407)}
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- H04R 2227/005: Audio distribution systems for home, i.e. multi-room use
- H04R 2420/07: Applications of wireless loudspeakers or wireless microphones
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

An example computing system is configured to receive a first indication that a zone player is available for media play back; transmit, to a client station installed with a media-playback application for a cloud-based media service, a second indication that the zone player is available for play back of media from the cloud-based media service; receive a third indication that the zone player has been selected to play back media from the cloud-based media service; provide a remote playback queue that is associated with the zone player and the client station, where the remote playback queue includes data identifying a set of one or more media items for play back; and based on receiving the third indication, transmit (i) an instruction for the zone player to accept playback responsibility for the remote playback queue and (ii) data for retrieving a first media item identified in the remote playback queue from the cloud-based media service.

## Claims

### Claim 1

A first zone player comprising:
a network interface that is configured to communicatively couple the first zone player to a cloud-based computing system via at least one data network;
at least one processor;
a tangible, non-transitory computer-readable medium; and
program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to:
provide, via the network interface to the cloud-based computing system, an indication that the first zone player is available for media play back;
based in part on providing the indication, receive, via the network interface from the cloud-based computing system, (i) an instruction for the first zone player to accept playback responsibility for a remote playback queue that is provided between the first zone player and a client station installed with a media-playback application, wherein the remote playback queue comprises data identifying a set of one or more media items for play back, and (ii) data for retrieving at least a first media item identified in the remote playback queue from a cloud-based media service;
after receiving the instruction and the data for retrieving at least the first media item, (i) use the data for retrieving at least the first media item to retrieve, via the network interface from the cloud-based media service, the first media item, and (ii) begin to play back the first media item;
after beginning to play back the first media item, request at least one additional media item from the remote playback queue; and
after requesting the at least one additional media item from the remote playback queue, (i) receive, via the network interface from the cloud-based computing system, data for retrieving at least a second media item identified in the remote playback queue from the cloud-based media service, (ii) use the data for retrieving at least the second media item to retrieve, via the network interface from the cloud-based media service, the second media item, and (iii) begin to play back the second media item.

### Claim 2 (depends on 1)

The first zone player of claim 1, further comprising program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to:
after receiving the data for retrieving at least the first media item in the remote playback queue and before using the data for retrieving at least the first media item to retrieve the first media item, populate a local playback queue maintained by the first zone player with the data for retrieving at least the first media item; and
after receiving the data for retrieving at least the second media item in the remote playback queue and before using the data for retrieving at least the second media item to retrieve the second media item, populate the local playback queue maintained by the first zone player with the data for retrieving at least the second media item.

### Claim 3 (depends on 1)

The first zone player of claim 1, wherein the set of one or more media items comprises a playlist with a plurality of media items, and wherein:
the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to request at least one additional media item from the remote playback queue comprise program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to request two or more additional media items from the remote playback queue.

### Claim 4 (depends on 1)

The first zone player of claim 1, wherein the data for retrieving at least the second media item identified in the remote playback queue comprises a URI for the second media item in the remote playback queue, and wherein:
the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to receive the data for retrieving at least the second media item identified in the remote playback queue comprise program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the zone player is configured to, after requesting the two or more additional media items from the remote playback queue, receive, via the network interface from the cloud-based computing system, a sequence of two or more URIs that includes the URI for the second media item as well as a respective URI for each of one or more additional media items identified in the remote playback queue; and
the first zone player further comprises program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to populate a local playback queue maintained by the first zone player with the sequence of URIs.

### Claim 5 (depends on 1)

The first zone player of claim 1, wherein the first zone player is communicatively coupled to a second zone player, and wherein:
the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to begin to play back the first media item comprise program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to begin to play back the first media item in synchrony with play back by the second zone player of the first media item.

### Claim 6 (depends on 1)

The first zone player of claim 1, wherein the first zone player is communicatively coupled to a second zone player, and wherein:
the program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to begin to play back the first media item comprise program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to begin to play back a first channel of the first media item in synchrony with play back by the second zone player of a second channel of the first media item.

### Claim 7 (depends on 1)

The first zone player of claim 1, further comprising program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the first zone player is configured to:
after beginning to play back the first media item, transmit, via the network interface to the cloud-based computing system, an indication that the first zone player is currently playing the first media item; and
after beginning to play back the second media item, transmit, via the network interface to the cloud-based computing system, an indication that the first zone player is currently playing the second media item.

### Claim 8 (depends on 1)

The first zone player of claim 1, wherein the remote playback queue is editable via the media-playback application.

### Claim 9 (depends on 1)

The first zone player of claim 1, wherein the data for retrieving at least the first media item identified in the remote playback queue comprises a URI for the first media item in the remote playback queue, and wherein the data for retrieving at least the second media item identified in the remote playback queue comprises a URI for the second media item in the remote playback queue.

### Claim 10

A client station comprising:
a network interface that is configured to communicatively couple the client station to a cloud-based computing system via at least one data network;
a user interface;
at least one processor;
a tangible, non-transitory computer-readable medium; and
a media-playback application for a cloud-based media service stored on the tangible, non-transitory computer-readable medium, wherein the media-playback application comprises program instructions that are executable by the at least one processor such that the client station is configured to:
operate in a first mode in which the client station is configured to play back media from a local playback queue that is associated with the media-playback application for the cloud-based media service, wherein the local playback queue comprises data identifying one or more media items from the cloud-based media service that are queued for play back by the client station;
while operating in the first mode, (i) receive, via the network interface from the cloud-based computing system, an indication that at least a first zone player is available for play back of media from the cloud-based media service, (ii) detect, via the user interface, a selection of a first indicator displayed while running the media-playback application that facilitates transfer of playback responsibility from the client station to any zone player that is available for playback of media from the cloud-based media service, and (iii) thereafter detect, via the user interface, a selection of a second indicator while running the media-playback application that represents the first zone player;
in response to detecting the selection of the second indicator that represents the first zone player, (i) transition the client station from operating in the first mode to operating in a second mode in which the client station is no longer configured to play back media from the local playback queue associated with the media-playback application for the cloud-based media service and is instead configured to control the first zone player's playback of media from the cloud-based media service and (ii) cause, via the network interface and the cloud-based computing system, the first zone player to become configured to play back media from a remote playback queue that is provided between the client station and the first zone player and is synchronized with the local playback queue associated with the media-playback application for the cloud-based media service such that the remote playback queue comprises data identifying at least a portion of the one or more media items from the cloud-based media service that were identified in the local playback queue associated with the media-playback application.

### Claim 11 (depends on 10)

The client station of claim 10, further comprising program instructions that are executable by the at least one processor such that the client station is configured to:
while operating in the second mode, receive, via the network interface from the cloud-based computing system, an indication of a given media item in the remote playback queue that the first zone player is currently playing; and
display, via the user interface and the media-playback application, a representation of the given media item in the remote playback queue that the first zone player is currently playing.

### Claim 12 (depends on 10)

The client station of claim 10, wherein:
the program instructions that are executable by the at least one processor such that the client station is configured to receive the indication that at least the first zone player is available for play back of media from the cloud-based media service comprise program instructions that are executable by the at least one processor such that the client station is configured to, while operating in the first mode, receive an indication that at least a first zone group is available for play back of media from the cloud-based media service, wherein the first zone group comprises the first zone player and a second zone player.

### Claim 13 (depends on 12)

The client station of claim 12, wherein the second indicator represents the first zone group that comprises the first zone player, and wherein:
the program instructions that are executable by the at least one processor such that the client station is configured to, in response to detecting the selection of the second indicator that represents the first zone player, (i) transition the client station from operating in the first mode to operating in the second mode in which the client station is no longer configured to play back media from the local playback queue associated with the media-playback application for the cloud-based media service and is instead configured to control the first zone player's playback of media from the cloud-based media service and (ii) cause, via the network interface and the cloud-based computing system, the first zone player to become configured to play back media from the remote playback queue comprise program instructions that are executable by the at least one processor such that the client station is configured to:
in response to detecting the selection of the second indicator that represents the first zone group, (i) transition the client station from operating in the first mode to operating in a second mode in which the client station is no longer configured to play back media from the local playback queue associated with the media-playback application for the cloud-based media service and is instead configured to control the first zone group's playback of media from the cloud-based media service and (ii) cause, via the network interface and the cloud-based computing system, the first and second zone players to become configured to play back media from the remote playback queue in synchrony with one another.

### Claim 14 (depends on 10)

The client station of claim 10, wherein:
the program instructions that are executable by the at least one processor such that the client station is configured to receive the indication that at least the first zone player is available for play back of media from the cloud-based media service comprise program instructions that are executable by the at least one processor such that the client station is configured to, while operating in the first mode, receive an indication that at least a first zone is available for play back of media from the cloud-based media service, wherein the first zone comprises the first zone player and a second zone player.

### Claim 15 (depends on 14)

The client station of claim 14, wherein the second indicator represents the first zone that comprises the first zone player, and wherein:
the program instructions that are executable by the at least one processor such that the client station is configured to, in response to detecting the selection of the second indicator that represents the first zone player, (i) transition the client station from operating in the first mode to operating in the second mode in which the client station is no longer configured to play back media from the local playback queue associated with the media-playback application for the cloud-based media service and is instead configured to control the first zone player's playback of media from the cloud-based media service and (ii) cause, via the network interface and the cloud-based computing system, the first zone player to become configured to play back media from the remote playback queue comprise program instructions that are executable by the at least one processor such that the client station is configured to:
in response to detecting the selection of the second indicator that represents the first zone, (i) transition the client station from operating in the first mode to operating in a second mode in which the client station is no longer configured to play back media from the local playback queue associated with the media-playback application for the cloud-based media service and is instead configured to control the first zone's playback of media from the cloud-based media service and (ii) cause, via the network interface and the cloud-based computing system, the first and second zone players to become configured to play back respective channels of media from the remote playback queue in synchrony with one another.

### Claim 16

A computing system comprising:
a network interface that is configured to communicatively couple the computing system to a first zone player via at least a cloud-based network;
at least one processor;
a tangible, non-transitory computer-readable medium; and
program instructions stored on the tangible, non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
receive, via the network interface from the first zone player, a first indication that the first zone player is available for media play back;
transmit, via the network interface to a client station installed with a media-playback application for a cloud-based media service, a second indication that at least the first zone player is available for play back of media from the cloud-based media service;
receive, via the network interface from the client station, a third indication that at least the first zone player has been selected to play back media from the cloud-based media service;
provide a remote playback queue that is associated with the first zone player and the client station, wherein the remote playback queue comprises data identifying a set of one or more media items for play back; and
based on receiving the third indication, transmit, via the network interface to the first zone player, (i) an instruction for the first zone player to accept playback responsibility for the remote playback queue and (ii) data for retrieving at least a first media item identified in the remote playback queue from the cloud-based media service.

### Claim 17 (depends on 16)

The computing system of claim 16, further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:
maintain a current point of play back of the first zone player within the remote playback queue; and
cause, via the network interface, the client station to display a representation of a media item that corresponds to the current point of play back of the first zone player within the remote playback queue.

### Claim 18 (depends on 17)

The computing system of claim 17, further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:
receive, via the network interface from the first zone player, a fourth indication that the first zone player is currently playing the first media item; and
based on the fourth indication, update the current point of play back of the first zone player within the remote playback queue to reflect that the first zone player is currently playing the first media item.

### Claim 19 (depends on 16)

The computing system of claim 16, further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:
while the first zone player is playing back the first media item identified in the remote playback queue, receive, via the network interface from the first zone player, a fourth indication that the first zone player is ready for a next one or more media items identified in the remote playback queue; and
after receiving the fourth indication that the first zone player is ready for the next one or more media items identified in the remote playback queue, transmit, via the network interface to the first zone player, data for retrieving at least a second media item identified in the remote playback queue from the cloud-based media service.

### Claim 20 (depends on 19)

The computing system of claim 19, further comprising program instructions that are executable by the at least one processor such that the computing system is configured to:
after receiving the fourth indication that the first zone player is ready for the next one or more media items identified in the remote playback queue, cause, via the network interface, the client station to display a representation reflecting that the first zone player is currently playing the second media item.
