IP Library › Granted Patent US 10,223,169
Granted Patent B2
US 10,223,169 · App. 15/392,855 · Granted Mar 5, 2019

Technologies for adaptive collaborative optimization of internet-of-things systems

Inventors: Damian Kelly (Naas, IE); Keith A. Ellis (Carlow, IE)
Assignee: Intel Corporation
G06F9/5072
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,223,169
App. No.
15/392,855
Granted
Mar 5, 2019
Kind
B2
Abstract

Technologies for collaborative optimization include multiple Internet-of-Things (IoT) devices in communication over a network with an optimization server. Each IoT device selects an optimization strategy based on device context and user preferences. The optimization strategy may be full-local, full-global, or hybrid. Each IoT device receives raw device data from one or more sensors/actuators. If the full-local strategy is selected, the IoT device generates processed data based on the raw device data, generates optimization results based on the processed data, and generates device controls/settings for the sensors/actuators based on the optimization results. If the full-global strategy is selected, the optimization server performs those operations. If the hybrid strategy is selected, the IoT device generates the processed data and the device controls/settings, and the optimization server generates the optimization results. The optimization server may provision plugins to the IoT devices to perform those operations. Other embodiments are described and claimed.

Claims (69)

1. A computing device for collaborative optimization, the computing device comprising:

a strategy agent to select an optimization strategy based on a device context of the computing device and one or more user preferences, wherein the optimization strategy comprises a full-local optimization strategy, a hybrid optimization strategy, or a full-global optimization strategy;

device control logic to receive raw device data from one or more sensors or actuators coupled to the computing device;

a data pre-processor to execute, by a processor of the computing device, a data pre-processing plugin to generate processed data based on the raw device data in response to selection of the full-local optimization strategy, wherein the data pre-processing plugin comprises executable computer code;

a local optimizer to generate optimization results based on the processed data in response to selection of the full-local optimization strategy; and

a data post-processor to execute a device controls/settings plugin to generate device controls/settings for the one or more sensors or actuators based on the optimization results in response to selection of the full-local optimization strategy;

wherein the device control logic is further to provide the device controls/settings to the one or more sensors or actuators.

2. The computing device of claim 1 , wherein to generate the optimization results comprises to:

execute an optimizer parameter generator plugin to generate input parameters based on the processed data;

execute a mathematical optimization unit to generate a vector of optimized features based on the input parameters; and

execute an optimization result parser plugin to generate the optimization results based on the vector of optimized features.

3. The computing device of claim 2 , wherein to execute the mathematical optimization unit comprises to execute a single-threaded machine-learning optimization algorithm.

4. The computing device of claim 1 , wherein:

the data pre-processor is further to execute the data pre-processing plugin to generate the processed data in response to selection of the hybrid optimization strategy;

the strategy agent is further to (i) transmit the processed data to an optimization server in response to selection of the hybrid optimization strategy and (ii) receive the optimization results from the optimization server in response to transmission of the processed data; and

the data post-processor is further to execute the device controls/settings plugin to generate the device controls/settings for the one or more sensors or actuators based on the optimization results in response to selection of the hybrid optimization strategy.

5. The computing device of claim 4 , wherein the strategy agent is further to:

transmit the raw device data to the optimization server in response to selection of the full-global optimization strategy; and

receive the device controls/settings from the optimization server in response to transmission of the raw device data and in response to selection of the full-global optimization strategy.

6. The computing device of claim 1 , wherein to select the optimization strategy based on the device context comprises to select the optimization strategy based on whether external network connectivity is available.

7. The computing device of claim 1 , wherein to select the optimization strategy based on the device context comprises to select the optimization strategy based on a compute constraint of the computing device.

8. The computing device of claim 1 , wherein to select the optimization strategy based on the one or more user preferences comprises to select the optimization strategy based on a power usage constraint.

9. The computing device of claim 1 , wherein to select the optimization strategy based on the one or more user preferences comprises to select the optimization strategy based on a user privacy policy.

10. The computing device of claim 9 , wherein the user privacy policy allows transmission of no data to an optimization server, allows transmission of the processed data to the optimization server, or allows transmission of any data to the optimization server.

11. The computing device of claim 1 , wherein to select the optimization strategy based on the one or more user preferences comprises to select the optimization strategy based on a user preference that indicates whether to perform global optimization.

12. The computing device of claim 1 , wherein to select the optimization strategy based on the device context of the computing device and the one or more user preferences comprises to:

detect a conflict between the device context of the computing device and the one or more user preferences; and

prompt a user of the computing device for one or more revised user preferences in response to detection of the conflict between the device context of the computing device and the one or more user preferences.

13. One or more computer-readable storage media comprising a plurality of instructions that in response to being executed cause a computing device to:

select an optimization strategy based on a device context of the computing device and one or more user preferences, wherein the optimization strategy comprises a full-local optimization strategy, a hybrid optimization strategy, or a full-global optimization strategy;

receive raw device data from one or more sensors or actuators coupled to the computing device;

in response to selecting the full-local optimization strategy:

execute, by a processor of the computing device, a data pre-processing plugin to generate processed data based on the raw device data, wherein the data pre-processing plugin comprises executable computer code;

generate optimization results based on the processed data; and

execute a device controls/settings plugin to generate device controls/settings for the one or more sensors or actuators based on the optimization results; and

provide the device controls/settings to the one or more sensors or actuators.

14. The one or more computer-readable storage media of claim 13 , wherein to generate the optimization results comprises to:

execute an optimizer parameter generator plugin to generate input parameters based on the processed data;

execute a mathematical optimization unit to generate a vector of optimized features based on the input parameters; and

execute an optimization result parser plugin to generate the optimization results based on the vector of optimized features.

15. The one or more computer-readable storage media of claim 13 , further comprising a plurality of instructions that in response to being executed cause the computing device to, in response to selecting the hybrid optimization strategy:

execute the data pre-processing plugin to generate the processed data;

transmit the processed data to an optimization server;

receive the optimization results from the optimization server in response to transmitting the processed data; and

execute the device controls/settings plugin to generate the device controls/settings for the one or more sensors or actuators based on the optimization results.

16. The one or more computer-readable storage media of claim 15 , further comprising a plurality of instructions that in response to being executed cause the computing device to, in response to selecting the full-global optimization strategy:

transmit the raw device data to the optimization server; and

receive the device controls/settings from the optimization server in response to transmitting the raw device data.

17. A computing device for collaborative optimization, the computing device comprising a global optimizer to:

execute, by a processor of the computing device, an optimizer parameter generator plugin to generate input parameters based on processed data associated with a plurality of remote computing devices, wherein the optimizer parameter generator plugin comprises executable computer code;

execute a global optimization unit to generate a vector of optimized features based on the input parameters; and

execute, by a processor of the computing device, an optimization result parser plugin to generate optimization results based on the vector of optimized features, wherein the optimization results are associated with the plurality of remote computing devices, and wherein the optimizer result parser plugin comprises executable computer code.

18. The computing device of claim 17 , wherein to execute the global optimization unit comprises to execute a parallel machine learning optimization algorithm.

19. The computing device of claim 17 , further comprising a plugin manager to provision the optimizer parameter generator plugin and the optimization result parser plugin to the plurality of remote computing devices.

20. The computing device of claim 17 , further comprising:

a data pre-processor to execute a data pre-processing plugin to generate processed data based on raw device data associated with the plurality of remote computing devices, wherein the raw device data is generated by one or more sensors or actuators coupled to each of the plurality of remote computing devices; and

a data post-processor to execute a device controls/settings plugin to generate device controls/settings for the one or more sensors or actuators based on the optimization results in response to execution of the optimization result parser plugin;

wherein to execute the optimizer parameter generator plugin comprises to execute the optimizer parameter generator plugin in response to execution of the data pre-processing plugin.

21. The computing device of claim 20 , further comprising a plugin manager to provision the data pre-processing plugin and the device controls/settings plugin to the plurality of remote computing devices.

22. One or more computer-readable storage media comprising a plurality of instructions that in response to being executed cause a computing device to:

execute, by a processor of the computing device, an optimizer parameter generator plugin to generate input parameters based on processed data associated with a plurality of remote computing devices, wherein the optimizer parameter generator plugin comprises executable computer code;

execute a global optimization unit to generate a vector of optimized features based on the input parameters; and

execute, by a processor of the computing device, an optimization result parser plugin to generate optimization results based on the vector of optimized features, wherein the optimization results are associated with the plurality of remote computing devices, and wherein the optimizer result parser plugin comprises executable computer code.

23. The one or more computer-readable storage media of claim 22 , further comprising a plurality of instructions that in response to being executed cause the computing device to provision the optimizer parameter generator plugin and the optimization result parser plugin to the plurality of remote computing devices.

24. The one or more computer-readable storage media of claim 22 , further comprising a plurality of instructions that in response to being executed cause the computing device to:

execute a data pre-processing plugin to generate processed data based on raw device data associated with the plurality of remote computing devices, wherein the raw device data is generated by one or more sensors or actuators coupled to each of the plurality of remote computing devices; and

execute a device controls/settings plugin to generate device controls/settings for the one or more sensors or actuators based on the optimization results in response to executing the optimization result parser plugin;

wherein to execute the optimizer parameter generator plugin comprises to execute the optimizer parameter generator plugin in response to executing the data pre-processing plugin.

25. The one or more computer-readable storage media of claim 24 , further comprising a plurality of instructions that in response to being executed cause the computing device to provision the data pre-processing plugin and the device controls/settings plugin to the plurality of remote computing devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2017
From: KELLY, DAMIAN; ELLIS, KEITH A.
To: INTEL CORPORATION
Reel/Frame 041189/0104 →
Continuity (1)
Related Publication 20180181088A1 · Jun 28, 2018