IP Library Granted Patent US 10,440,068
Granted Patent B2
US 10,440,068 · App. 15/810,015 · Granted Oct 8, 2019

Service provisioning profile for a fabric network

Inventor: Jay D. Logue (San Jose, CA)
Assignee: Google LLC
H04L65/1069F24F11/30F24F11/62G05B15/02G05B19/042G06F16/33G06F16/38G08B17/10G08B25/001G08B29/02H04L12/281H04L12/2803H04L12/283H04L12/2818H04L12/2823H04L29/06H04L41/0806H04L41/0816H04L43/0805H04L45/02H04L45/74H04L61/1511H04L61/1541H04L63/08H04L63/0823H04L67/02H04L67/06H04L67/10H04L67/12H04L67/141H04L67/143H04L67/26H04L67/303H04L69/28H04W4/80H04W12/04G05B2219/2642
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,440,068
App. No.
15/810,015
Granted
Oct 8, 2019
Kind
B2
Abstract

Methods and systems for pairing a device to an account managed by a remote service include connecting to a commissioning device. The commissioning device is a device that manages pairing of devices to a remote service. Pairing the device to the fabric in a remote service also includes receiving service configuration details from the commissioning device. The commissioning device has previously retrieved the service configuration details that contain details configured to enable the joining device to connect to the remote service. Using the service configuration details, a device connects to the remote service using the received service configuration details.

Claims (56)

1. A method for managing pairing of a joining device, by a commissioning device, to an account managed by a remote service, the method comprising:

connecting, by the joining device, to the commissioning device via a first communication path of multiple communication paths;

receiving, via the first communication path, service configuration details from the commissioning device, the service configuration details configured to enable the joining device to connect to the remote service using any of the multiple communication paths, and the service configuration details comprising an account identifier, a pairing token that is uniquely associated with the account identifier, and a list of certificates, the pairing token being generated by the remote service and is used to identify a thread of communications;

connecting, by the joining device using the service configuration details, to the remote service via a second communication path of the multiple communication paths; and

validating the connection between the joining device and the remote service using the account identifier, the pairing token that is uniquely associated with the account identifier, and the list of certificates, the validating being effective to enable the remote service to communicate a command to the joining device to cause the joining device to perform a control action.

2. The method of claim 1 , wherein the service configuration details are configured to be accessible, at the remote service, by entry of:

the account identifier that identifies an account that is paired to a fabric to which the joining device is to be joined; and

a password for the account that verifies that a device having the password is authorized to manage the account.

3. The method of claim 1 , comprising:

obtaining, by the joining device, additional service configuration details from the remote service via the second communication path.

4. The method of claim 1 , wherein the certificates included in the list of certificates include a public key, and wherein the list of certificates includes certificates that correspond to a device type for the joining device.

5. The method of claim 1 , wherein the service connection configuration details comprise a location of entry that is usable to communicate with the remote service, and wherein the location of entry comprises a location from which the joining device may obtain a directory of pairing servers within the remote service that enable the joining device to determine at least another location of an appropriate pairing server within the remote service.

6. The method of claim 1 , wherein the pairing token has a limited duration of validity, wherein validation of an initial connection between the joining device and the remote service is blocked after the limited duration of validity has expired after the commissioning device receives the service configuration details from the remote service, and wherein after the limited duration of validity the commissioning device acquires an updated version of the service configuration details.

7. A non-transitory, computer-readable medium having stored thereon instructions for pairing a joining device to an account managed by a remote service, the instructions executable by a processor to configure the joining device to:

connect to a commissioning device via a first communication path of multiple communication paths, the commissioning device being configured to manage the pairing of the joining device to an account managed by the remote service;

receive, via the first communication path, service configuration details from the commissioning device, the service configuration details configured to enable the joining device to connect to the remote service using any of the multiple communication paths, and the service configuration details comprising an account identifier, a pairing token that is uniquely associated with the account identifier, and a list of certificates, the pairing token being generated by the remote service and is used to identify a thread of communications;

connect to the remote service via a second communication path of the multiple communication paths using the service configuration details; and

validate the connection between the joining device and the remote service using the account identifier, the pairing token that is uniquely associated with the account identifier, and the list of certificates, the validation being effective to enable the remote service to communicate a command to the joining device to cause the joining device to perform a control action.

8. The non-transitory, computer-readable medium of claim 7 , wherein the received service configuration details are in an encrypted format that is inaccessible by the commissioning device, the joining device being configured to decrypt the received service configuration details to access data encrypted within the service configuration details.

9. The non-transitory, computer-readable medium of claim 7 , wherein the received service configuration details are encoded using a tag-length-value format, JavaScript Object Notation (JSON) format, or a format that is a combination thereof.

10. The non-transitory, computer-readable medium of claim 7 , the instructions executable by the processor to configure the joining device to:

receive a successful pair message from the remote service, the successful pair message indicating that:

the joining device has been authenticated to the remote service within an expected period of time; and

the remote service has added the joining device to a list of devices paired with an account that is associated with a structure in which the joining device is to be added.

11. The non-transitory, computer-readable medium of claim 10 , the instructions executable by the processor to configure the joining device to:

upon receipt of the successful pair message, store the received service configuration details in persistent memory; and

use the persistently-stored service configuration details to communicate with the remote service unless the remote service updates the persistently-stored service configuration details.

12. The non-transitory, computer-readable medium of claim 11 , the instructions executable by the processor to configure the joining device to:

after storing the service configuration details in the persistent memory:

receive other service configuration details for another remote service; and

connect to the other remote service using the other service configuration details.

13. The non-transitory, computer-readable medium of claim 7 , the instructions executable by the processor to configure the joining device to:

obtain additional service configuration details from the remote service via the second communication path.

14. The non-transitory, computer-readable medium of claim 13 , wherein the additional service configuration details comprise user preferences for behavior of the joining device or a structure in which the joining device is to be added, user interface choices that control how the joining device is to interact with users within the structure, or both.

15. An electronic device comprising:

a network interface;

a processor; and

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

connect the electronic device, using the network interface, to a commissioning device via a first communication path of multiple communication paths, the commissioning device being configured to manage pairing of the electronic device to an account managed by a remote service;

receive, via the first communication path using the network interface, service configuration details from the commissioning device, the service configuration details configured to enable the electronic device to connect to the remote service using any of the multiple communication paths, and the service configuration details comprising an account identifier, a pairing token that is uniquely associated with the account identifier, and a list of certificates, the pairing token being generated by the remote service and is used to identify a thread of communications;

connect the electronic device to the remote service via a second communication path of the multiple communication paths using the service configuration details and the network interface; and

validate the connection between the electronic device and the remote service using the account identifier, the pairing token that is uniquely associated with the account identifier, and the list of certificates, the validation being effective to enable the remote service to communicate a command to the electronic device to cause the electronic device to perform a control action.

16. The electronic device of claim 15 , wherein the instructions are executable to configure the processor to:

receive, via the network interface, an unregister request that indicates that the electronic device is to be removed from the remote service or that the electronic device is no longer associated with the account by the remote service; and

delete the service configuration details.

17. The electronic device of claim 16 , wherein the unregister request is received:

through a connection from the electronic device to the remote service; or

from the remote service via the commissioning device.

18. The electronic device of claim 15 , wherein the instructions are executable to configure the processor to:

receive, via a connection with the remote service or via the commissioning device, an update configuration details request;

based on the received update configuration details request:

change a service endpoint within the remote service through which the electronic device contacts the remote service; and

update a list of certificates for authenticating communications between the electronic device and other devices or the remote service.

19. The electronic device of claim 15 , wherein the instructions are executable to configure the processor to:

obtain, via the network interface, additional service configuration details from the remote service via the second communication path.

20. The electronic device of claim 19 , wherein the additional service configuration details comprise user preferences for behavior of the electronic device or a structure in which the electronic device is to be added, user interface choices that control how the electronic device is to interact with users within the structure, or both.

Assignments (2)
CHANGE OF NAME Recorded May 3, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 046069/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2017
From: LOGUE, JAY D.
To: GOOGLE INC.
Reel/Frame 044098/0665 →
Continuity (3)
Continuation 14590495 · Jan 6, 2015
Provisional Application 62061593 · Oct 8, 2014
Related Publication 20180069827A1 · Mar 8, 2018