IP Library Granted Patent US 10,743,270
Granted Patent B2
US 10,743,270 · App. 16/029,094 · Granted Aug 11, 2020

Systems and methods for syncronizing multiple electronic devices

Inventors: Michael J. Daley (Santa Clara, CA); Travis Bolinger (Lafayette, CO); Heath O'Neal (Broomfield, CO)
Assignee: GOOGLE TECHNOLOGY HOLDINGS LLC
H04W56/0015H04H20/08H04H20/18H04H20/38H04H20/61H04H60/88H04W56/0065H04H20/57H04H20/63H04H60/80
View Patent ↗
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 10,743,270
App. No.
16/029,094
Granted
Aug 11, 2020
Kind
B2
Abstract

Embodiments are provided for syncing multiple electronic devices for collective audio playback. According to certain aspects, a master device connects ( 218 ) to a slave device via a wireless connection. The master device calculates ( 224 ) a network latency via a series of network latency pings with the slave device and sends ( 225 ) the network latency to the slave device. Further, the master devices sends ( 232 ) a portion of an audio file as well as a timing instruction including a system time to the slave device. The master device initiates ( 234 ) playback of the portion of the audio file and the slave devices initiates ( 236 ) playback of the portion of the audio file according to the timing instruction and a calculated system clock offset value.

Claims (51)

1. A method comprising:

joining, by an audio playback device via a first wireless network, an audio playback group, wherein the audio playback group includes (i) a master device that provides information for playback of audio content by the audio playback group, and (ii) the audio playback device in a slave role;

receiving, by the audio playback device from the master device via a second wireless network different from the first wireless network, a timing signal and timing information associated with audio data to be played by the audio playback device as part of the audio playback group;

playing, by the audio playback device, the audio data at a time based on the timing signal, the timing information, and a clock of the audio playback device;

receiving, by the audio playback device from the master device, a pause command based on a user input at the master device;

pausing, by the audio playback device, playback of the audio data based on the pause command in synchrony with the master device pausing the playback of the audio data; and

receiving, at a user interface of the audio playback device in the slave role, a second user input corresponding to a play command; and

in response to receiving the second user input:

transmitting, by the audio playback device in the slave role to the master device, the play command, and

resuming the playback of the audio data, by the audio playback device in the slave role, in synchrony with the master device resuming the playback of the audio data.

2. The method of claim 1 ,

wherein the user input at the master device comprises a user activation of a pause button on a user interface of the master device.

3. The method of claim 1 ,

wherein pausing the playback of the audio data based on the pause command is performed additionally based on a difference between the clock of the audio playback device and a clock of the master device.

4. The method of claim 1 , further comprising:

receiving, by the audio playback device from the master device, a timing instruction associated with the pause command,

wherein pausing the playback of the audio data based on the pause command is performed additionally based on the timing instruction.

5. The method of claim 4 ,

wherein pausing the playback of the audio data based on the pause command is performed additionally based on a difference between the clock of the audio playback device and a clock of the master device.

6. The method of claim 1 , further comprising:

wherein the user input at the master device comprises a user activation of a pause/play button on a user interface of the master device,

wherein pausing the playback of the audio data based on the pause command is performed additionally based on a difference between the clock of the audio playback device and a clock of the master device, and

wherein the second user input at the audio playback device comprises a second user activation of a second pause/play button on the user interface of the audio playback device.

7. An audio playback device comprising:

a communication component for connecting the audio playback device to a master device (i) via a first wireless network to form an audio playback group for playback of audio, and (ii) via a second wireless network different from the first wireless network;

an audio output component;

a user interface; and

a controller module interfaced with the communication component, the user interface, and the audio output component, and configured to:

receive, from the master device via the communication component using the second wireless network, a timing signal and timing information associated with audio data to be played as part of the audio playback group, wherein the audio playback device is in a slave role,

cause the audio output component to output the audio data at a time based on the timing signal, the timing information, and a clock of the audio playback device,

receive, from the master device via the communication component, a pause command corresponding to a user selection at the master device,

cause the audio output component to pause playback of the audio data based on the pause command in synchrony with the master device pausing the playback of the audio data,

receive, via the user interface, a second user selection corresponding to a play command, and

in response to receiving the second user selection and while the audio playback device is in the slave role:

transmit, to the master device via the communication component, the play command, and

cause the audio output component to resume the playback of the audio data in synchrony with the master device resuming the playback of the audio data.

8. The audio playback device of claim 7 , wherein the controller module receives the pause command with a timing instruction associated with the pause command, and wherein the controller module causes the audio output component to pause the playback of the audio data further based on the timing instruction.

9. A non-transitory computer-readable storage medium configured to store instructions, the instructions when executed by a processor causing the processor to perform operations comprising:

joining, by an audio playback device via a first wireless network, an audio playback group including a master device, the audio playback group configured for playback of audio content, the audio playback device in a slave role;

receiving, by the audio playback device from the master device via a second wireless network different from the first wireless network, a timing signal and timing information associated with audio data to be played by the audio playback device as part of the audio playback group;

initiating playback, by the audio playback device, of the audio data at a time based on the timing signal, the timing information, and a clock of the audio playback device;

receiving, by the audio playback device from the master device, a pause command corresponding to a user selection at the master device;

performing, by the audio playback device, the pause command to pause the playback of the audio data in synchrony with the master device pausing the playback of the audio data;

receiving, at a user interface of the audio playback device in the slave role, a second user selection corresponding to a play command; and

in response to receiving the second user selection;

transmitting, by the audio playback device in the slave role to the master device, the play command, and

performing, by the audio playback device, the play command to resume the playback of the audio data, by the audio playback device in the slave role, in synchrony with the master device resuming the playback of the audio data.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the operations further comprise:

receiving, by the audio playback device from the master device, a timing instruction associated with the pause command; and

performing, by the audio playback device, the pause command to pause the playback of the audio data based on the timing instruction.

11. The non-transitory computer-readable storage medium of claim 10 , wherein performing the pause command to pause the playback of the audio data is further based on a difference between the clock of the audio playback device and a clock of the master device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: DALEY, MICHAEL J.; BOLINGER, TRAVIS; O'NEAL, HEATH
To: MOTOROLA MOBILITY LLC
Reel/Frame 046290/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 046290/0640 →
Continuity (5)
Continuation 15681193 · Aug 18, 2017
Continuation 15052503 · Feb 24, 2016
Continuation 13945493 · Jul 18, 2013
Provisional Application 61816972 · Apr 29, 2013
Related Publication 20180317189A1 · Nov 1, 2018