IP Library Granted Patent US 9,846,577
Granted Patent B1
US 9,846,577 · App. 15/172,520 · Granted Dec 19, 2017

Integrated development tool with preview functionality for an internet of things (IoT) system

Inventor: Erhard Riedl (San Jose, CA)
Assignee: AFERO, INC.
G06F8/65G06F3/0484H04L67/34
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,846,577
App. No.
15/172,520
Granted
Dec 19, 2017
Kind
B1
Abstract

A system and method are described for generating an interactive preview for an IoT device. For example, one embodiment of a method comprises: in response to initiating a preview of a new IoT device, determining whether a corresponding IoT device exists and, if not, then generating a virtual IoT device; associating the virtual or real IoT device with a set of device attributes and presentation definitions; establishing a communication channel with a mobile app; in response to detecting changes to the attributes and/or presentation definitions, transmitting updates to the mobile app, the mobile app dynamically updating the attributes and presentation definitions in real time.

Claims (34)

1. A method comprising:

initiating a preview graphical user interface (GUI) of a new Internet of Things (IoT) device within an IoT development application, wherein the preview GUI includes one or more graphical elements including a plurality of user-modifiable fields associated with one or more IoT device attributes;

in response to initiating the preview GUI of the new IoT device, determining whether a corresponding real IoT device exists and, if not, then generating a virtual IoT device, wherein generating a virtual IoT device comprises searching for an existing device type definition that has a specific virtual device class set and, if found, using the existing device type definition, or creating a new device type definition if an existing device type definition is not found;

associating the virtual IoT device or the corresponding real IoT device with a set of device attributes and presentation definitions;

establishing a communication channel between the virtual IoT device or the real IoT device with a mobile app;

in response to detecting updates to the attributes and/or presentation definitions from the preview GUI, transmitting the updates to the mobile app, the mobile app dynamically updating the attributes and presentation definitions.

2. The method as in claim 1 wherein determining whether a corresponding real IoT device exists comprises searching a user account for the real IoT device.

3. The method as in claim 1 wherein determining whether a corresponding real IoT device exists comprises searching an Internet-accessible database exposed by an entity which designs, manufactures and/or sells the real IoT device.

4. The method as in claim 1 further comprising:

receiving input from a user via the mobile app, the input including updates to the one or more attributes;

responsively transmitting the updates over the communication channel, the updates to be reflected within the preview GUI of the development application.

5. The method as in claim 1 further comprising:

submitting the updates to the attributes and presentation definitions via the plurality of user-modifiable fields within the preview GUI.

6. The method as in claim 5 further comprising:

providing a set of graphical elements within the preview GUI from which the user may select to update the set attributes and presentation definitions.

7. The method as in claim 5 wherein selecting a graphical element generates a window including the plurality of user-modifiable fields associated with the one or more IoT attributes to allow a user to test and modify the one or more IoT device attributes.

8. The method as in claim 7 wherein each of the plurality of user-modifiable fields include an attribute name field to specify an attribute name, a data type field to specify a data type for the attribute, and a value field to specify a current attribute value.

9. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

initiating a preview graphical user interface (GUI) of a new Internet of Things (IoT) device within an IoT development application, wherein the preview GUI includes one or more graphical elements including a plurality of user-modifiable fields associated with one or more IoT device attributes;

in response to initiating the preview GUI of the new IoT device, determining whether a corresponding real IoT device exists and, if not, then generating a virtual IoT device, wherein generating a virtual IoT device comprises searching for an existing device type definition that has a specific virtual device class set and, if found, using the existing device type definition, or creating a new device type definition if an existing device type definition is not found;

associating the virtual IoT device or the corresponding real IoT device with a set of device attributes and presentation definitions;

establishing a communication channel between the virtual IoT device or the real IoT device with a mobile app;

in response to detecting updates to the attributes and/or presentation definitions from the preview GUI, transmitting the updates to the mobile app, the mobile app dynamically updating the attributes and presentation definitions.

10. The non-transitory machine-readable medium as in claim 9 wherein determining whether a corresponding real IoT device exists comprises searching a user account for the real IoT device.

11. The non-transitory machine-readable medium as in claim 9 wherein determining whether a corresponding real IoT device exists comprises searching an Internet-accessible database exposed by an entity which designs, manufactures and/or sells the real IoT device.

12. The non-transitory machine-readable medium as in claim 9 further comprising program code to cause the operations of:

receiving input from a user via the mobile app, the input including updates to the one or more attributes;

responsively transmitting the updates over the communication channel, the updates to be reflected within the preview GUI of the IoT development application.

13. The non-transitory machine-readable medium as in claim 9 further comprising program code to cause the operations of:

submitting the updates to the attributes and presentation definitions via the plurality of user-modifiable fields within the preview GUI.

14. The non-transitory machine-readable medium as in claim 13 further comprising program code to cause the operations of:

providing a set of graphical elements within the preview GUI from which the user may select to update the set of attributes and presentation definitions.

15. The machine-readable medium as in claim 13 wherein selecting a graphical element generates a window including the plurality of user-modifiable fields associated with the one or more IoT attributes to allow a user to test and modify the one or more IoT device attributes.

16. The non-transitory machine-readable medium as in claim 15 wherein each of the plurality of user-modifiable fields include an attribute name field to specify an attribute name, a data type field to specify a data type for the attribute, and a value field to specify a current attribute value.

Assignments (3)
SECURITY INTEREST Recorded Oct 27, 2020
From: AFERO INC.
To: VENTURE LENDING & LEASING IX, INC.
Reel/Frame 054256/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: QUINN, KERRY
To: AFERO, INC.
Reel/Frame 044033/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2017
From: RIEDL, ERHARD
To: AFERO, INC.
Reel/Frame 043148/0451 →