IP Library Patent Application 16544905
Patent Application
App. No. 16/544,905

Playback Device

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 None
App. No.
16/544,905
Abstract

A system is described for maintaining synchrony of operations among a plurality of devices that have independent clocking arrangements. The system includes a task distribution device that distributes tasks to a synchrony group comprising a plurality of devices that are to perform the tasks distributed by the task distribution device in synchrony. The task distribution device distributes each task to the members of the synchrony group over a network. Each task is associated with a time stamp that indicates a time, relative to a clock maintained by the task distribution device, at which the members of the synchrony group are to execute the task. Each member of the synchrony group periodically obtains from the task distribution device an indication of the current time indicated by its clock, determines a time differential between the task distribution device's clock and its respective clock and determines therefrom a time at which, according to its respective clock, the time stamp indicates that it is to execute the task.

Claims (88)

1 . A first zone player comprising:

a network interface that is configured to communicatively couple the first zone player to 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:

receiving, via the network interface, a request to engage in synchronous playback of audio content as part of a synchrony group that includes at least a second zone player that is communicatively coupled to the first zone player via the at least one data network;

after receiving the request to enter into the synchrony group:

detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group; and

beginning to operate in the synchrony group in accordance with the indication;

wherein, while operating in the control-master mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, first control information for the synchrony group from a network device that is communicatively coupled to the first zone player; and

based on the first control information, cause, via the network interface, at least one playback action to be applied in the synchrony group;

wherein, while operating in the control-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, second control information from another zone player; and

perform one or more playback actions in accordance with the second control information;

wherein, while operating in the audio-master mode for the synchrony group, the first zone player is configured to:

obtain audio information that is representative of the audio content;

generate playback timing information associated with the obtained audio information that is indicative of one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information; and

transmit, via the network interface, the obtained audio information and the generated playback timing information to the second zone player; and

wherein, while operating in the audio-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, audio information and playback timing information associated with the received audio information from another zone player; and

engage in synchronous playback of the received audio information with at least the second zone player based on the received playback timing information associated with the received audio information.

2 . The first zone player of claim 1 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-master mode for the synchrony group and (b) the audio-master mode for the synchrony group.

3 . The first zone player of claim 1 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-slave mode for the synchrony group and (b) the audio-master mode for the synchrony group.

4 . The first zone player of claim 1 , wherein beginning to operate in the synchrony group in accordance with the indication comprises either (a) transitioning from operating in the audio-master mode to operating in the audio-slave mode or (b) transitioning from operating in the audio-slave mode to operating in the audio-master mode.

5 . The first zone player of claim 1 , wherein the first control information identifies particular audio content to be played back by the synchrony group that is available at an audio source outside of the at least one data network, and wherein causing the at least one playback action to be applied in the synchrony group comprises causing a zone player operating in the audio-master mode to obtain audio information that is representative of the particular audio content.

6 . The first zone player of claim 1 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of a zone player other than the first zone player.

7 . The first zone player of claim 1 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of the first zone player.

8 . The first zone player of claim 1 , wherein the second control information comprises information indicative of a volume adjustment, and wherein performing one or more playback actions in accordance with the second control information comprises adjusting a playback volume of the first zone player.

9 . The first zone player of claim 1 , wherein the playback timing information that is received while operating in the audio-slave mode comprises at least one future time at which at least the first and second zone players are to engage in synchronous playback of the received audio information, and wherein being configured while operating in the audio-slave mode to engage in synchronous playback of the received audio information with at least the second zone player comprises being configured to:

update the at least one future time to account for a differential between a local clock time of the first zone player and a local clock time of another zone player; and

when the local clock time of the first zone player reaches the updated at least one future time, engage in synchronous playback of the received audio information with at least the second zone player.

10 . A method performed by a first zone player, the method comprising:

receiving, via a network interface at the first zone player, a request to engage in synchronous playback of audio content as part of a synchrony group that includes at least a second zone player that is communicatively coupled to the first zone player via at least one data network;

after receiving the request to enter into the synchrony group:

detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group; and

beginning to operate in the synchrony group in accordance with the indication;

wherein, while operating in the control-master mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, first control information for the synchrony group from a network device that is communicatively coupled to the first zone player; and

based on the first control information, cause, via the network interface, at least one playback action to be applied in the synchrony group;

wherein, while operating in the control-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, second control information from another zone player; and

perform one or more playback actions in accordance with the second control information;

wherein, while operating in the audio-master mode for the synchrony group, the first zone player is configured to:

obtain audio information that is representative of the audio content;

generate playback timing information associated with the obtained audio information that is indicative of one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information; and

transmit, via the network interface, the obtained audio information and the generated playback timing information to the second zone player; and

wherein, while operating in the audio-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, audio information and playback timing information associated with the received audio information from another zone player; and

engage in synchronous playback of the received audio information with at least the second zone player based on the received playback timing information associated with the received audio information.

11 . The method of claim 10 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-master mode for the synchrony group and (b) the audio-master mode for the synchrony group.

12 . The method of claim 10 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-slave mode for the synchrony group and (b) the audio-master mode for the synchrony group.

13 . The method of claim 10 , wherein beginning to operate in the synchrony group in accordance with the indication comprises either (a) transitioning from operating in the audio-master mode to operating in the audio-slave mode or (b) transitioning from operating in the audio-slave mode to operating in the audio-master mode.

14 . The method of claim 10 , wherein the first control information identifies particular audio content to be played back by the synchrony group that is available at an audio source outside of the at least one data network, and wherein causing the at least one playback action to be applied in the synchrony group comprises causing a zone player operating in the audio-master mode to obtain audio information that is representative of the particular audio content.

15 . The method of claim 10 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of a zone player other than the first zone player.

16 . The method of claim 10 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of the first zone player.

17 . The method of claim 10 , wherein the second control information comprises information indicative of a volume adjustment, and wherein performing one or more playback actions in accordance with the second control information comprises adjusting a playback volume of the first zone player.

18 . The method of claim 10 , wherein the playback timing information that is received while operating in the audio-slave mode comprises at least one future time at which at least the first and second zone players are to engage in synchronous playback of the received audio information, and wherein operating in the audio-slave mode to engage in synchronous playback of the received audio information with at least the second zone player comprises:

updating the at least one future time to account for a differential between a local clock time of the first zone player and a local clock time of another zone player; and

when the local clock time of the first zone player reaches the updated at least one future time, engaging in synchronous playback of the received audio information with at least the second zone player.

19 . Tangible, non-transitory computer-readable media having instructions stored therein, wherein the instructions, when executed, cause a first zone player to perform functions comprising:

receiving, via a network interface at the first zone player, a request to engage in synchronous playback of audio content as part of a synchrony group that includes at least a second zone player that is communicatively coupled to the first zone player via at least one data network;

after receiving the request to enter into the synchrony group:

detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group; and

beginning to operate in the synchrony group in accordance with the indication;

wherein, while operating in the control-master mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, first control information for the synchrony group from a network device that is communicatively coupled to the first zone player; and

based on the first control information, cause, via the network interface, at least one playback action to be applied in the synchrony group;

wherein, while operating in the control-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, second control information from another zone player; and

perform one or more playback actions in accordance with the second control information;

wherein, while operating in the audio-master mode for the synchrony group, the first zone player is configured to:

obtain audio information that is representative of the audio content;

generate playback timing information associated with the obtained audio information that is indicative of one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information; and

transmit, via the network interface, the obtained audio information and the generated playback timing information to the second zone player; and

wherein, while operating in the audio-slave mode for the synchrony group, the first zone player is configured to:

receive, via the network interface, audio information and playback timing information associated with the received audio information from another zone player; and

engage in synchronous playback of the received audio information with at least the second zone player based on the received playback timing information associated with the received audio information.

20 . The tangible, non-transitory computer-readable media of claim 19 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-master mode for the synchrony group and (b) the audio-master mode for the synchrony group.

21 . The tangible, non-transitory computer-readable media of claim 19 , wherein detecting an indication that the first zone player is to operate in (a) one of a control-master mode or a control-slave mode for the synchrony group and (b) one of an audio-master mode or an audio-slave mode for the synchrony group comprises detecting an indication that the first zone player is to operate in (a) the control-slave mode for the synchrony group and (b) the audio-master mode for the synchrony group.

22 . The tangible, non-transitory computer-readable media of claim 19 , wherein beginning to operate in the synchrony group in accordance with the indication comprises either (a) transitioning from operating in the audio-master mode to operating in the audio-slave mode or (b) transitioning from operating in the audio-slave mode to operating in the audio-master mode.

23 . The tangible, non-transitory computer-readable media of claim 19 , wherein the first control information identifies particular audio content to be played back by the synchrony group that is available at an audio source outside of the at least one data network, and wherein causing the at least one playback action to be applied in the synchrony group comprises causing a zone player operating in the audio-master mode to obtain audio information that is representative of the particular audio content.

24 . The tangible, non-transitory computer-readable media of claim 19 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of a zone player other than the first zone player.

25 . The tangible, non-transitory computer-readable media of claim 19 , wherein the one or more future times at which at least the first and second zone players are to engage in synchronous playback of the obtained audio information comprise at least one first future time that is determined based on a local clock of the first zone player.

26 . The tangible, non-transitory computer-readable media of claim 19 , wherein the second control information comprises information indicative of a volume adjustment, and wherein performing one or more playback actions in accordance with the second control information comprises adjusting a playback volume of the first zone player.

27 . The tangible, non-transitory computer-readable media of claim 19 , wherein the playback timing information that is received while operating in the audio-slave mode comprises at least one future time at which at least the first and second zone players are to engage in synchronous playback of the received audio information, and wherein operating in the audio-slave mode to engage in synchronous playback of the received audio information with at least the second zone player comprises:

updating the at least one future time to account for a differential between a local clock time of the first zone player and a local clock time of another zone player; and

when the local clock time of the first zone player reaches the updated at least one future time, engaging in synchronous playback of the received audio information with at least the second zone player.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2021
From: MILLINGTON, NICHOLAS A.J.
To: RINCON NETWORKS, INC.
Reel/Frame 056117/0013 →
CHANGE OF NAME Recorded May 3, 2021
From: RINCON NETWORKS, INC.
To: SONOS, INC.
Reel/Frame 056122/0075 →