Source coordination of audio playback
First Claim
1. An electronic device, comprising:
- one or more antennas;
a clock circuit that is configured to provide a clock; and
an interface circuit communicatively coupled to the one or more antennas and the clock circuit, wherein the interface circuit is configured to;
receive, from the one or more antennas, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet;
store receive times when the packets were received, wherein the receive times are based on the clock;
calculate, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet, and wherein the calculation is based on unilateral communication of timing information between the second electronic device and the electronic device;
adjust, based on the relative drift, the clock circuit that provides the clock to eliminate the relative drift;
determine a remaining time offset between the clock and the second clock;
modify, based on the remaining time offset, a future time, when the second electronic device is to perform a playback operation, to determine a corrected future time; and
transmit, via the one or more antennas, information intended for the second electronic device specifying the corrected future time.
12 Assignments
0 Petitions
Accused Products
Abstract
An electronic device that coordinates a playback operation is described. In particular, an interface circuit in the electronic device may calculate, based on differences between transmit times when packets were transmitted by a second electronic device and receive times of the packets, relative drift as a function of time between a clock in the interface circuit and a second clock in the second electronic device. Then, the interface circuit may adjust, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift, and may determine a remaining time offset between the clock and the second clock. Next, the interface circuit may modify a future time when the second electronic device is to perform the playback operation based on the remaining time offset to determine a corrected future time, and may transmit information to the second electronic device specifying the corrected future time.
-
Citations
20 Claims
-
1. An electronic device, comprising:
-
one or more antennas; a clock circuit that is configured to provide a clock; and an interface circuit communicatively coupled to the one or more antennas and the clock circuit, wherein the interface circuit is configured to; receive, from the one or more antennas, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet; store receive times when the packets were received, wherein the receive times are based on the clock; calculate, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet, and wherein the calculation is based on unilateral communication of timing information between the second electronic device and the electronic device; adjust, based on the relative drift, the clock circuit that provides the clock to eliminate the relative drift; determine a remaining time offset between the clock and the second clock; modify, based on the remaining time offset, a future time, when the second electronic device is to perform a playback operation, to determine a corrected future time; and transmit, via the one or more antennas, information intended for the second electronic device specifying the corrected future time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium for use with an electronic device, the computer-readable storage medium storing a program module that, when executed by an interface circuit in the electronic device, coordinates a playback operation by causing the electronic device to perform one or more operations comprising:
-
receiving, from one or more antennas in the electronic device, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet; storing receive times when the packets were received, wherein the receive times are based on a clock in the electronic device; calculating, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet, and wherein the calculation is based on unilateral communication of timing information between the second electronic device and the electronic device; adjusting, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift; determining a remaining time offset between the clock and the second clock; modifying, based on the remaining time offset, a future time, when the second electronic device is to perform the playback operation, to determine a corrected future time; and transmitting, via the one or more antennas, information intended for the second electronic device specifying the corrected future time. - View Dependent Claims (13, 14, 15)
-
-
16. A method for coordinating a playback operation, comprising:
by an interface circuit of an electronic device; receiving, from one or more antennas in the electronic device, packets associated with a second electronic device, wherein a given packet comprises a transmit time, based on a second clock in the second electronic device, when the second electronic device transmitted the given packet; storing receive times when the packets were received, wherein the receive times are based on a clock in the electronic device; calculating, based on differences between the transmit times and the receive times, relative drift as a function of time between the clock and the second clock, wherein a given difference is between a given transmit time and a given receive time for a given packet, and wherein the calculation is based on unilateral communication of timing information between the second electronic device and the electronic device; adjusting, based on the relative drift, a clock circuit that provides the clock to eliminate the relative drift; determining a remaining time offset between the clock and the second clock; receiving, from the one or more antennas, information associated with the second electronic device specifying a future time, when the second electronic device is to perform the playback operation; modifying, based on the remaining time offset, the future time to determine a corrected future time; and transmitting, via the one or more antennas, information intended for the second electronic device specifying the corrected future time. - View Dependent Claims (17, 18, 19, 20)
Specification