IP Library Granted Patent US 9,876,778
Granted Patent B2
US 9,876,778 · App. 14/666,030 · Granted Jan 23, 2018

Devices for providing secure remote access

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,876,778
App. No.
14/666,030
Granted
Jan 23, 2018
Kind
B2
Abstract

A method for providing secure remote access by a controller is described. The method includes establishing a link through a security service to a client device via a cloud server based on a security token from the client device. The method also includes receiving a command message from the client device for an application program interface (API) located within the controller. The command message is forwarded by the cloud server. The method further includes producing an automation command based on the command message. The API interprets the command message.

Claims (54)

1. A method for providing secure remote access by a controller, comprising:

establishing a link from the controller, through a security service and a cloud server, to a client device after the cloud server validates a security token from the client device;

receiving a command message from the client device for an application programming interface (API) located within the controller, wherein the command message from the client device is forwarded by the cloud server through the security service before it is received at the controller, wherein the cloud server forwards the received command message, through the security service, to the controller using a Representational State Transfer (REST) forwarder; and

producing an automation command based on the command message, wherein the API interprets the command message.

2. The method of claim 1 , wherein establishing the link through the security service to the client device comprises receiving a JSON Web Token (JWT) sent by the client device and forwarded by the cloud server.

3. The method of claim 1 , further comprising:

receiving the security token from the client device via the cloud server; and

executing the API upon validating the security token.

4. The method of claim 1 , wherein the automation command includes one or more configuration settings that changes a channel used by one or more of the controlled automation devices, wherein the channel is defined according to the Institute of Electrical and Electronics Engineers (IEEE) 802.15.4 technical specification.

5. The method of claim 1 , wherein the automation command comprises commands to the controller to add, configure or modify one or more controlled automation devices.

6. The method of claim 1 , further comprising sending the automation command to an automation device.

7. The method of claim 1 , further comprising:

establishing a channel to the client device based on a JSON Web Token (JWT); and

receiving a command message from the client device via the cloud server that results in updates sent back to the client device.

8. The method of claim 1 , further comprising:

receiving a command complete message from an automation device; and

forwarding the command complete message to the cloud server to be further relayed to the client device.

9. A method for providing secure remote access by a client device, comprising:

establishing a link from the client device, through a security service and a cloud server, to a controller after the cloud server validates a security token from the client device; and

sending a command message for an application programming interface (API) located within the controller, wherein the command message from the client device is forwarded by a Representational State Transfer (REST) forwarder in the cloud server through the security service before it is received at the controller, and wherein the API of the controller interprets the command message to produce an automation command.

10. The method of claim 9 , wherein establishing the link through the security service to the controller comprises sending a JSON Web Token (JWT) that is forwarded by the cloud server to the controller.

11. The method of claim 9 , further comprising sending the security token to the cloud server, wherein the cloud server creates a session for the client device and the controller.

12. The method of claim 9 , wherein the automation command includes one or more configuration settings that affect one or more controlled automation devices.

13. The method of claim 9 , wherein the automation command comprises commands to the controller to add, configure or modify one or more controlled automation devices.

14. The method of claim 9 , further comprising receiving a command complete message from the controller that is forwarded by the cloud server to the client device.

15. The method of claim 9 , further comprising:

establishing a channel to the controller based on a JSON Web Token (JWT); and

sending a command message to the controller via the cloud server that results in updates sent back to the client device.

16. The method of claim 9 , further comprising:

sending a JSON Web Token (JWT) to the REST forwarder in the cloud server; and

receiving a message from the REST forwarder indicating that the client device is not authorized in response to the REST forwarder inspecting the client and determining that the client device does not have remote access permissions.

17. A controller for providing secure remote access, comprising:

a processor; and

memory in electronic communication with the processor, wherein instructions stored in the memory are executable to:

establish a link from the controller, through a security service and a cloud server, to a client device after the cloud server validates a security token from the client device;

receive a command message from the client device for an application programming interface (API) located within the controller, wherein the command message from the client device is forwarded by a reflector service in the cloud server through the security service before it is received at the controller, wherein the cloud server forwards the received command message, through the security service, to the controller using a Representational State Transfer (REST) forwarder; and

produce an automation command based on the command message, wherein the API interprets the command message.

18. The controller of claim 17 , wherein the instructions are executable to establish the link through the security service to the client device comprise instructions executable to receive a JSON Web Token (JWT) sent by the client device and forwarded by the cloud server.

19. The controller of claim 17 , wherein the automation command includes one or more configuration settings that affect one or more controlled automation devices.

20. The controller of claim 17 , wherein the automation command comprises commands to the controller to add, configure or modify one or more controlled automation devices.

21. The controller of claim 17 , further comprising instructions executable to:

establish a channel to the client device based on a JSON Web Token (JWT); and

receive a command message from the client device via the cloud server that results in updates sent back to the client device.

22. A client device for providing secure remote access, comprising:

a processor; and

memory in electronic communication with the processor, wherein instructions stored in the memory are executable to:

establish a link from the client device, through a security service and a cloud server, to a controller after the cloud server validates a security token from the client device; and

send a command message for an application programming interface (API) located within the controller, wherein the command message from the client device is forwarded by a Representational State Transfer (REST) forwarder in the cloud server through the security service before it is received at the controller, wherein the API interprets the command message to produce an automation command.

23. The client device of claim 22 , wherein the instructions are executable to establish the link through the security service to the controller comprise instructions executable to send a JSON Web Token (JWT) that is forwarded by the cloud server to the controller.

24. The client device of claim 22 , wherein the automation command includes one or more configuration settings that affect one or more controlled automation devices.

25. The client device of claim 22 , wherein the automation command comprises commands to the controller to add, configure or modify one or more controlled automation devices.

26. The client device of claim 22 , further comprising instructions executable to:

establish a channel to the controller based on a JSON Web Token (JWT); and

send a command message to the controller via the cloud server that results in updates sent back to the client device.

Assignments (8)
SECURITY INTEREST Recorded Jul 18, 2024
From: SNAP ONE, LLC
To: JPMORGAN CHASE BANK, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 068426/0446 →
SECURITY RELEASE R/F 058439/0014 Recorded Jun 17, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SNAP ONE, LLC
Reel/Frame 067768/0139 →
RELEASE OF SECURITY INTEREST Recorded Dec 9, 2021
From: UBS AG, STAMFORD BRANCH
To: CONTROL4 CORPORATION
Reel/Frame 058438/0975 →
SECURITY INTEREST Recorded Dec 9, 2021
From: SNAP ONE, LLC
To: MORGAN STANLEY SENIOR FUNDING INC.
Reel/Frame 058439/0014 →
CHANGE OF NAME Recorded Aug 25, 2021
From: WIREPATH HOME SYSTEMS, LLC
To: SNAP ONE, LLC
Reel/Frame 057298/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2019
From: CONTROL4 CORPORATION
To: WIREPATH HOME SYSTEMS, LLC
Reel/Frame 051446/0868 →
SECURITY INTEREST Recorded Aug 2, 2019
From: CONTROL4 CORPORATION
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 049948/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: SMITH, WALLACE ERIC; FAY, DAVID PAUL; FREDERICK, ERIK; CLARK, WILLIAM RICHARD
To: CONTROL4 CORPORATION
Reel/Frame 035356/0718 →