Playback device
First Claim
1. A method carried out by a first zone player, the method comprising:
- receiving a request to enter into a synchrony group with at least a second zone player that is communicatively coupled with the first zone player over local area network (LAN);
in response to receiving the request to enter into the synchrony group, entering into the synchrony group with the second zone player, wherein the first zone player is selected to begin operating as a master of the synchrony group and the second zone player is selected to begin operating as a slave of the synchrony group, and wherein the first zone player operates in accordance with a clock time that differs from a clock time of the second zone player;
after beginning to operate as the master of the synchrony group;
transmitting, to the second zone player over the LAN, clock timing information that is used by the second zone player to determine a difference between the clock time of the first zone player and the clock time of the second zone player, wherein the clock timing information comprises at least one reading of the clock time of the first zone player;
receiving, from a controller device that is communicatively coupled with the first zone player over the LAN, a request for the synchrony group to play back at least a first audio track from a network-accessible audio source that is communicatively coupled to the first zone player over one or both of (i) the LAN and (ii) a wide area network (WAN);
in response to receiving the request for the synchrony group to play back at least the first audio track, obtaining audio information for the first audio track from the network-accessible audio source;
generating playback timing information associated with the obtained audio information for the first audio track that comprises an indicator of a first future time, relative to the clock time of the first zone player, at which the first and second zone players are to initiate synchronous playback of the obtained audio information;
transmitting the obtained audio information and the playback timing information to the second zone player over the LAN; and
when the clock time of the first zone player reaches the first future time, initiating synchronous playback of the obtained audio information with the second zone player.
3 Assignments
0 Petitions
Accused Products
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.
-
Citations
30 Claims
-
1. A method carried out by a first zone player, the method comprising:
-
receiving a request to enter into a synchrony group with at least a second zone player that is communicatively coupled with the first zone player over local area network (LAN); in response to receiving the request to enter into the synchrony group, entering into the synchrony group with the second zone player, wherein the first zone player is selected to begin operating as a master of the synchrony group and the second zone player is selected to begin operating as a slave of the synchrony group, and wherein the first zone player operates in accordance with a clock time that differs from a clock time of the second zone player; after beginning to operate as the master of the synchrony group; transmitting, to the second zone player over the LAN, clock timing information that is used by the second zone player to determine a difference between the clock time of the first zone player and the clock time of the second zone player, wherein the clock timing information comprises at least one reading of the clock time of the first zone player; receiving, from a controller device that is communicatively coupled with the first zone player over the LAN, a request for the synchrony group to play back at least a first audio track from a network-accessible audio source that is communicatively coupled to the first zone player over one or both of (i) the LAN and (ii) a wide area network (WAN); in response to receiving the request for the synchrony group to play back at least the first audio track, obtaining audio information for the first audio track from the network-accessible audio source; generating playback timing information associated with the obtained audio information for the first audio track that comprises an indicator of a first future time, relative to the clock time of the first zone player, at which the first and second zone players are to initiate synchronous playback of the obtained audio information; transmitting the obtained audio information and the playback timing information to the second zone player over the LAN; and when the clock time of the first zone player reaches the first future time, initiating synchronous playback of the obtained audio information with the second zone player. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A first zone player comprising:
-
a network interface that is configured to provide an interconnection with at least one data network; a clock that is configured to provide a clock time of the first zone player; 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 to cause the first zone player to perform functions comprising; receiving a request to enter into a synchrony group with at least a second zone player that is communicatively coupled with the first zone player over a local area network (LAN); in response to receiving the request to enter into the synchrony group, entering into the synchrony group with the second zone player, wherein the first zone player is selected to begin operating as a master of the synchrony group and the second zone player is selected to begin operating as a slave of the synchrony group, and wherein the clock time of the first zone player differs from a clock time of the second zone player; after beginning to operate as the master of the synchrony group; transmitting, to the second zone player over the LAN, clock timing information that is used by the second zone player to determine a difference between the clock time of the first zone player and the clock time of the second zone player, wherein the clock timing information comprises at least one reading of the clock time of the first zone player; receiving, from a controller device that is communicatively coupled with the first zone player over the LAN, a request for the synchrony group to play back at least a first audio track from a network-accessible audio source that is communicatively coupled to the first zone player over one or both of (i) the LAN and (ii) a wide area network (WAN); in response to receiving the request for the synchrony group to play back at least the first audio track, obtaining audio information for the first audio track from the network-accessible audio source; generating playback timing information associated with the obtained audio information for the first audio track that comprises an indicator of a first future time, relative to the clock time of the first zone player, at which the first and second zone players are to initiate synchronous playback of the obtained audio information; transmitting the obtained audio information and the playback timing information to the second zone player over the LAN; and when the clock time of the first zone player reaches the first future time, initiating synchronous playback of the obtained audio information with the second zone player. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. Tangible, non-transitory computer-readable storage media, wherein the tangible, non-transitory computer-readable storage media is provisioned with software that is executable by at least one processor to cause a first zone player to perform functions including:
-
receiving a request to enter into a synchrony group with at least a second zone player that is communicatively coupled with the first zone player over local area network (LAN); in response to receiving the request to enter into the synchrony group, entering into the synchrony group with the second zone player, wherein the first zone player is selected to begin operating as a master of the synchrony group and the second zone player is selected to begin operating as a slave of the synchrony group, and wherein the first zone player operates in accordance with a clock time that differs from a clock time of the second zone player; after beginning to operate as the master of the synchrony group; transmitting, to the second zone player over the LAN, clock timing information that is used by the second zone player to determine a difference between the clock time of the first zone player and the clock time of the second zone player, wherein the clock timing information comprises at least one reading of the clock time of the first zone player; receiving, from a controller device that is communicatively coupled with the first zone player over the LAN, a request for the synchrony group to play back at least a first audio track from a network-accessible audio source that is communicatively coupled to the first zone player over one or both of (i) the LAN and (ii) a wide area network (WAN); in response to receiving the request for the synchrony group to play back at least the first audio track, obtaining audio information for the first audio track from the network-accessible audio source; generating playback timing information associated with the obtained audio information for the first audio track that comprises an indicator of a first future time, relative to the clock time of the first zone player, at which the first and second zone players are to initiate synchronous playback of the obtained audio information; transmitting the obtained audio information and the playback timing information to the second zone player over the LAN; and when the clock time of the first zone player reaches the first future time, initiating synchronous playback of the obtained audio information with the second zone player. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification