IP Library Granted Patent US 9,396,015
Granted Patent B2
US 9,396,015 · App. 14/525,098 · Granted Jul 19, 2016

Flexible device templates for connected consumer devices

Inventors: Sudha Sundaresan (San Jose, CA); Vishwesh Pai (Milpitas, CA); Adrian Caceres (Los Gatos, CA)
Assignee: Ayla Networks, Inc.
G06F9/45558G06F8/20G06F8/71G06F9/44505G06F2009/45562
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,396,015
App. No.
14/525,098
Granted
Jul 19, 2016
Kind
B2
Abstract

A processing device executing a registration service receives information identifying a first device, a second device and an application running on the first device. The processing device determines a registration technique that is supported by both the application and the second device and sends a message indicating the registration technique to at least one of the first device or the second device, wherein the application is to perform an operation associated with the first registration technique to bind the second device to the user account.

Claims (66)

1. A method comprising:

determining, by a processing device, a first plurality of device templates associated with a first physical device, wherein each of the first plurality of device templates defines one or more device attributes, and wherein the first physical device comprises an embedded system;

creating, by the processing device, a first virtual device from the first plurality of device templates, wherein the first virtual device inherits the one or more device attributes from the first plurality of device templates;

establishing a connection between the first virtual device and the first physical device over a network;

receiving, by the first virtual device, one or more commands to perform an action from a remote computing device distinct from the processing device, the one or more commands initially having a first format;

reformatting, by the first virtual device, the one or more commands into a second format associated with the first physical device;

sending the one or more commands to perform the action from the first virtual device to the first physical device via the connection, wherein the one or more commands are sent to the first physical device in the second format; and

receiving, at the first virtual device, one or more status updates from the first physical device via the connection.

2. The method of claim 1 , wherein the first physical device comprises physical device attributes, and wherein the first virtual device comprises a superset of device attributes comprising the physical device attributes of the first physical device and logical device attributes provided for the first physical device by the first virtual device.

3. The method of claim 1 , wherein the first physical device is deployed to a customer location, the method further comprising:

determining a second plurality of device templates associated with the first physical device, wherein at least one of the second plurality of device templates defines a new device characteristic;

creating a second virtual device from the second plurality of device templates, wherein the second virtual device inherits the new device characteristic;

establishing a new connection between the first physical device and the second virtual device; and

controlling the first physical device using the second virtual device.

4. The method of claim 3 , further comprising:

creating the second virtual device responsive to determining that firmware of the first physical device has been updated, the firmware comprising the new device characteristic.

5. The method of claim 1 , further comprising:

determining a second plurality of device templates associated with a second physical device, wherein the second plurality of device templates comprises at least one common device template with the first plurality of device templates;

creating a second virtual device from the second plurality of device templates;

establishing a new connection between the second physical device and the second virtual device; and

controlling the second physical device using the second virtual device.

6. The method of claim 1 , wherein reformatting the one or more commands comprises translating the one or more commands into new commands that are operable for the first physical device.

7. The method of claim 1 , wherein the first plurality of device templates comprise a physical attributes device template that defines physical attributes of the first physical device and instructions for controlling the first physical device, a notification template that defines entities to notify when specified conditions are satisfied, and a role template that defines entities that have access to the first physical device.

8. A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

creating, by the processing device, a first virtual device for a first physical device from a first device template associated with the physical device, wherein the first virtual device inherits a first set of device attributes from the first device template;

after a change to the first device template, creating a second virtual device for the first physical device from the changed first device template, wherein the second virtual device inherits at least one new device attribute not included in the first set of device attributes from the changed first device template;

establishing a connection between the second virtual device and the first physical device over a network;

receiving, by the second virtual device, one or more commands to perform an action from a remote computing device distinct from the processing device, the one or more commands initially having a first format;

reformatting, by the second virtual device, the one or more commands into a second format associated with the first physical device;

sending the one or more commands to perform the action from the second virtual device to the first physical device via the connection wherein the one or more commands are sent to the first physical device in the second format; and

receiving, at the second virtual device, one or more status updates from the first physical device via the connection.

9. The non-transitory computer readable storage medium of claim 8 , wherein the first virtual device is created from a first plurality of device templates associated with the physical device, wherein the first virtual device inherits the first set of device attributes from the first plurality of device templates.

10. The non-transitory computer readable storage medium of claim 9 , the operations further comprising:

determining a second plurality of device templates associated with a second physical device, wherein the second plurality of device templates comprises at least one common device template with the first plurality of device templates;

creating a third virtual device from the second plurality of device templates;

establishing a new connection between the second physical device and the third virtual device; and

controlling the second physical device using the third virtual device.

11. The non-transitory computer readable storage medium of claim 9 , wherein the first plurality of device templates comprise a physical attributes device template that defines physical attributes of the first physical device and instructions for controlling the first physical device, a notification template that defines entities to notify when specified conditions are satisfied, and a role template that defines entities that have access to the first physical device.

12. The non-transitory computer readable storage medium of claim 8 , wherein the first physical device has physical device attributes, and wherein the first virtual device comprises a superset of device attributes comprising the physical device attributes of the first physical device and logical device attributes provided for the first physical device by the second virtual device.

13. The non-transitory computer readable storage medium of claim 8 , wherein the first physical device is deployed to a customer location prior to the change to the first device template, and wherein the first virtual device controls the first physical device prior to creation of the second virtual device, the operations further comprising:

terminating the first virtual device.

14. The non-transitory computer readable storage medium of claim 8 , the operations further comprising:

creating the second virtual device responsive to determining that firmware of the first physical device has been updated, the firmware comprising the new device characteristic.

15. The non-transitory computer readable storage medium of claim 8 , wherein reformatting the one or more commands comprises translating the one or more commands into new commands that are operable for the first physical device.

16. A computing device comprising:

a memory; and

a processing device, connected with the memory, the processing device to:

determine a first plurality of device templates associated with a first physical device, wherein each of the first plurality of device templates defines one or more device attributes;

create a first virtual device from the first plurality of device templates, wherein the first virtual device inherits the one or more device attributes from the first plurality of device templates;

establish a connection between the first virtual device and the first physical device over a network;

receive, at the virtual device, one or more commands to perform an action from a remote computing device distinct from the computing device, the one or more commands initially having a first format;

reformat, at the virtual device, the one or more commands into a second format associated with the first physical device;

send the one or more commands to perform the action from the first virtual device to the first physical device via the connection, wherein the one or more commands are sent to the first physical device in the second format; and

receive, at the first virtual device, one or more status updates from the first physical device via the connection.

17. The computing device of claim 16 , wherein the first physical device comprises physical device attributes, and wherein the first virtual device comprises a superset of device attributes comprising the physical device attributes of the first physical device and logical device attributes provided for the first physical device by the first virtual device.

18. The computing device of claim 16 , wherein after the first physical device is deployed to a customer location, the processing device further to:

determine a second plurality of device templates associated with the first physical device, wherein at least one of the second plurality of device templates defines a new device characteristic;

create a second virtual device from the second plurality of device templates, wherein the second virtual device inherits the new device characteristic;

establish a new connection between the first physical device and the second virtual device; and

control the first physical device using the second virtual device.

19. The computing device of claim 16 , the processing device further to:

determine a second plurality of device templates associated with a second physical device, wherein the second plurality of device templates comprises at least one common device template with the first plurality of device templates;

create a second virtual device from the second plurality of device templates;

establish a new connection between the second physical device and the second virtual device; and

control the second physical device using the second virtual device.

20. The computing device of claim 16 , wherein reformatting the one or more commands comprises translating the one or more commands into new commands that are operable for the first physical device.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2020
From: RUN LIANG TAI (HONG KONG) INVESTMENT COMPANY LIMITED
To: AYLA NETWORKS, INC.
Reel/Frame 052282/0957 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT THE NAME OF THE ASSIGNOR AND THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 052213 FRAME: 0718. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 25, 2020
From: AYLA NETWORKS, INC.; AYLA NETWORKS HOLDING CORPORATION
To: PINNACLE VENTURES, L.L.C., AS AGENT
Reel/Frame 052230/0408 →
SECURITY INTEREST Recorded Mar 24, 2020
From: PINNACLE VENTURES, L.L.C., AS AGENT
To: AYLA NETWORKS HOLDING CORPORATION; AYLA NETWORKS, INC.
Reel/Frame 052213/0718 →
RELEASE OF SECURITY INTEREST Recorded Apr 10, 2019
From: EAST WEST BANK
To: AYLA NETWORKS, INC.
Reel/Frame 048849/0527 →
SECURITY INTEREST Recorded Apr 8, 2019
From: AYLA NETWORKS, INC.
To: RUN LIANG TAI (HONG KONG) INVESTMENT COMPANY LIMITED
Reel/Frame 048820/0035 →
SECURITY INTEREST Recorded Jul 26, 2017
From: AYLA NETWORKS, INC.
To: EAST WEST BANK
Reel/Frame 043106/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2014
From: SUNDARESAN, SUDHA; PAI, VISHWESH; CACERES, ADRIAN
To: AYLA NETWORKS, INC.
Reel/Frame 034102/0475 →
Continuity (1)
Related Publication 20160117184A1 · Apr 28, 2016