Goal-driven provisioning in IoT systems
US-9800468-B2 · Oct 24, 2017 · US
US10310832B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10310832-B2 |
| Application number | US-201615085593-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 30, 2016 |
| Priority date | Feb 19, 2016 |
| Publication date | Jun 4, 2019 |
| Grant date | Jun 4, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
System and techniques for an internet-of-things device blank are described herein. An IoT blank device may be tested to determine whether it is in an initial state. In response to a determination that the IoT blank device is in the initial state, a cloud endpoint may be contacted, via a transceiver, to retrieve a package. Here, the contact includes a message with an identifier of the IoT blank device. The package may be received, the package including an application. The package may be installed. The installation including registering the application with a message queue of the IoT blank device. The application may also be run after installation. Data from the application running on the IoT blank device may be received via a message queue. The data may then be transmitted to the cloud endpoint via the transceiver of the IoT blank device.
Opening claim text (preview).
What is claimed is: 1. An internet-of-things (IoT) device, the device comprising: a circuitry implemented transceiver to: receive data from an application running on the IoT device via a message queue; and transmit the data to the cloud endpoint via a transceiver of the IoT device; and a circuitry implemented controller to: test the IoT device to determine whether the IoT device is in an initial state by reading an initialization register of the IoT device, the initialization register being a hardware component of the IoT device set to the initialization state to indicate that the IoT device is not customized; contact, in response to a determination that the IoT device is in the initial state, the cloud endpoint, via the transceiver, to retrieve a package, the contact including a message with an identifier of the IoT device; receive the package, the package including an application and a library; install the package including: addition of the library to an operation environment of the IoT device; registration of the application with the message queue of the IoT device, the message queue being the only mechanism by which all downloaded applications, including the application, communicate with other hardware or software components of the IoT device to enforce isolation of the applications from the architecture of the IoT device; and registration of the library with the message queue to communicate with the application; and run the application to complete automatic customization of the IoT device to change the IoT device from an undifferentiated device to a customized device. 2. The device of claim 1 , wherein to transmit the data includes the transceiver to: receive the data via the message queue; package the data in accordance with an IoT transmission standard; and communicate the packaged data. 3. The device of claim 1 , wherein the IoT device includes security circuitry, wherein the transceiver interfaces with the security circuitry to secure the packaged data, the security circuitry to: receive the data and metadata from the transceiver; encrypt the data with a first technique; encrypt the metadata with a second technique; and provide encrypted packaged data to the transceiver. 4. The device of claim 3 , wherein the security circuitry adds audit data to the encrypted packaged data, the audit data providing a cryptographically secure data structure to record audit events with respect to the encrypted packaged data. 5. The device of claim 1 , wherein the library includes a device driver, the device driver to interface with a hardware component of the IoT device. 6. The device of claim 1 , wherein the IoT device includes a notification component, wherein the notification component is not accessible to the application, wherein the notification component is to provide notifications to the carrier about a state of the IoT device. 7. The device of claim 6 , wherein the notification component is to: receive a diagnostic request from the carrier via the transceiver of the IoT device; perform a diagnostic contained in the diagnostic request; and provide a result of the diagnostic to the carrier via the transceiver. 8. The device of claim 1 , wherein the package includes behavioral constraints, the behavioral constraints including a parameter value for a component of the operating environment of the IoT device, wherein to install the package includes the controller to set a corresponding parameter with the parameter value. 9. The device of claim 1 , wherein the package is a data-structure including: an application set including zero or more applications in addition to the application; a library set including zero or more libraries; and a control set including zero or more component sets, the component sets including behavioral constraints on a corresponding component of the IoT operating environment. 10. A method for customizing an internet-of-things (IoT) device blank, the method performed by hardware of an IoT device blank, the method comprising: test the IoT blank device to determine an initial state by reading an initialization register of the IoT device blank, the initialization register being a hardware component of the IoT device blank set to the initialization state to indicate that the IoT device blank is not customized; contacting, in response to a determination that the IoT blank device is in the initial state, the cloud endpoint, via a transceiver of the IoT blank device, to retrieve a package, the contact including a message with an identifier of the IoT blank device; receiving the package, the package including an application and a library; adding the library to an operating environment of the IoT blank device; installing the package including registering the application with a message queue of the IoT blank device, the message queue being the only mechanism by which all downloaded applications, including the application, communicate with other hardware or software components of the IoT device blank to enforce isolation of the applications from the architecture of the IoT device blank; registering the library with the message queue to communicate with the application; running the application to complete automatic customization of the IoT device to change the IoT device from an undifferentiated device to a customized device; receiving data from the application running on the IoT blank device via the message queue; and transmitting the data to the cloud endpoint via the transceiver of the IoT blank device. 11. The method of claim 10 , wherein the IoT blank device includes security circuitry, wherein the transceiver interfaces with the security circuitry to secure the packaged data by: receiving the data and metadata from the transceiver; encrypting the data with a first technique; encrypting the metadata with a second technique; and providing encrypted packaged data to the transceiver. 12. The method of claim 10 , wherein the library includes a device driver, the device driver to interface with a hardware component of the IoT blank device. 13. The method of claim 10 , wherein the package includes behavioral constraints, the behavioral constraints including a parameter value for a component of the operating environment of the IoT blank device, wherein installing the package includes setting a corresponding parameter with the parameter value. 14. At least one non-transitory machine readable medium including instructions for an internet-of-things (IoT) blank device, the instructions, when executed by the IoT blank device, cause the IoT blank device to: test the IoT blank device to determine an initial state by reading an initialization register of the IoT blank device, the initialization register being a hard ware component of the IoT blank device set to the initialization state to indicate that the IoT blank device is not customized; contact, in response to a determination that the IoT blank device is in the initial state, the cloud endpoint, via a transceiver, to retrieve a package, the contact including a message with an identifier of the IoT blank device; receive the package, the package including an application and a library; add the library to an operating environment of the IoT blank device; install the package including registering the application with a message queue of the IoT blank device, the message queue being the only mechanism by all downloaded applications, including the application, communicate with other hardware or software components of the IoT device to enforce isolation of the applications from the architecture of the IoT device; register the library
Installation · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.