Patent ID: 8856209

Claim:
A method for operating a non-wireless media playback client device, the method comprising: performing the following steps via execution of software instructions by the non-wireless media device thereby to provide synchronized media playback, such that the non-wireless media playback device is synchronized with a plurality of wireless playback nodes that are associated with a common wireless network, the plurality of playback nodes having access to a common global clock of the wireless network and being synchronized relative to the common global clock of the wireless network, wherein the non-wireless media playback device does not have access to the common global clock of the wireless network: (a) sending, via a wired network connection, a request to a server device, the server device being associated with the wireless network and having access to the common global clock of the wireless network, the request being indicative of an instruction to provide timing information indicative of a server control time reference and a server media time reference, wherein the timing information includes a ratio between the frequency of the server control time reference and the server media time reference, wherein the server control time reference is defined relative to the common global clock of the wireless network; (b) storing, in respect of the request sent to the server device, according to a client control time reference, a respective first client value indicative of the time at which that request was sent; (c) receiving from the server device, in respect of the request sent to the server device, a respective response including the timing information; (d) storing, according to the client control time reference, a respective second client value indicative of the time at which the corresponding response was received; each of step (a) to step (d) being repeated on one or more occasions; (e) processing, for each request and corresponding response, the first client value, the second client value, and the timing information, thereby to derive adjustment information, wherein the adjustment information is indicative of a first frequency ratio between the server control time reference and the client control time reference and a second frequency ratio between the server media time reference and the server control time reference; (f) generating a client media time reference by applying the adjustment information to the client control time reference, thereby to frequency synchronize the client media time reference with the server media time reference; and (g) providing media playback by rendering a stream of media data based on the client media time reference.