IP Library › Granted Patent US 11,064,281
Granted Patent B1
US 11,064,281 · App. 16/113,356 · Granted Jul 13, 2021

Sending and receiving wireless data

Inventors: Ganesha Batta (Cupertino, CA); Milos Jorgovanovic (Mountain View, CA)
Assignee: Amazon Technologies, Inc.
H04R1/1041G06F3/167H04R1/1016H04R2420/07
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 11,064,281
App. No.
16/113,356
Granted
Jul 13, 2021
Kind
B1
Abstract

A system and method includes a first device (e.g., a primary wireless earbud) connected to a second device (e.g., a secondary wireless earbud) using a first wireless connection. The first device is also connected to a third device (e.g., a smartphone or smart watch) using a second wireless connection. The second device receives data, such as packets, sent from the third device to the first device by monitoring the second wireless connection. If the second device does not receive a packet, it informs the first device, which sends the packet to the second device.

Claims (105)

1. A computer-implemented method, the method comprising:

receiving, at a first audio-output device during a first time period, a first data packet;

receiving, at the first audio-output device during a second time period, a second data packet;

determining that a wireless connection between the first audio-output device and a second audio-output device is capable of transmitting data during a third time period based at least in part on determining that a third device has ceased sending data;

sending, from the first audio-output device to the second audio-output device during the third time period, first data indicating that the wireless connection is available;

receiving, from the second audio-output device during the third time period, second data including a request for the second data packet; and

sending, from the first audio-output device during the third time period, the second data packet to the second audio-output device.

2. The computer-implemented method of claim 1 , further comprising:

receiving, at the second audio-output device during the first time period, the first data packet;

receiving, at the second audio-output device, the second data packet;

determining a first time of sending the first data packet;

determining a second time of sending the second data packet;

determining that the second time is before the first time;

outputting, during a fourth time period, first audio corresponding to the second data packet; and

outputting, during a fifth time period occurring after the fourth time period, second audio corresponding to the first data packet.

3. The computer-implemented method of claim 2 , further comprising:

storing the first data packet in a first packet buffer;

storing the second data packet in a second packet buffer;

based on determining that the second time occurs before the first time, storing the second data packet in a first-in-first-out buffer; and

after storing the second data packet in the first-in-first-out buffer, storing the first data packet in the first-in-first-out buffer.

4. The computer-implemented method of claim 1 , further comprising:

sending, by the second audio-output device to the first audio-output device, during a fourth time period, third data including a request for a third data packet;

determining that a time difference between an end of the fourth time period and a present time is greater than a threshold time; and

based at least in part on determining that the time difference is greater than the threshold time, outputting, during a fifth time period after the fourth time period, first audio corresponding to the first data packet and the second data packet.

5. The computer-implemented method of claim 1 , further comprising:

after sending the second data packet from the first audio-output device, receiving, at the first audio-output device during a first half of a first Bluetooth slot, third data including acknowledgement of receipt of the second data packet,

wherein sending the second data packet occurs during a second half of a second Bluetooth slot and wherein determining that the wireless connection is capable of transmitting data occurs during a first half of the second Bluetooth slot.

6. The computer-implemented method of claim 1 , further comprising:

after sending, from the first audio-output device to the second audio-output device, the second data packet, waiting, by the first audio-output device, for acknowledgement of receipt of the second data packet;

determining that a time of waiting is greater than a threshold time; and

based at least in part on determining that the time is greater than the threshold time, re-sending, from the first audio-output device, the second data packet.

7. The computer-implemented method of claim 1 , wherein determining that the wireless connection between the first audio-output device and the second audio-output device is capable of transmitting data further comprises:

waiting, during the third time period, by the first audio-output device, for receipt of a third data packet sent from the third device; and

determining that the third device has not transmitted the third data packet during the third time period.

8. The computer-implemented method of claim 1 , further comprising:

receiving, at the second audio-output device during a fourth time period, a first copy of a third data packet;

receiving, at the second audio-output device during a fifth time period, a second copy of the third data packet;

determining that the first copy and the second copy correspond to the third data packet; and

discarding one of the first copy or the second copy.

9. The computer-implemented method of claim 1 , wherein:

the first time period is assigned for first Bluetooth communication,

the second time period is assigned for second Bluetooth communication,

the third time period is assigned for third Bluetooth communication, and

determining that the wireless connection is available for sending data comprises determining that the third time period does not include a third data packet.

10. The computer-implemented method of claim 1 , wherein determining that the wireless connection is capable of transmitting data comprises:

receiving, from the third device at the first audio-output device, an indication of ending of transmission; and

after receiving the indication, outputting, by the first audio-output device, voice audio corresponding to the first data packet and the second data packet.

11. The computer-implemented method of claim 1 , further comprising:

establishing the wireless connection between the first audio-output device and the second audio-output device using a Bluetooth protocol; and

wherein the request for the second data packet is received by the first audio-output device from the second audio-output device over the wireless connection using the Bluetooth protocol and the second data packet is sent from the first audio-output device to the second audio-output device over the wireless connection using the Bluetooth protocol.

12. A system comprising:

at least one processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the system to:

receive, at a first audio-output device during a first time period, a first data packet;

receive, at the first audio-output device during a second time period, a second data packet;

determine that a wireless connection between the first audio-output device and a second audio-output device is capable of transmitting data during a third time period based at least in part on determining that a third device has ceased sending data;

send, from the first audio-output device to the second audio-output device during the third time period, first data indicating that the wireless connection is available;

receive, from the second audio-output device during the third time period, second data including a request for the second data packet; and

send, from the first audio-output device during the third time period, the second data packet to the second audio-output device.

13. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

receive, at the second audio-output device during the first time period, the first data packet;

receive, at the second audio-output device, the second data packet;

determine a first time of sending the first data packet;

determine a second time of sending the second data packet;

determine that the second time is before the first time;

output, during a fourth time period, first audio corresponding to the second data packet; and

output, during a fifth time period occurring after the fourth time period, second audio corresponding to the first data packet.

14. The system of claim 13 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

store the first data packet in a first packet buffer;

store the second data packet in a second packet buffer;

based on determining that the second time occurs before the first time, store the second data packet in a first-in-first-out buffer; and

after storing the second data packet in the first-in-first-out buffer, store the first data packet in the first-in-first-out buffer.

15. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

send, by the second audio-output device to the first audio-output device, during a fourth time period, third data including a request for a third data packet;

determine that a time difference between an end of the fourth time period and a present time is greater than a threshold time; and

based at least in part on determining that the time difference is greater than the threshold time, output, during a fifth time period after the fourth time period, first audio corresponding to the first data packet and the second data packet.

16. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

after sending the second data packet from the first audio-output device, receive, at the first audio-output device during a first half of a first Bluetooth slot, third data including acknowledgement of receipt of the second data packet,

wherein sending the second data packet occurs during a second half of a second Bluetooth slot and wherein determining that the wireless connection is capable of transmitting data occurs during a first half of the second Bluetooth slot.

17. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

after sending, from the first audio-output device to the second audio-output device, the second data packet, wait, by the first audio-output device, for acknowledgement of receipt of the second data packet;

determine that a time of waiting is greater than a threshold time; and

based at least in part on determining that the time is greater than the threshold time, re-send, from the first audio-output device, the second data packet.

18. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

wait, during the third time period, by the first audio-output device, for receipt of a third data packet sent from the third device; and

determine that the third device has not transmitted the third data packet during the third time period.

19. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

receive, at the second audio-output device during a fourth time period, a first copy of a third data packet;

receive, at the second audio-output device during a fifth time period, a second copy of the third data packet;

determine that the first copy and the second copy correspond to the third data packet; and

discard one of the first copy or the second copy.

20. The system of claim 12 , wherein:

the first time period is assigned for first Bluetooth communication,

the second time period is assigned for second Bluetooth communication,

the third time period is assigned for third Bluetooth communication, and

the instructions that, when executed by the at least one processor, cause the system to determine that the wireless connection is capable of transmitting data comprise instructions that, when executed by the at least one processor, further cause the system to determine that the third time period does not include a third data packet.

21. The system of claim 12 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

receive, from the third device at the first audio-output device, an indication of ending of transmission; and

after receiving the indication, output, by the first audio-output device, voice audio corresponding to the first data packet and the second data packet.

22. A computer-implemented method comprising:

receiving, at a first audio-output device during a first time period, a first data packet;

receiving, at the first audio-output device during a second time period, a second data packet;

determining, during a first half of a first Bluetooth slot, that a wireless connection between the first audio-output device and a second audio-output device is capable of transmitting data during a second half of the first Bluetooth slot based at least in part on determining that a third device has ceased sending data;

sending, from the first audio-output device during the second half of the first Bluetooth slot, the second data packet to the second audio-output device; and

after sending the second data packet, receiving, at the first audio-output device during a first half of a second Bluetooth slot, third data including acknowledgement of receipt of the second data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2018
From: BATTA, GANESHA; JORGOVANOVIC, MILOS
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 046712/0103 →
Continuity (3)
Provisional Application 62683833 · Jun 12, 2018
Provisional Application 62656490 · Apr 12, 2018
Provisional Application 62586419 · Nov 15, 2017
Cited By (3)
US 12,198,691 US 12,484,092 US 12,719,806