IP Library Granted Patent US 11,329,943
Granted Patent B2
US 11,329,943 · App. 14/971,873 · Granted May 10, 2022

Wireless network reliability over relatively low-power protocols

Inventors: Pradip De (Fremont, CA); Jay D. Logue (San Jose, CA)
Assignee: Google LLC
H04L51/30H04L12/2803H04L69/18H04L69/22H04L69/28
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,329,943
App. No.
14/971,873
Granted
May 10, 2022
Kind
B2
Abstract

Systems and methods relating to communication over relatively low power protocols by adding reliability functionality are presented. Sent messages having reliability functionality include an acknowledgment request flag that indicates that the message includes a request to acknowledge the request once received and an application payload that includes data for the message. The acknowledgment request flag causes responding devices to send an acknowledgment message to the sending device indicating that the sent message has been received.

Claims (61)

1. An electronic device comprising:

a processor; and

memory comprising instructions, executable by the processor, to configure the processor to:

receive, on behalf of a sleepy device that connects to the electronic device using an 802.15.4 network, a message from a remote device destined for the sleepy device, the message comprising a message format that includes:

an acknowledgment request flag that indicates that the message includes a request to acknowledge the request once received; and

an application payload that includes data for the message;

determine whether the sleepy device is in a sleep mode;

if the sleepy device is not in the sleep mode, transmit the message to the sleepy device using the 802.15.4 network; and

if the sleepy device is in the sleep mode:

in response to the reception of the message, transmit a delay delivery request to the remote device that is effective to direct the remote device to delay retransmissions of the message until a period where the sleepy device is not in the sleep mode, the delay delivery request including a value that reflects a sleep duration of the sleep mode for the sleepy, the delay delivery request adding the value to a retransmission threshold for a retransmission timer at the remote device to cause the remote device to delay retransmission of the message until the retransmission timer has reached a delayed threshold that is a combination of the retransmission threshold and the value, and the retransmission threshold being a value reflecting how often retransmissions are to be sent; and

store the message as a held message to be delivered to the sleepy device when it awakens from the sleep mode.

2. The electronic device of claim 1 , wherein the instructions configure the processor to:

receive a message poll from the sleepy device when the sleepy device awakens from the sleep mode; and

if any held messages were received during the sleep mode of the sleepy device, transmit the held messages to the sleepy device.

3. The electronic device of claim 2 , wherein the instructions configure the processor to:

during the sleep mode of the sleepy device, determine if the message is a duplicate of a previously received message destined for the sleepy device using a common message identifier present in the message and the previously received message, and wherein the transmission of the held messages comprises sending a single copy of the message instead of duplicate held messages.

4. The electronic device of claim 1 , wherein the instructions configure the processor to:

receive an acknowledgment message for the message from the sleepy device destined for the remote device; and

forward the acknowledgment message to the remote device from the sleepy device.

5. The electronic device of claim 1 , wherein the message is received over a relatively low power communication protocol.

6. The electronic device of claim 1 , wherein the electronic device is a border router.

7. A method of managing messages for sleepy devices by an electronic device, the method comprising the electronic device:

receiving, on behalf of a sleepy device that connects to the electronic device using an 802.15.4 network, a message from a remote device destined for the sleepy device, the message comprising a message format that includes:

an acknowledgment request flag that indicates that the message includes a request to acknowledge the request once received; and

an application payload that includes data for the message;

determining whether the sleepy device is in a sleep mode;

if the sleepy device is not in the sleep mode, transmitting the message to the sleepy device using the 802.15.4 network; and

if the sleepy device is in the sleep mode:

in response to the receiving the message, transmitting a delay delivery request to the remote device that is effective to direct the remote device to delay retransmissions of the message until a period where the sleepy device is not in the sleep mode, the delay delivery request including a value that reflects a sleep duration of the sleep mode for the sleepy device, the delay delivery request adding the value to a retransmission threshold for a retransmission timer at the remote device to cause the remote device to delay retransmission of the message until the retransmission timer has reached a delayed threshold that is a combination of the retransmission threshold and the value, and the retransmission threshold being a value reflecting how often retransmissions are to be sent; and

storing the message as a held message to be delivered to the sleepy device when it awakens from the sleep mode.

8. The method of claim 7 , the method further comprising the electronic device:

receiving a message poll from the sleepy device when the sleepy device awakens from the sleep mode; and

if any held messages were received during the sleep mode of the sleepy device, transmitting the held messages to the sleepy device.

9. The method of claim 8 , the method further comprising the electronic device:

during the sleep mode of the sleepy device, determining if the message is a duplicate of a previously received message destined for the sleepy device using a common message identifier present in the message and the previously received message, and wherein the transmitting the held messages comprises sending a single copy of the message instead of duplicate held messages.

10. The method of claim 7 , the method further comprising the electronic device:

receiving an acknowledgment message for the message from the sleepy device destined for the remote device; and

forwarding the acknowledgment message to the remote device from the sleepy device.

11. The method of claim 7 , wherein the message is received over a relatively low power communication protocol.

12. The method of claim 7 , wherein the electronic device is a border router.

13. A non-transitory, computer-readable medium comprising instructions, executable by a processor of an electronic device, to configure the electronic device to:

receive, on behalf of a sleepy device that connects to the electronic device using an 802.15.4 network, a message from a remote device destined for the sleepy device, the message comprising a message format that includes:

an acknowledgment request flag that indicates that the message includes a request to acknowledge the request once received; and

an application payload that includes data for the message;

determine whether the sleepy device is in a sleep mode;

if the sleepy device is not in the sleep mode, transmit the message to the sleepy device using the 802.15.4 network; and

if the sleepy device is in the sleep mode:

in response to the reception of the message, transmit a delay delivery request to the remote device that is effective to direct the remote device to delay retransmissions of the message until a period where the sleepy device is not in the sleep mode, the delay delivery request including a value that reflects a sleep duration of the sleep mode for the sleepy device, the delay delivery request adding the value to a retransmission threshold for a retransmission timer at the remote device to cause the remote device to delay retransmission of the message until the retransmission timer has reached a delayed threshold that is a combination of the retransmission threshold and the value, and the retransmission threshold being a value reflecting how often retransmissions are to be sent; and

store the message as a held message to be delivered to the sleepy device when it awakens from the sleep mode.

14. The non-transitory, computer-readable medium of claim 13 , wherein the instructions are executable by the processor to configure the electronic device to:

receive a message poll from the sleepy device when the sleepy device awakens from the sleep mode; and

if any held messages were received during the sleep mode of the sleepy device, transmit the held messages to the sleepy device.

15. The non-transitory, computer-readable medium of claim 14 , wherein the instructions are executable by the processor to configure the electronic device to:

during the sleep mode of the sleepy device, determine if the message is a duplicate of a previously received message destined for the sleepy device using a common message identifier present in the message and the previously received message, and wherein the transmission of the held messages comprises sending a single copy of the message instead of duplicate held messages.

16. The non-transitory, computer-readable medium of claim 13 , wherein the instructions are executable by the processor to configure the electronic device to:

receive an acknowledgment message for the message from the sleepy device destined for the remote device; and

forward the acknowledgment message to the remote device from the sleepy device.

17. The non-transitory, computer-readable medium of claim 13 , wherein the message is received over a relatively low power communication protocol.

18. The non-transitory, computer-readable medium of claim 17 , wherein the relatively low power communication protocol comprises a protocol that transmits packets of data as datagrams between the electronic device and one or more remote devices.

19. The electronic device of claim 5 , wherein the relatively low power communication protocol comprises a protocol that transmits packets of data as datagrams between the electronic device and one or more remote devices.

20. The method of claim 11 , wherein the relatively low power communication protocol comprises a protocol that transmits packets of data as datagrams between the electronic device and one or more remote devices.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2016
From: DE, PRADIP; LOGUE, JAY D.
To: GOOGLE INC.
Reel/Frame 038005/0276 →
Continuity (2)
Provisional Application 62093275 · Dec 17, 2014
Related Publication 20160182432A1 · Jun 23, 2016