Distributed load processing using sampled clusters of location-based internet of things devices
Abstract
For distributed processing using sampled clusters of location-based Internet of Things (IoT) devices, at a central device, a data source to be used for processing a workload is determined. A set is selected of devices operating within a threshold distance from the data source at a first time. A first subset including a first sample number of devices is selected from the set. A ratio is determined of a first amount of a computing resource needed to process the workload and a second amount of the computing resource available in the first subset to process the workload. From the set, to form a cluster, a second subset is selected of a size at least equal to a multiple of the ratio and the first sample number. Each device in the second subset satisfies a clustering condition. A lightweight application is configured at the first device to process the workload.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for distributed processing using sampled clusters of location-based Internet of Things (IoT) devices, the method comprising:
determining, using a processor and a memory at a central IoT device, a data source that is to be used for processing a workload;
selecting a set of IoT devices that are operating within a threshold distance from the data source at a first time;
selecting a first subset comprising a first sample number of IoT devices from the set of IoT devices;
determining a ratio of (i) a first amount of a computing resource needed to process the workload and (ii) a second amount of the computing resource available in the first subset to process the workload;
selecting, from the set of IoT devices to form a cluster, a second subset of a size at least equal to a multiple of the ratio and the first sample number, wherein each IoT device in the second subset satisfies a clustering condition; and
configuring, by instructing a processor at a first IoT device in the second subset, to configure a lightweight application at the first IoT device, the lightweight application enabling the first IoT device to participate in the cluster and process the workload.
2. The method of claim 1 , further comprising:
computing a duration needed to process the workload; and
selecting the first IoT device into the second subset responsive to the first IoT device remaining within the threshold distance from the data source for the duration.
3. The method of claim 1 , further comprising:
configuring the first IoT device in a high-availability configuration with a second IoT device in the cluster.
4. The method of claim 1 , further comprising:
dropping, responsive to determining at a second time that the first IoT device has moved to a distance greater than the threshold distance from the data source, the first IoT device from the cluster;
joining a second IoT device to the cluster, wherein the second IoT device has moved within the threshold distance from the data source at the second time, and wherein the second IoT device satisfies the clustering condition; and
transferring the processing of the workload from the first IoT device to the second IoT device.
5. The method of claim 4 , wherein a forecasted travel path of the second IoT device keeps the second IoT device within the threshold distance from the data source for a remainder of the duration after the second time.
6. The method of claim 1 , further comprising:
determining that the first IoT device satisfies the clustering condition by determining that the first IoT device has the first amount of the computing resource available and unused over a duration during which the workload has to be processed.
7. The method of claim 1 , further comprising:
determining that a benchmark workload consumed a first amount of a first computing resource at the first IoT device;
determining that the benchmark workload consumed a second amount of the first computing resource at a second IoT device;
qualifying the first IoT device for the cluster responsive to the first amount being less than the second amount; and
disqualifying the second IoT device for the cluster.
8. The method of claim 1 , further comprising:
determining that a first remaining amount of a first computing resource remains at the first IoT device after a benchmark workload consumed a first amount of the first computing resource at the first IoT device;
determining that a second remaining amount of the first computing resource remains at a second IoT device after the benchmark workload consumed a second amount of the first computing resource at the second IoT device;
qualifying the first IoT device for the cluster responsive to (i) the first amount being less than the second amount and (ii) the first remaining amount being greater than the second remaining amount; and
disqualifying the second IoT device for the cluster.
9. The method of claim 1 , further comprising:
determining that the first IoT device satisfies the clustering condition by determining that the first IoT device has a permission to make the first amount of the computing resource available over a duration during which the workload has to be processed.
10. The method of claim 1 , further comprising:
determining that the first IoT device satisfies the clustering condition by determining that the first IoT device produces a response to a benchmark workload where a recall of the response exceeds a threshold.
11. The method of claim 1 , further comprising:
determining that the first IoT device satisfies the clustering condition by determining that the first IoT device produces a response to a benchmark workload where a precision of the response exceeds a threshold.
12. The method of claim 1 , further comprising:
determining that the first IoT device satisfies the clustering condition by determining that the first IoT device produces a response to a benchmark workload within a threshold amount of time.
13. The method of claim 1 , further comprising:
decomposing the workload into a set of workload components, wherein a first workload component is at the threshold distance from the data source and a second workload component is at a second threshold distance from a second data source, and wherein assigning the workload to the cluster comprises assigning the first workload component to the cluster.
14. The method of claim 1 , wherein the threshold distance comprises a geographical distance on a geographical map, and wherein the threshold distance defines a shaped area on the geographical map.
15. The method of claim 1 , wherein the threshold distance comprises a number of hops in a data network.
16. The method of claim 1 , further comprising:
determining, using publications from the set of IoT devices on a social media platform, the locations of the IoT devices in the set of IoT devices; and
determining that each of the locations is within the threshold distance from the data source at the first time.
17. The method of claim 1 , wherein the method is embodied in a computer program product comprising one or more computer-readable storage devices and computer-readable program instructions which are stored on the one or more computer-readable tangible storage devices and executed by one or more processors.
18. The method of claim 1 , wherein the method is embodied in a computer system comprising one or more processors, one or more computer-readable memories, one or more computer-readable storage devices and program instructions which are stored on the one or more computer-readable storage devices for execution by the one or more processors via the one or more memories and executed by the one or more processors.
19. A computer program product for distributed processing using sampled clusters of location-based Internet of Things (IoT) devices, the computer program product comprising one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices, the stored program instructions comprising:
program instructions to determine, using a processor and a memory at a central IoT device, a data source that is to be used for processing a workload;
program instructions to select a set of IoT devices that are operating within a threshold distance from the data source at a first time;
program instructions to select a first subset comprising a first sample number of IoT devices from the set of IoT devices;
program instructions to determine a ratio of (i) a first amount of a computing resource needed to process the workload and (ii) a second amount of the computing resource available in the first subset to process the workload;
program instructions to select, from the set of IoT devices to form a cluster, a second subset of a size at least equal to a multiple of the ratio and the first sample number, wherein each IoT device in the second subset satisfies a clustering condition; and
program instructions to configure, by instructing a processor at a first IoT device in the second subset, to configure a lightweight application at the first IoT device, the lightweight application enabling the first IoT device to participate in the cluster and process the workload.
20. A computer system for distributed processing using sampled clusters of location-based Internet of Things (IoT) devices, the computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:
program instructions to determine, using a processor and a memory at a central IoT device, a data source that is to be used for processing a workload;
program instructions to select a set of IoT devices that are operating within a threshold distance from the data source at a first time;
program instructions to select a first subset comprising a first sample number of IoT devices from the set of IoT devices;
program instructions to determine a ratio of (i) a first amount of a computing resource needed to process the workload and (ii) a second amount of the computing resource available in the first subset to process the workload;
program instructions to select, from the set of IoT devices to form a cluster, a second subset of a size at least equal to a multiple of the ratio and the first sample number, wherein each IoT device in the second subset satisfies a clustering condition; and
program instructions to configure, by instructing a processor at a first IoT device in the second subset, to configure a lightweight application at the first IoT device, the lightweight application enabling the first IoT device to participate in the cluster and process the workload.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.