IP Library › Granted Patent US 10,541,916
Granted Patent B2
US 10,541,916 · App. 14/973,507 · Granted Jan 21, 2020

Tunneled routing

Inventors: Pradip De (Fremont, CA); Jay D. Logue (San Jose, CA)
Assignee: Google LLC
H04L45/74H04W40/02H04W84/18
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,541,916
App. No.
14/973,507
Filed
Dec 17, 2015
Granted
Jan 21, 2020
Kind
B2
Examiner
LI, GUANG W
Art Unit
2478
USPC
370/338
Abstract

Systems and methods relating to transmitting data between an internetwork of multiple networks. The transmitted data uses a device address that uses a common addressing scheme regardless of network protocols used to implement the multiple networks. The multiple networks includes networks having multiple network protocols, and the multiple networks extend a connection from a home network to a service using a tunnel.

Claims (66)

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

transmit, to a remote service using a tunneled connection through multiple networks of a fabric network, a packet of information in a message using a Weave communication protocol that is common to devices in the fabric network, the message comprising a data packet that includes a tunnel header and an application payload;

the tunnel header comprising:

a length field indicating a length of the message;

a message header field configured to indicate:

a message type indicating that the message includes the packet of information is that is to be transmitted via a tunnel; and

a security indicator to indicate whether security information is included in the message;

a version field indicating a version of message format being used;

a packet length field indicating a length of a tunneled message; and

a packet field that carries the packet of information.

2. The non-transitory, computer-readable medium of claim 1 , wherein the message comprises a packet length field immediately preceding the message header field, and wherein the packet length field indicates a length of an enclosing packet enclosing the packet.

3. The non-transitory, computer-readable medium of claim 1 , wherein the instructions are executable to cause the processor to overlay the packet on a profile of a plurality of profiles, and wherein each profile of the plurality of profiles comprises a set of schema for encoding and decoding messages.

4. The non-transitory, computer-readable medium of claim 3 , wherein the overlaid profile comprises:

a core profile comprising a set of basic schemas;

a data management profile comprising a set of data management schemas that enables the managing and accessing remote data;

a bulk data transfer profile comprising a set of bulk data transfer schemas that enables bulk transfers of data between electronic devices; or

a status reporting profile comprising a set of status reporting schemas that enables sending or receiving status information within the fabric network.

5. The non-transitory, computer-readable medium of claim 1 , wherein the instructions are executable to cause the processor to encode the packet in a tag-length-value format.

6. The non-transitory, computer-readable medium of claim 1 , wherein the message comprises a source ID flag that indicates whether a source address for a device is included in the message, and wherein the source address indicates a sending device formatted in a Unique Local Address format comprising:

a global ID having 40 bits of data configured to identify the fabric network in which the sending device is connected;

a subnet ID having 16 bits of data configured to identify a logical network in the fabric network in which the sending device is connected; or

an interface ID having 64 bits of data configured to identify the sending device.

7. The non-transitory, computer-readable medium of claim 1 , wherein the message comprises a destination ID flag that indicated whether a destination address is included in the message, wherein the destination address indicates a destination device that is connected to the fabric network, and wherein the destination address is formatted in a Unique Local Address format comprising:

a global ID having 40 bits of data configured to identify the fabric network in which the destination device is connected;

a subnet ID having 16 bits of data configured to identify a logical network in the fabric network in which the destination device is connected; and

an interface ID having 64 bits of data configured to identify the destination device.

8. The non-transitory, computer-readable medium of claim 1 , wherein the message comprises a message integrity check field that has a length based at least in part on an encryption type indicated by an encryption type field in the message header.

9. The non-transitory, computer-readable medium of claim 8 , wherein the message comprises:

a key ID field that indicates an encryption or message integrity key used to encrypt the message indicated by the encryption type field;

an initialization vector field that comprises an initialization vector used to encrypt the message indicated by the encryption type field;

a padding field comprising a length of bytes representing cryptographic padding added to the message to make an encrypted portion of the message evenly divisible by an encryption block size; or

a message signature field located at an end of the message, wherein the message signature field includes a cryptographic signature for the message based at least in part on a signature type indicated by a signature type field.

10. The non-transitory, computer-readable medium of claim 1 , wherein the data packet encloses an Internet Protocol packet that encloses a Uniform Datagram Protocol packet.

11. The non-transitory, computer-readable medium of claim 1 , wherein the data packet includes:

the message header field comprising:

an addressing indicator to indicate whether addressing information is included in the message; and

a message ID field configured to identify a message with an identifier that is unique for a device in the fabric network that encodes or sends the message, wherein the message ID field follows the message header field.

12. The non-transitory, computer-readable medium of claim 1 , wherein the packet is transmitted via at least one of a plurality of networks, and wherein one of the plurality of networks is a low-power wireless mesh network.

13. The non-transitory, computer-readable medium of claim 12 , wherein the low-power wireless mesh network comprises an 802.15.4 wireless network.

14. The non-transitory, computer-readable medium of claim 13 , wherein a second network of the plurality of networks comprises an 802.11 wireless network.

15. An electronic device comprising:

a processor; and

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

transmit, to a remote service using a tunneled connection through multiple networks of a fabric network, a packet of information in a message using a Weave communication protocol that is common to devices in the fabric network, the message comprising a data packet that includes a tunnel header and an application payload;

the tunnel header comprising:

a length field indicating a length of the message;

a message header field configured to indicate:

a message type indicating that the message includes the packet of information is that is to be transmitted via a tunnel; and

a security indicator to indicate whether security information is included in the message;

a version field indicating a version of message format being used;

a packet length field indicating a length of a tunneled message; and

a packet field that carries the packet of information.

16. The electronic device of claim 15 , wherein the message comprises a packet length field immediately preceding the message header field, and wherein the packet length field indicates a length of an enclosing packet enclosing the packet.

17. The electronic device of claim 15 , wherein the data packet encloses an Internet Protocol packet that encloses a Uniform Datagram Protocol packet.

18. The electronic device of claim 15 , wherein the packet is transmitted via at least one of a plurality of networks, and wherein one of the plurality of networks is a low-power wireless mesh network.

19. The electronic device of claim 18 , wherein the low-power wireless mesh network comprises an 802.15.4 wireless network, and wherein a second network of the plurality of networks comprises an 802.11 wireless network.

20. A method for transmitting data by a sensor device in an internetwork of a plurality of networks including a relatively low-power wireless mesh network, the method comprising:

transmitting, to a remote service using a tunneled connection through multiple networks of the internetwork of the plurality of networks, a packet of information in a message using a Weave communication protocol that is common to devices in the internetwork of the plurality of networks, the message comprising a data packet including a tunnel header and an application payload;

the tunnel header comprising:

a length field indicating a length of the message;

a message header field configured to indicate:

a message type indicating that the message includes the packet of information is that is to be transmitted via a tunnel; and

a security indicator to indicate whether security information is included in the message;

a version field indicating a version of message format being used;

a packet length field indicating a length of a tunneled message; and

a packet field that carries the packet of information.

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 18, 2016
From: DE, PRADIP; LOGUE, JAY D.
To: GOOGLE INC.
Reel/Frame 038035/0993 →
Continuity (2)
Provisional Application 62093289 · Dec 17, 2014
Related Publication 20160191380A1 · Jun 30, 2016
Cited By (1)
US 12,524,356