IP Library Granted Patent US 9,531,704
Granted Patent B2
US 9,531,704 · App. 13/926,312 · Granted Dec 27, 2016

Efficient network layer for IPv6 protocol

Inventors: Grant M. Erickson (Sunnyvale, CA); Christopher A. Boross (San Francisco, CA)
Assignee: Google Inc.
H04L63/0823H04L9/3263H04L45/741H04L45/745H04W12/06H04W40/02H04W80/045H04W84/18H04L63/061H04L63/166H04W40/24H04W84/12
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 9,531,704
App. No.
13/926,312
Granted
Dec 27, 2016
Kind
B2
Abstract

An electronic device may include a network interface that may enable the electronic device to wirelessly couple the electronic device to other electronic devices. The electronic device may also include a processor that may determine at least one data path to the other electronic devices using a Routing Information Protocol-Next Generation (RIPng) routing mechanism. After identifying at least one data path to the other electronic devices, the processor may determine whether the identified data path(s) is secure using a Datagram Transport Layer Security (DTLS) protocol. If the identified data path(s) is determined to be secure, the processor may send Internet Protocol version 6 (IPv6) data packets to the other electronic devices via the secure data path(s).

Claims (42)

1. An electronic device, comprising:

a network interface configured to wirelessly couple the electronic device to at least one other electronic device in a wireless mesh network; and

a processor configured to:

establish at least one mesh link to the at least one other electronic device via the network interface;

receive distance vector routing data having a routing table of distances, the distance vector routing data being received from the at least one other electronic device via the at least one mesh link, the routing table of distances comprising a plurality of destination electronic devices, intermediate electronic devices for routing data to each of the plurality of the destination electronic devices, and a number of hops of the intermediate electronic devices between the electronic device and the plurality of the destination electronic devices;

establish a session to communicate with one of the plurality of destination electronic devices using a Datagram Transport Layer Security (DTLS) protocol, packet data associated with the session being routed based on the received distance vector routing data; and

utilize an IPv6-based application layer protocol for communication between the electronic device and the one of the plurality of the destination electronic devices using the established session, the application layer communication of the session being secured at the electronic device and at the one of the plurality of the destination electronic devices using the DTLS protocol.

2. The electronic device of claim 1 , wherein the electronic device and the at least one other electronic device are configured to be part of the wireless mesh network.

3. The electronic device of claim 1 , wherein the routing table comprises the at least one mesh link.

4. The electronic device of claim 1 , wherein the processor is configured to generate the routing table by:

sending a request for routing information to the at least one other electronic device having a direct communication connection to the electronic device;

receiving the routing information from the at least one other electronic device, wherein the routing information comprises an identification of electronic devices that are directly communicatively coupled to the at least one other electronic device; and

generating the routing table based at least in part on the routing information.

5. The electronic device of claim 1 , wherein the routing table comprises an identification of one or more electronic devices that are communicatively coupled via one or more mesh links between the electronic device and the at least one other electronic device.

6. The electronic device of claim 1 , wherein the processor is configured to update the routing table by:

sending a request for routing information to the at least one other electronic device communicatively coupled to an additional electronic device;

receiving the routing information from the at least one other electronic device, wherein the routing information comprises an identification of one or more electronic devices that are communicatively coupled to the at least one other electronic device and communicatively coupled to the additional electronic device; and

updating the routing table based at least in part on the identification of the electronic devices.

7. The electronic device of claim 1 , wherein the processor is configured to identify a security certificate embedded within the electronic device to establish the session.

8. The electronic device of claim 7 , wherein the security certificate is embedded within the electronic device during a manufacturing process associated with the electronic device.

9. The electronic device of claim 1 , wherein the distances of the vector routing data comprise a count of mesh links between the electronic device and each of the plurality of the destination electronic devices.

10. The electronic device of claim 1 , wherein the processor is configured to utilize a private key and a public key when communicating between the electronic device and the at least one other electronic device.

11. The electronic device of claim 1 , wherein the electronic device utilizes the at least one other electronic device to route the packet data in the DTLS session between the electronic device and the one of the plurality of the destination electronic devices.

12. A method for communicating between an electronic device and at least one other electronic device in a wireless mesh network, comprising:

establishing at least one mesh link to the at least one other electronic device via a network interface;

receiving distance vector routing data having a routing table of distances, the distance vector routing data being received from the at least one other electronic device via the at least one mesh link, the routing table of distances comprising a plurality of destination electronic devices, intermediate electronic devices for routing data to each of the plurality of the destination electronic devices, and a number of hops of the intermediate electronic devices between the electronic device and the plurality of the destination electronic devices;

establishing a session to communicate with one of the plurality of destination electronic devices using a Datagram Transport Layer Security (DTLS) protocol, packet data associated with the session being routed based on the received distance vector routing data; and

utilizing an IPv6-based application layer protocol for communication between the electronic device and the one of the plurality of the destination electronic devices using the established session, the application layer communication of the session being secured at the electronic device and at the one of the plurality of the destination electronic devices using the DTLS protocol.

13. The method of claim 10 , comprising:

sending a request for routing information from the electronic device to the at least one other electronic device communicatively disposed between the electronic device and the one of the plurality of the destination electronic devices, wherein the routing information comprises an identification of electronic devices communicatively coupled to the at least one other electronic device; and

generating, at the electronic device, the routing table based at least in part on the routing information.

14. The method of claim 12 , wherein the session is established when the electronic device determines that a certificate of the one of the plurality of the destination electronic devices is valid.

15. A non-transitory computer-readable medium comprising instructions for an electronic device to send or receive data in a wireless mesh network, wherein the instructions are configured to:

establish at least one mesh link to at least one other electronic device via a network interface;

receive distance vector routing data having a routing table of distances, the distance vector routing data being received from the at least one other electronic device via the at least one mesh link, the routing table of distances comprising a plurality of destination electronic devices, intermediate electronic devices for routing data to each of the plurality of the destination electronic devices, and a number of hops of the intermediate electronic devices between the electronic device and the plurality of the destination electronic devices;

establish a session to communicate with one of the plurality of the destination electronic devices using a Datagram Transport Layer Security (DTLS) protocol, packet data associated with the session being routed based on the received distance vector routing data; and

utilize an IPv6-based application layer protocol for communication between the electronic device and the one of the plurality of the destination electronic devices using the established session, the application layer communication of the session being secured at the electronic device and at the one of the plurality of the destination electronic devices using the DTLS protocol.

16. The non-transitory computer-readable medium of claim 15 , wherein the at least one other electronic device comprises a thermostat, a hazard detection unit, an entryway interface device, a light switch, a wall plug interface, a pool heater, an irrigation system, or any combination thereof.

17. The non-transitory computer-readable medium of claim 15 , wherein the wireless mesh network is disposed throughout a house, an apartment, or an office.

18. The non-transitory computer-readable medium of claim 15 , wherein the wireless mesh network is configured to communicatively couple to the Internet.

19. The non-transitory computer-readable medium of claim 15 , wherein the instructions are configured to transport a DTLS packet in an Internet Protocol version 6 (IPv6) data packet over the wireless mesh network.

20. The non-transitory computer-readable medium of claim 15 , wherein the instructions are configured to encode or decode data communicated between the electronic device and the at least one other electronic devices on a data link layer.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2014
From: NEST LABS, INC.
To: GOOGLE INC.
Reel/Frame 033568/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2013
From: ERICKSON, GRANT M.; BOROSS, CHRISTOPHER A.
To: NEST LABS, INC.
Reel/Frame 031120/0583 →
Continuity (1)
Related Publication 20140376530A1 · Dec 25, 2014