OPTIMIZING THE POWER CONSUMPTION OF M-IOT DEVICES

The energy optimization system addresses power consumption issues in M-IoT devices by using AI/ML to detect anomalies and reconfigure devices with optimal parameters, enhancing energy efficiency and reducing maintenance needs.

DE102022126552B4Active Publication Date: 2025-12-04HCL TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE102022126552
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-04-22
Filing Date
2022-10-12
Publication Date
2025-12-04
Estimated Expiration
2042-10-12

AI Technical Summary

Technical Problem

Existing systems face challenges in optimizing power consumption and detecting misconfigurations in Massive IoT (M-IoT) devices due to limited visibility into device categories, irregular power consumption, and inefficient communication, leading to high power usage and frequent battery maintenance, especially in large-scale deployments.

Method used

An energy optimization system using machine learning and artificial intelligence techniques to analyze operating parameter records, identify anomalies and misconfigurations, and reconfigure IoT devices with optimal parameters, such as uplink and downlink timers, to enhance energy efficiency.

Benefits of technology

The system effectively optimizes power consumption by reducing network usage and extending battery life in M-IoT devices through precise reconfiguration, improving network utilization and minimizing maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A system that includes the following: a processor; and a machine-readable storage medium containing instructions, wherein the instructions can be executed by the processor to cause the processor to: to obtain one or more operating parameter data sets from a large number of Internet of Things (IoT) devices connected to a network; to estimate an energy cost function based on one or more operating parameter data sets for the multitude of IoT devices; wherein the estimation of the energy cost function for each IoT device includes: Correlating a connection attempt by the respective IoT device during an active period with the network and a transmission attempt by an IoT application with the respective IoT device; Determining a variation in the power cost function (PCF) of one or more IoT devices from the multitude of IoT devices; Identify, based on a determination of the variation, one or more optimal operating parameters; and Configuring one or more IoT devices from a multitude of IoT devices with one or more optimal operating parameters.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] Internet of Things (IoT) devices can enable the collection, processing, and exchange of data via an application / IoT platform. IoT devices can include sensors, monitoring devices, or other smart devices with an embedded computing system that allows them to collect, connect, and exchange data over a network. Furthermore, certain categories of IoT devices, where size is more important than speed, are finding their way into large-scale IoT solutions. To provide connectivity for such large devices, such as Massive IoT (M-IoT), communication systems like fifth-generation (5G) networks are being actively developed. These M-IoT devices can communicate with a network using simplified communication protocols or protocols adapted to reduce the processing power available to a given IoT device.Furthermore, M-IoT devices can use low-capacity power sources, and their consumption can vary depending on the frequency of communication and network usage by IoT devices. DE 10 2020 201 015 A1 describes a system and method for distributing iterative computations, such as gradient descent algorithms, across a heterogeneous computing environment consisting of edge devices and mobile edge computing (MEC) servers. US 2021 / 0 123 771 A1 describes a system for distributed machine learning in edge computing environments using a combination of local computation and coordinated communication between edge nodes and a centralized server.The article “Adaptive early exit of computation for energy-efficient and low-latency machine learning over IoT networks” by Eric Samikwa, Antonio Maio, and Torsten Braun, published in 2022 in the IEEE 19th annual consumer communications & networking conference (ISBN 978-1-6654-3161), describes a distributed learning framework for mobile edge computing that integrates a split-federated learning (SFL) architecture with an attention-based long-short-term memory (A-LSTM) model. An object of the invention is to propose a system, a method, and a non-transitory storage medium for optimizing the power consumption of M-IoT devices. This object is achieved by a system according to claim 1, a method according to claim 10, and a non-transitory storage medium according to claim 15. BRIEF DESCRIPTION OF THE DRAWINGS

[0002] The present revelation is described in detail in accordance with various examples, with reference to the following figures. The figures serve only for illustration and merely represent examples, whereby: Fig. Figure 1 shows an exemplary network environment used for optimizing the power consumption of Massive IoT devices in accordance with this disclosure; Fig. Figure 2 shows a schematic view of a flowchart corresponding to a procedure for optimizing the operating parameters of IoT devices according to various examples in the present disclosure. Fig. Figure 3 shows a schematic view of a network environment used to optimize the power consumption of Massive IoT devices according to various examples in this disclosure; Fig. Figure 4 shows a schematic representation of a discovery phase according to various examples from the present revelation; Fig. Figure 5 shows a schematic representation of an identification and reconfiguration phase of M-IoT devices according to various examples in the present disclosure. Fig. Figure 6 shows a flowchart corresponding to a procedure for optimizing operating parameters of Massive IoT devices according to various examples in this disclosure; Fig. Figure 7 shows a schematic view of a diagram representing three clusters of IoT devices according to different examples; and Fig. Figure 8 shows a block diagram of an example computer system in which the disclosed functions for optimizing the operating parameters of M-IoT devices can be implemented.

[0003] The illustrations are not exhaustive and do not limit the present disclosure to the exact form that is disclosed. DETAILED DESCRIPTION

[0004] As communication systems evolve, standards like 5G, compared to earlier communication standards like 4G LTE (fourth generation Long Term Evolution), can support a much larger number of devices (e.g., around one million devices per square kilometer). To provide this enhanced capability, network slicing can be used to optimize network utilization by connected devices. Network slicing can refer to the logical division of mobile broadband networks into multiple virtual networks. Each network slice can be used to deliver services for a specific use case and / or a defined quality of service in a resource-efficient manner. With the advent of Internet of Things (IoT) applications, a significant portion of this network capacity can be used to support Massive IoT (M-IoT) deployments.Traditional IoT deployments may involve critical IoT devices deployed in small numbers with high reliability and low latency requirements. Mobile IoT (M-IoT) deployments may involve services utilizing a large number of devices such as sensors, actuators, and so on. The data generated / transmitted by these devices may be small. In some cases, these M-IoT deployments may include limited IoT devices with restricted processing, storage, networking, and / or power capabilities. In evolving use cases, a service provider or enterprise customer deploying these devices may have limited visibility into the categories of M-IoT devices or sensors in use. Therefore, it can be challenging for service providers or enterprise customers to optimize communication with these devices.

[0005] For example, a service provider may not be able to identify and / or configure these different categories of IoT devices / use cases when they are brought onto the network. In some cases, a service provider can identify a use case (e.g., Narrowband IoT, NB-IoT), but identifying a specific operating profile for that particular use case can be challenging. An operating profile might include a communication profile (between device and application), a standby / idle cycle, and similar parameters. These operating profiles can affect the network usage and power consumption of an IoT device. Due to such challenges associated with identifying and / or configuring a device during commissioning, the devices may exhibit irregular power consumption.In some cases, this can lead to inefficient communication, which in turn results in higher power consumption. The high power consumption of M-IoT devices can necessitate frequent battery maintenance, which can be difficult and costly, especially for devices that are physically remote or dispersed. In other cases, a device may be configured with a suitable operating profile but exhibit anomalies during operation. In such instances, a service provider may be unable to detect these misconfigurations. For example, a service provider may lack insight into different use cases, their communication requirements, optimal communication profiles, and so on. Furthermore, inefficient communication can negatively impact users and applications.

[0006] Furthermore, given the scale at which M-IoT devices are deployed, detecting anomalies in the behavior of a single IoT device can be challenging. Due to the diverse use cases and operating patterns, some conventional detection methods may not be practical at this scale. For example, visualizing device operating patterns and identifying suboptimal configurations that cause frequent network usage can be difficult. Additionally, processing such a large volume of data from M-IoT devices may require significant computing resources.

[0007] This disclosure provides techniques for detecting misconfigurations and / or anomalies in the communication patterns of M-IoT devices. In the examples discussed here, IoT devices may be low-power devices with energy-saving characteristics. Misconfigurations and / or anomalies may include infrequent and / or suboptimal network usage (e.g., inefficient uplink, downlink, power saving, etc.), which can result in minimal power savings. Furthermore, the disclosed techniques may include an identification phase following detection to identify IoT devices that are good candidates for reconfiguration. Additionally, optimal parameters for reconfiguring the IoT devices may be selected during the detection phase. Machine learning / artificial intelligence techniques, as further described herein, may be used to support detection and identification.

[0008] According to some examples, to support power consumption optimization, an energy optimization system can be deployed for the detection, identification, and / or reconfiguration of IoT devices in an M-IoT facility. In one example, the energy optimization system might be deployed at the core of a communication system (e.g., 5G) that enables communication between M-IoT devices and an IoT platform. In other examples, the energy optimization system might be deployed on-site, at the edge, or near the M-IoT deployment.

[0009] The energy optimization system can receive operating parameter records corresponding to the communication of M-IoT devices. For example, these operating parameters can define various operating states of a device over a network. These operating states can include one or more communication states, a sleep state, a power-saving state, and so on. The communication state(s) of the operating parameter records can include uplink and downlink conditions. The operating parameter records can be logged or recorded as sequential data corresponding to the different operating states of a device.The operating parameter data sets can be obtained from at least one virtual network function in a core of a communication system, an interface component between a core and an IoT platform, a server configured to record / store log data, or the energy optimization system itself.

[0010] In some examples, the energy optimization system can analyze operational parameter data sets to group IoT devices and identify anomalies in the communication patterns within a group. Anomalies might relate to devices exhibiting unusually high network usage, which could be due to misclassification, misconfiguration during onboarding, or fluctuations during operation. In other examples, IoT devices might be the target of distributed denial-of-service (DDoS) attacks. A DDoS attack can compromise limited resources in IoT devices, such as storage, processing, and / or network capacity, thereby impacting IoT applications. In one example, a DDoS attack might cause an IoT device to generate more traffic, resulting in increased network usage and power consumption.In some examples, the energy optimization system can group IoT devices based on uplink and downlink data collected over a specific time horizon. Furthermore, in response to anomaly detection, the energy optimization system can analyze operational parameter datasets to identify a group of devices that can be optimized for efficient grid utilization and power consumption.

[0011] In several examples, the energy optimization system can generate an energy cost function for each IoT device during the discovery phase, based on operational parameter recordings. This energy cost function can provide the estimated power consumption of each IoT device. In one example, the M-IoT devices can be categorized and clustered according to this energy cost function. In some examples, the categorization / clustering of the M-IoT devices can be performed using machine learning / engineering techniques. In other examples, the power optimization system can search for common sequential patterns within each cluster. In some examples, the energy optimizer can determine that a subset of IoT devices within a cluster is misconfigured by detecting that the cluster contains more than one common sequential pattern.

[0012] In some examples, M-IoT devices can be clustered using ML / AI techniques based on statistical measures. In some examples, unsupervised ML / AI techniques, such as the K-means algorithm, can be used for clustering. In some examples, the power optimization system can construct probability distribution functions of the time difference between successive uplink / downlink information from each IoT device. In some examples, the power optimization system can use the operational parameter datasets to determine the time difference between successive uplink / downlink operations. The power optimization system can construct probability distribution functions for the determined time differences between successive uplink / downlink operations. The probability distribution functions can be enhanced by statistical measures such as mean, median, mode, etc.The clusters can be characterized as being used for clustering devices. Furthermore, the clusters can be ranked based on the centroid of each cluster, represented by statistical measures. That is, one or more statistical measures can be used as data points for clustering devices and for determining the centroid of each cluster. The clusters can then be ordered based on one or more values ​​of these statistical measures, for example, in ascending order.

[0013] In some examples, the performance optimization system can select one or more clusters as candidates for reconfiguration. In one example, the performance optimization system can identify one or more clusters with the smallest values ​​of the statistical characteristics. In another example, a cluster with the smallest centroid values ​​can be the cluster selected for optimization. In some examples, the energy optimization system can select optimal parameters (e.g., power-saving timers, uplink / downlink time, etc.) based on estimated energy cost functions. In one example, the energy optimization system can determine a ratio between a device's power consumption and the data exchanged with an IoT application by using the energy cost function.The performance optimization system can select a ratio that ensures a device consumes minimal / optimal network resources to communicate a complete uplink and / or downlink of a message set. In an example use case of gas meters deployed in an M-IoT installation, operating parameters used by specific meters with the best ratio (e.g., the lowest) can be selected to optimize identified candidates (e.g., selected clusters for optimization). In one example, the identified candidates can be configured with these optimal parameters. In another example, operating parameters such as communication timers, idle timers, sleep / power-saving timers, etc., can be modified at the device level, the network level, or at the interface component level.

[0014] According to further examples, the power optimizer can work in conjunction with a secondary optimization system. In one example, the secondary optimization system can be deployed on a Service Capability Server (SCS), which acts as a gateway between an IoT platform and a network. In another example, the secondary optimization system can provide an interface between a communication system core and an IoT platform, enabling data exchange between IoT devices and applications. Alternatively, in some existing systems, the IoT platform might send messages to IoT devices when they are in standby mode, resulting in inefficient network and battery usage. This can cause IoT devices to wake up and communicate when they should be in standby mode to conserve power.According to examples in the present disclosure, the energy optimization system can transmit optimal operating parameters to the secondary optimization system, so that the secondary optimization system can synchronize the parameters of a communication standard used for the IoT with the optimal parameters of the devices.

[0015] In some examples, the techniques discussed here can be used for the exploration and identification phases, as mentioned earlier. Identified optimal operating parameters can be used for reconfiguring cluster candidates in response to a determination of deviations.

[0016] In some examples, the performance optimization system may include a processor and a storage medium in which instructions for detection, identification, and / or reconfiguration are embedded, as described here. The processor and storage medium may be hardware resources. In some other examples, a performance optimization system may be implemented as a combination of software (e.g., a computer program product) and hardware.

[0017] The following detailed description refers to the accompanying drawings. Where possible, the same reference numbers may be used in the drawings and in the following description to indicate identical or similar features. However, it is expressly understood that the drawings serve only for illustration and description. Although several examples are described in this document, modifications, adaptations, and other embodiments are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the accompanying claims.

[0018] Fig. Figure 1 shows an example of a network environment 100 used for optimizing the power consumption of M-IoT devices. In some examples, M-IoT applications can use a large number of IoT devices (e.g., hundreds to millions of devices) that may not be latency-sensitive and have low throughput. However, these IoT devices can consume little power on a network. In some examples, M-IoT devices may be battery-powered, such as sensors, actuators, computing devices, etc. These devices can be tailored to any specific application and deployed in large numbers, making them suitable for M-IoT applications.

[0019] The network environment 100 of Fig. 1 can contain M-IoT devices 105. The M-IoT devices 105 can consist of a variety of IoT devices 105AA-105AN, 105BA-105BN, ..., 105MA-105MN, which may be low-power devices with energy-saving features. In some examples, the IoT devices 105AA-105MN may use one or more machine-to-machine protocols via a Constrained Application Protocol (CoAP) for communication. Here, the terms "M-IoT devices" and "multiple IoT devices" may be used interchangeably. The network environment 100 can correspond to M-IoT applications, such as asset tracking, smart organization, environmental monitoring, smart meters, smart manufacturing, building / campus / enterprise monitoring, etc. Furthermore, the IoT devices may include medical devices, communication devices, household appliances, enterprise devices, and / or suitable networked devices.The multiple IoT devices 105 can each be equipped with communication components to send and receive data to an application platform. The processing power and power consumption of these multiple IoT devices 105 can vary depending on the use case, form factor, and other factors. The multiple IoT devices 105 can collect and update data either regularly or when the collected data changes, for example, when a threshold is reached or exceeded.

[0020] In various scenarios, the multitude of IoT devices 105 may be of a limited type, meaning they have limited resources. For example, these devices may have limited power sources, limited processing capacity, and / or limited communication capabilities. The multitude of IoT devices 105 may generate infrequent data traffic with small amounts of data. In various scenarios, the majority of IoT devices 105 may use low-power protocols to communicate data with an IoT platform 125. The IoT platform 125 may be an integration of tools and services used to collect data from the M-IoT devices 105. In one example, a smart gas meter may be an IoT device that periodically sends usage data to an IoT platform and remains in a power-saving or idle mode when no data is being transmitted.These IoT devices can have an active mode and an idle mode. In active mode, the IoT devices transmit data, and in idle mode, they conserve energy by restricting communication in one or both directions. However, the data collection or monitoring operations associated with the IoT devices can continue, as demonstrated in some examples.

[0021] Furthermore, these M-IoT devices can be communicatively connected to a communication system. In some examples, the communication system can be a 5G communication system with network slicing capabilities. The network environment can include one or more network access nodes, such as the base stations 110A and 110B, of the communication system. In one example, the network access node can be a gNodeB in a 5G communication system. A gNodeB is a 5G base station that uses a new radio technology (NR) with radios using software-defined radio (SDR) with various MIMO (Multiple Input Multiple Output) options. MIMO enables the simultaneous transmission and reception of multiple data signals over a shared radio channel, thus providing greater network coverage / capacity to support M-IoT implementations. One or more network access nodes can be connected to a core 115 of the communication system.For example, the 5G core (5GC) is a core component of 5G communication systems, encompassing a variety of network functions (NFs) for managing subscription, authentication, access, routing, packet gateway control, and other aspects that constitute radio and network connections. Thus, M-IoT devices can establish uplink and / or downlink connections to send and receive data. In some examples, an uplink connection may include uplink registration. In some examples, an IoT device may perform a coupling and / or registration procedure with or without a packet data network (PDN) connection. For instance, during an uplink operation, a device may first complete a registration procedure before transmitting actual data. In some examples, a device may need to perform this registration procedure to transmit data after exiting a power-saving or sleep mode.

[0022] According to various examples, the M-IoT devices (105) can be Narrow Band Internet of Things (NB-IoT) or Long Term Evolution Category M1 (LTE Cat-M1) based devices, as defined by the Third Generation Partnership Project (3GPP). These standards can correspond to the Low Power Wide Area Network (LPWAN). In some examples, these devices may have a Power Saving Mode (PSM) and / or an Extended Discontinuous Receive Mode (eDRX).

[0023] With PSM, a device can turn off its cellular connection but remain registered with the network to stay in a power-saving mode. A device can negotiate two timers with the network. These two timers can include an active timer (e.g., T3324) and an extended periodic timer for tracking area updates (e.g., T3412). A device can activate PSM by including these two timer values ​​during an Attach or Tracking Area Update (TAU) operation. The IoT device can use a TAU at regular intervals to inform the network of its availability. The T3324 timer can specify the duration for which a device might be available. A device can activate the T3324 timer when it transitions from the "connected" state to the "idle" state. After the T3324 timer expires, the device enters the PSM state. In PSM, a device can enter a power-saving mode, thus reducing power consumption.The T3412 timer can define a longer period during which a device periodically sends TAU. The difference between these two timers (T3412-T3324) can define the PSM time.

[0024] According to some examples, PSM can operate in conjunction with eDRX mode, or eDRX mode can be used independently. eDRX mode can be used to temporarily disable the device's receiver, preventing it from eavesdropping on the network. eDRX mode can also utilize two timers: a Paging Cycle Length (PCL) and a Paging Time Window (PTW). PTW can correspond to an active state within an eDRX cycle. "Paging" can refer to informing and / or notifying a device about various events. The duration for which a device can be inactive or idle can be defined by an eDRX cycle. Furthermore, an eDRX cycle can be modified depending on the use case. In some other examples, other energy-saving timing protocols, such as Discontinuous Transmission (DT), can be employed.

[0025] Furthermore, the core 115, as in Fig. Figure 1 depicts a power optimization system 130. According to various examples, the power optimization system 130 can serve as an optimization point for one or more operating parameters of the massive IoT devices 105. In one example, the power optimization system 130 can be a virtualized network function (VNF) deployed on a computer system, a virtualized infrastructure (e.g., VMware), or a container orchestration platform. Furthermore, the one or more operating parameters can include uplink time, downlink time, standby time, etc. The uplink time and downlink time can be collectively referred to as the "active / availability timer" in some examples. The terms "time" and "timer" can be used here to denote duration.

[0026] Furthermore, the power optimization system 130 can include a processor 135 and a storage medium 140 on which instructions 145 are stored (e.g., encoded). In one example, the storage medium 140 can be of a non-transitory and machine-readable type. The instructions 145 can include at least: instructions for receiving operating parameters 150, instructions for estimating energy costs 152, instructions for determining energy cost variations 154, instructions for identifying optimal operating parameters 156, and instructions for applying / reconfiguring optimal operating parameters 158. The processor 135 can execute the instructions 145 stored in the storage medium 140 to identify optimal operating parameters (e.g., uplink time and downlink time) and can selectively reconfigure M-IoT devices 105 for energy efficiency.

[0027] The processor 135 can execute the operating parameter reception instructions 150 to receive operating parameter data sets corresponding to the multitude of network-connected IoT devices 105. The operating parameters can include data corresponding to active timers, such as uplink and downlink times, sleep timers, power-saving timers, etc., used by the multitude of IoT devices 105 to send and receive data to / from the IoT platform 125. The term "operating parameter data sets," on the other hand, can refer to operating state information of the IoT devices recorded by an interface system, as illustrated in some examples. For instance, any IoT device from the multitude of IoT devices 105, such as sensors, computing devices, communication devices, or similar, can send and receive data traffic via the core 115.The energy optimization system 130 can include a subsystem configured to record and / or store operating parameters of the M-IoT devices 105.

[0028] The processor 135 can execute the power cost estimation instructions 152 to estimate a power cost function (PCF) based on one or more operating parameters for the multitude of IoT devices 105. The PCF can specify the power consumption cost of each device for its uplink, downlink, standby / idle, or similar operations over a time horizon. In some examples, the cost per operation can be predetermined for each category of IoT device. In other examples, the cost per operation can be dynamic and / or based on additional parameters, such as weather conditions, device temperature during operation, etc.

[0029] Furthermore, the processor 135 can execute the instructions for determining power cost variation 154 to determine that some of the IoT devices among the multitude of IoT devices 105 may exhibit different patterns of operating parameters (e.g., PSM and / or eDRX timers) and thus different power consumption patterns. In various examples, the multitude of IoT devices 105 can be grouped into clusters so that devices with similar uplink and downlink counts / proportions are grouped together. Devices within a cluster may exhibit different, often consecutive, patterns of uplink and downlink count proportions, indicating a misconfiguration or anomalies in the configuration of the IoT devices.

[0030] The processor 135 can execute instructions for identifying optimal operating parameters 156 to identify optimal operating parameters (e.g., power-saving timers) that some of the IoT devices exhibit from among the multitude of IoT devices 105. In one example, a PCF can be used to identify optimal operating parameters. In other examples, supervised or unsupervised ML / AI techniques can be used to determine optimal operating parameters. Furthermore, the processor 135 can estimate a vector for a device, and the vector can represent statistical features of the probability distribution. The probability distributions can be used to cluster devices with similar probability distributions, so that a centroid of the clusters can be represented by a statistical feature of the vector.A cluster with relatively small feature values ​​can be selected for optimization using the optimal parameters derived from the power cost function. For example, the processor can construct 135 probability distribution functions for the determined time differences between successive uplink / downlink operations. These probability distribution functions can be characterized by statistical measures such as mean, median, mode, etc., which can be used for grouping devices. For instance, one or more statistical measures can be used as data points for clustering devices and determining the centroid of each cluster. The clusters can then be ordered based on one or more values ​​of these statistical measures at the centroid. The clusters will have one or more values ​​with the smallest statistical measures / features at the centroid.

[0031] The processor 135 can execute the instructions for reconfiguring the optimal operating parameters 158 to reconfigure one or more IoT devices (e.g., a group of devices) from the multitude of IoT devices 105 with the one or more optimal operating parameters previously identified during the PCF estimation. Reconfiguring selected IoT devices from the multitude of IoT devices 105 optimizes the operating parameters (e.g., power-saving timers). This optimization enables optimized network utilization for efficient data communication with the IoT platform 125. For example, the optimal operating parameters can synchronize device communication with the network's transport protocol.

[0032] Fig. Figure 2 shows a schematic view of a flowchart corresponding to Procedure 200 for optimizing the operating parameters of IoT devices. In some examples, Procedure 200 can be encoded as instructions on a machine-readable storage medium and / or executed by a processor, causing the processor to perform one or more actions. For example, the instructions can be stored on the storage medium 140 and executed by the processor 135. Fig. 1 will be executed.

[0033] In the current example, the instructions in block 202 can be executed by the processor to obtain operational parameter sets corresponding to the multitude of IoT devices connected to a network. These operational parameter sets can contain data corresponding to an uplink / downlink timer, standby timer, paging timer, and so on. Each IoT device can transmit data by attaching metadata to it to describe a data type during an uplink operation. Additionally, IoT applications running on an IoT platform can communicate downlink data with the M-IoT devices. Furthermore, the processor can execute instructions to obtain these operational parameter sets with which the multiple IoT devices may currently be configured.

[0034] In some examples, the operating parameters may refer to different operating states of a device over a network. These operating states may include an uplink / downlink state, a sleep state, a power-saving state, and so on. The uplink, designated "UL," may refer to the process of sending data from a device to an IoT platform / application. The downlink, designated "DL," may refer to the process of sending data from an IoT platform / application to a device. In some examples described here, uplink and downlink operations may be performed over a single communication system. In some examples, a device in sleep mode may be in a partial power-saving state, as it only allows downlink. Uplink operations may be suspended in an idle state.An energy-saving mode / state can be a deep sleep state in which a device may be registered on a network but does not allow uplink and downlink operations.

[0035] In block 204, the processor can execute instructions to estimate the power consumption of each of the multiple IoT devices. According to some examples, a PCF estimate can specify the power consumption of each IoT device based on the obtained operating parameters. For instance, an IoT device might consume "x" power during each uplink operation, "y" power during each downlink operation, "z" power in standby mode, and so on. The cumulative power (x+y+z...) consumed by these operations can be used to estimate the total consumption. This allows the processor to predict the total power consumption of each IoT device during its operation over a specific time horizon. Furthermore, the processor can determine the period during which the IoT device's battery will last or warrants replacement / maintenance.This means that the processor can be configured to extrapolate power consumption to determine the lifespan of a power source, such as a battery.

[0036] In block 206, the processor can execute instructions to determine that some of the IoT devices among the many IoT devices may exhibit different patterns of operating parameters. For example, certain devices within a cluster may have frequent uplink and / or downlink states that can cause higher power consumption compared to other devices within the same cluster. This can lead to these IoT devices exhibiting erratic power consumption patterns. In some examples, time-series data from the operating parameter datasets of the multiple IoT devices can be processed using unsupervised machine learning / engineering techniques to detect anomalies in the communication patterns of the multiple IoT devices.

[0037] In block 208, the processor can execute instructions to identify optimal operating parameters (e.g., power-saving timers) used by some of the IoT devices from the multitude of IoT devices. In various examples, the optimal operating parameters can be selected from the estimated PCF. Furthermore, unsupervised ML / AI techniques can be used to identify devices eligible for reconfiguration. In one example, the identification might involve constructing probability distribution functions of successive uplink and / or downlink data for each device. Additionally, the instructions can include further instructions to construct a vector for each device. This vector can represent statistical features of the probability distribution of the difference between successive uplink / downlink operations for each device.Probability distributions can be used to group devices with similar probability distributions. One or more clusters with relatively small feature values ​​can be selected for optimization.

[0038] In block 210, the processor can execute instructions to reconfigure one or more IoT devices from the pool of available devices with the optimal operating parameters identified above. During the reconfiguration of selected IoT devices, the operating parameters can be synchronized with the transport protocol parameters, thus optimizing network utilization for efficient data communication with the IoT platform.

[0039] Fig. Figure 3 shows a schematic view of a network environment 300 according to various examples in this disclosure. According to various examples, the network environment 300 may include M-IoT devices (a variety of IoT devices) 305. The M-IoT devices 305 may be of a homogeneous and / or heterogeneous type and may correspond to the same or different IoT solutions. According to various examples, the M-IoT devices 305 may be connected to a communication system, such as a 5G communication system, to transmit / receive data. In some other examples, other communication systems such as Fourth Generation Long-Term Evolution (4G-LTE) or other standards defined by 3GPP may also be used. The communication system may provide shared network resources for different IoT solutions. This may be in addition to sharing infrastructure (e.g.,Data processing, network, storage) for isolated applications / services.

[0040] The M-IoT devices 305 can be connected to a core 315 of the communication system via a variety of IoT slices 311A-311N. IoT devices in one IoT slice might correspond to an application requiring low latency and high capacity. IoT devices in another IoT slice might correspond to autonomous devices capable of operating with moderate latency and high capacity. A utility meter, such as a gas meter, electricity meter, or water meter, could be an example of the latter. Accordingly, availability times (e.g., active times) can be defined during onboarding and / or activation of multiple IoT devices. For example, a default or preconfigured value for availability timers can be selected based on a use case or IoT device type. "Availability timers" can be power-saving timers or operating parameters, as described here.

[0041] In various examples, the network environment 300 can include a secondary optimization system 370. The secondary optimization system 370 can act as a gateway between the IoT platform 325 and the core (e.g., the 5GC) 315. Additionally, one or more IoT applications 326 can be deployed on the IoT platform 325. In various examples, the secondary optimization system 370 can be a Service Capability Server (SCS) or a Service Capability Gateway (SCG) configured to provide an interface to 3GPP systems. Furthermore, the secondary optimization system 370 can have access to existing operational parameter records (e.g., log data).

[0042] In further examples, the 315 core can contain a variety of network functions (NFs) 320. The NFs 320 can include a network exposure function (NEF) 380. According to various examples, the NEF 380 can facilitate secure access to network services and capabilities of the communication system to access the availability timers.

[0043] In various examples, the 370 secondary optimization system can be configured to adjust operating parameters, such as transport protocol parameters, to synchronize the existing availability / power-saving timers of multiple IoT devices with the protocol parameters. In one example, the 370 secondary optimization system can configure timers (e.g., eDRX timers, Paging Cycle Length (PCL), and Paging Time Window (PTW)) to align with Constrained Application Protocol (CoAP) parameters (e.g., ACK_TIMOUT). This can limit downlink duplication. In this way, the 370 secondary optimization system can reduce / eliminate inefficiencies in downlink communication. Alternatively, the 325 IoT platform can send and receive paging messages to and from the IoT devices during standby operation.Due to lower network usage, the IoT devices can exhibit improved characteristics, thereby improving the power consumption of the M-IoT devices 305.

[0044] Furthermore, a power optimization system 330 can be deployed on the core 315. The power optimization system 330 and the secondary optimization system 370 can access a consumption model 375. In various examples, the consumption model 375 can contain energy consumption metrics for different operations performed by various categories of devices in M-IoT deployments. For example, energy consumption metrics for each operation, such as paging, standby, uplink, downlink, etc., can be recorded or made available in the consumption model. Thus, power consumption can be specified, for example, in milliampere-hours (mAh).

[0045] In various examples, uplink and downlink data can be logged, and the 330 power optimization system can retrieve operating parameters from the log data. In various examples, the log files can be created by the 370 secondary optimization system or a network function of the 315 core. The 330 power optimization system can estimate a power cost function (PCF) using the 375 consumption model. In other words, a PCF can be estimated for each IoT device of the 305 M-IoT devices by correlating connection attempts based on availability timers with application transfer attempts when the 325 IoT platform communicates with the 305 M-IoT devices. For example, correlation information can indicate whether a complete data exchange occurred between the device and an IoT application during an availability timer / active cycle (e.g., device awake).As previously mentioned, IoT devices' attempts to connect to the network and the IoT application's transfer attempts to the IoT device can be performed during an active period. For example, "availability times" can refer to an active time (T3324) during which an IoT device is accessible and a quiet time (T3412) during which the IoT device can perform an installation operation. In some examples, "availability timers" can correspond to power-saving timers such as paging time windows, PCL, or PTW, as defined in the eDRX standard.

[0046] In various examples, supervised or unsupervised machine learning (ML) and artificial intelligence (AI) techniques can be applied to estimate the PCF (Progressive Time Function). In these examples, ML / AI techniques can be applied to uplink / downlink data, which can then be used as the basis for estimating the PCF function. The estimated PCF can then be used to determine optimal timer values. These optimal timer values ​​can be derived from the analyzed values ​​for the time differences between successive uplink and downlink session information of an IoT device using the IoT Platform 325 or the 5G M-IoT Slices 311A-311N. The M-IoT 305 devices can be selectively reconfigured with the optimal timer values, allowing the IoT device(s) to utilize optimal network resources for uplink and downlink messages upon reconfiguration.Accordingly, M-IoT devices can consume power optimally, which, for example, improves the battery life of the devices and reduces the need for frequent battery changes.

[0047] In various examples, the optimal availability time value can be a function of additional parameters, such as local characteristics, seasonality, weather, etc. In some further examples, sample data from specific IoT devices for various use cases can be collected. These devices are organized into geographic clusters and operated regularly to capture seasonality and / or weather dimensions. In several examples, the timer values ​​obtained from such techniques can be used to configure the M-IoT devices.

[0048] In various examples, ML / AI techniques can refer to methods that, through the use of algorithms (e.g., K-means clustering algorithm, prefix-span-based sequential pattern mining algorithm, etc.), can provide information models based on input data that may not be visually or analytically perceived by humans. In other examples, the implementation of the optimization system(s) can involve machine learning techniques in business environments, such as companies, to help offer customers better services and products, for example, through efficient network utilization, optimal energy consumption, etc.According to further examples, the techniques disclosed here for optimizing power consumption by optimizing network usage and for reconfiguring M-IoT devices may include a detection phase, an identification phase, and a reconfiguration phase, as explained in the following examples.

[0049] Fig. Figure 4 shows a schematic representation of a detection phase for anomalies and / or misconfigurations of M-IoT devices. During the detection phase, the power optimization system can identify common sequential patterns to detect these anomalies and / or misconfigurations. In various examples, operating parameters based on the configuration of uplink and downlink session frequencies can be received by the power optimization system to determine these common sequential patterns. These operating parameters can be determined over a time horizon for a large number of IoT devices.

[0050] In various examples, time-series / time-sequence operating parameter data sets from the M-IoT devices are received by the power optimization system. Time-sequenced uplink and downlink data can be extracted from these operating parameter data sets. In some examples, the operating parameter sets may refer to protocols related to uplinks. Furthermore, the "uplink data" may include registration uplink and payload uplink. Additionally, an interval between registration uplink and payload uplink, and / or an interval between payload uplinks, may be considered. Using the uplink and downlink data, the proportions of observed uplinks (UL) and downlinks (DL) for each IoT device can be calculated from the multitude of IoT devices. For simplicity, "IoT device" can be referred to as "device" in the following.For example, the proportion of uplink (UL) and downlink (DL) data can be calculated based on the number of ULs and DLs divided by the total number of ULs and DLs per device for a given time horizon. The percentages of ULs and DLs per device can be collected for different devices. In one example, the percentages of ULs and DLs can be used as input dimensions for clustering with an unsupervised clustering algorithm.

[0051] Furthermore, fractionated UL and DL data can be used to group devices based on their respective UL and DL fractions. The multitude of IoT devices can be clustered into a variety of clusters / families. Here, the term "clustering technique" can be understood as it is used in the context of unsupervised machine learning. In various examples, a K-means algorithm can be used to cluster the fractional number of ULs and DLs per device. A variety of clustering approaches can be used for categorizing these devices. In one example, standard K-means clustering can be performed. In another example, in addition to the K-means algorithm for clustering, hashing, vectorization, or other normalization techniques based on the complexity of the operational data can be used.In other examples, for clustering techniques such as hierarchical density-based spatial clustering of applications with noise (DBSCAN) and cluster analysis with simultaneous dimensionality reduction (DR), principal component analysis (PCA), linear discriminant analysis (LDA), non-negative matrix factorization (NNMF) and autoencoder methods are usually used to reduce the computational effort.

[0052] In some examples, an attribute called the "resource path" can be provided for each UL or DL ​​for specific data. The resource path attribute can be used to divide UL and DL datasets into separate subfamilies. The resource path could be used as a categorical variable to achieve finer clustering. This allows devices used for a specific function to be categorized within the same cluster.

[0053] For each cluster from the multitude of clusters, frequent sequential patterns of UL and DL data can be determined for devices in the same cluster. In various examples, time series of UL and DL data from devices in the same cluster can be used to identify frequent sequential patterns. In one example, a prefix-span-based sequential pattern detection method can be used to determine sequential patterns. Using pattern mining techniques, various patterns can be determined from data. The different patterns can be based on one or more of the following elements: frequent elements, associations, sequential rules, and periodic patterns. In other words, subsequences can be searched for sequential data based on various criteria. The criterion can include a frequency, length, and / or pattern of occurrence of subsequences.In the current examples, “frequent sequential patterns” can be used to identify the most frequent patterns of ULs and DLs in non-overlapping, contiguous time periods.

[0054] Devices belonging to the same cluster but exhibiting different sequence patterns (420) can be identified based on common sequence patterns. In various scenarios, devices within a cluster may display different sequential patterns. This allows for the detection of anomalous sequential patterns, which could be due to misconfiguration during commissioning and / or changes over time. Upon detection of anomalous sequential patterns, AI / ML techniques enable the identification of devices that are good candidates for optimal parameter configuration, thereby optimizing the energy consumption of M-IoT devices and extending battery life.

[0055] Fig. Figure 5 shows a schematic representation of the identification and reconfiguration phases of M-IoT devices. Based on the detection of anomalies / misconfigurations, identification can be performed by analyzing the statistics of the time differences / intervals between successive ULs and DLs for different device categories (e.g., between device clusters). Furthermore, a discrete probability distribution function (PDF) of the time differences between successive ULs and DLs can be created for different device categories (e.g., time differences between ULs and DLs). In various examples, the probability distribution function can be characterized using standard statistical measures, such as minimum and maximum values, mean, median, mode, standard deviation, deciles, quartiles, quintiles, skewness, and / or kurtosis.

[0056] Furthermore, the multitude of IoT devices can be clustered based on the statistical characteristics of the PDFs of the devices (515). The clustering performed in this phase can group devices with similar statistical characteristics or PDFs. For example, devices within the same cluster may have UL and DL data with similar or "closer" statistical characteristics. Conversely, devices from different clusters may have UL and DL data with statistical characteristics that are "distant" or "far removed" from each other compared to the UL and DL data of devices within the same cluster.

[0057] In various examples, the statistical measures of the probability distributions of the time differences between successive ULs and / or DLs for each device can be used to construct a vector for each device. The dimensions of the vector can represent statistical features of the probability distribution. In one example, this can be part of the feature engineering of machine learning / engineering techniques. That is, the devices are grouped based on features of the probability distribution functions. For example, a K-means algorithm can be used to split probability distributions into clusters of similar probability distributions.Similarly, in some examples, the asymmetric distance between PDFs, also known as the average resistance distance, derived from the asymmetric Kullback-Leibler distance, can be used as a distance metric for clustering the PDFs of the devices.

[0058] The data from the clustered probability distribution functions can be used to identify clusters of devices with similar UL / DL characteristics. In various examples, to identify clusters of devices with similar UL / DL data characteristics, the clusters can be ordered based on the values ​​of the dimensions / characteristics of the vectors representing the centroid of each cluster. The centroid can be an imaginary or real location representing the center of the cluster. In a K-means algorithm, the number "K" of centroids can be selected. Furthermore, data points can be assigned to a nearest cluster, and the smallest value within the cluster is iteratively selected as the centroid.According to the techniques disclosed here, when clustering UL / DL features, a cluster with the lowest feature values ​​may be a cluster of devices that can be selected as good candidates for optimizing the timers to optimize energy / battery consumption. In some examples, the lowest feature values ​​may indicate a higher frequency of uplink / downlink operations.

[0059] Fig. Figure 6 shows a flowchart corresponding to a procedure for optimizing the operating parameters of M-IoT devices according to various examples in this disclosure. In some examples, a power optimization system (e.g., the power optimization system 130, 330) can execute one or more of the blocks shown in flowchart 600. Although the execution of the procedure is described below with reference to the power optimization system, other suitable components can also be used for execution (e.g., a computer system 800). In some other examples, the procedure can be executed by executing instructions stored on a machine-readable storage medium, such as the storage medium 140 of the [disclosure] Fig. 1 discussed example, and / or are stored in the form of electronic circuits.

[0060] M-IoT devices deployed in an enterprise environment can monitor and record data. In some scenarios, the M-IoT devices can transmit the recorded data to an IoT platform at regular intervals. The transmitted data can be analyzed on the IoT platform or forwarded to a remote service for further analysis. Based on this analysis, the IoT platform can transmit data corresponding to specific actions to be performed by the IoT devices. These actions might include controlling certain parameters, collecting additional data, or turning devices in the environment on and off. Furthermore, wireless access technologies or communication systems (e.g., 5G) can enable the M-IoT devices to transmit data to the IoT platform. Each deployed IoT device may have specific operating parameters, such as uplink time, downlink time, idle time, etc.These parameters can be recorded by a network function, server, or similar device. The energy optimization system can analyze the operating parameters over a predetermined time horizon (e.g., 24 hours, one week, etc.) to detect anomalies displayed by any of the IoT devices.

[0061] In block 605, the power optimization system can determine one or more operating parameters of the multiple IoT devices. Preferably, operating parameters such as uplink and downlink data can be determined, as these can contribute to higher power consumption. IoT devices can, for example, use various integrated resources, including a processor, a storage medium, and a radio component, so that stored data is retrieved and transmitted to the IoT platform via the radio component. The uplink and downlink data (e.g., uplink and downlink time, number of uplinks and downlinks over a time horizon, etc.) can be retrieved from log files. The log files can be stored in at least one VNF or network function in the core, an interface component, a server configured to store log data, or the power optimization system itself.In one example, the interface device can be the secondary optimization system 370 of . Fig. 3, which is functionally used between the IoT platform and the core.

[0062] In Block 610, the performance optimization system can construct a fraction of the operational data received for each IoT device from the multitude of IoT devices. For example, this fraction can be achieved by constructing a ratio of the number of uplinks or downlinks to the total number of uplinks and downlinks. Since devices belonging to the same function or use case may have a different number of uplink and downlink connections over time, a fraction can normalize such differences in the data for two or more devices.

[0063] In block 615, the majority of IoT devices can be grouped based on their uplink and downlink fractional counts. An unsupervised clustering technique / algorithm can be used to cluster these IoT devices. This allows the multitude of IoT devices to be divided into a number of clusters. Each cluster can consist of devices with a similar number of fractions. In other words, devices within a cluster may have similar fractional counts, while devices within a cluster may have fractional counts with less similarity. Here, "cluster" can denote a mutually exclusive subset of the multitude of IoT devices.

[0064] In some examples, a K-means clustering algorithm can be used to cluster a large number of IoT devices. The K-means clustering algorithm can classify data into a number of "K" clusters. In some examples, the value of K can be selected by the performance optimization system based on one or more selection criteria, such as the number of different IoT devices, the number of use cases, the number of monitored physical parameters, and so on. According to some examples, one approach to determining the appropriate "K" value can be the use of the elbow and silhouette methods. The elbow method is based on calculating the sum of squared errors within a cluster (WSS) for different data points. The silhouette method measures how similar a point is to its cluster (cohesion) compared to points in other clusters (separation).In some other examples, other clustering algorithms such as mean-shift clustering, expectation-maximization (EM) clustering using Gaussian Mixture Models (GMM), agglomerative hierarchical clustering, or other similar clustering techniques can be used.

[0065] In block 620, the performance optimization system for the IoT devices in each cluster can search for frequent sequential patterns of uplink and downlink data. Searching for frequent sequential patterns can be used to identify patterns that contain sequences of uplinks and downlinks. In some examples, the performance optimization system can search for patterns that include ULs, DLs, or a combination of both. In some examples, a prefix-span algorithm can be used to search for sequential patterns. A prefix-span algorithm can search for sequential patterns and extract them using the pattern growth method. This allows devices within each cluster to exhibit multiple sequential patterns.

[0066] In block 625, the performance optimization system can detect whether IoT devices within a cluster exhibit different sequential patterns. This can be done analogously to creating PCFs and determining whether devices have different PCFs. Detecting that devices exhibit different sequential patterns may indicate that some of the IoT devices are experiencing an anomaly due to a misconfiguration, a fault in the device(s), etc.

[0067] Based on the finding that IoT devices within a cluster exhibit different frequent sequential patterns, the performance optimization system in blocks 630-655 can use additional AI / ML techniques to determine the optimal operating parameters.

[0068] According to some examples, the performance optimization system in Block 630 can construct one or more probability distribution functions (PDFs) of the time differences between successive uplink and / or downlink data for each IoT device from the multitude of IoT devices. In one example, one or more of the following PDFs can be generated: time differences between successive ULs, time differences between successive DLs, and time differences between successive ULs and DLs.

[0069] In Block 635, the power optimizer can calculate statistical measures that characterize the probability distribution functions of a multitude of devices. These statistical measures can include minimum and maximum values, mean, median, mode, standard deviation, deciles, quartiles, quintiles, skewness, and / or kurtosis. The power optimization system compiles a vector whose dimensions can be represented by the statistical characteristics of the probability distribution functions. The following vector can serve as an example. Vector(v)=[Minimum,Maximum,Mean,Median,Mode,StandardDeviation,Deciles,Quartiles,Quintiles,Loop,Kurtosis]

[0070] In Block 640, the power optimizer can cluster the IoT devices based on their probability distribution functions, allowing devices with similar probability distribution functions to be grouped within the same cluster. In some examples, an unsupervised machine learning / artificial intelligence technique, such as a K-means clustering algorithm, can be used. In some previously discussed examples, the K-value can be determined based on technical approaches such as Elbow, Silhouette, or other similar heuristic or guaranteed methods. In some examples, the aforementioned or other heuristic methods can be used for a fast approximation of the K-value. In other examples, techniques that enable guaranteed identification can be used.

[0071] According to various examples, a clustering algorithm can initially assign K centers through random selection. In another example, the centers can initially be selected through sampling or selection means. The algorithm can further include an iterative assignment process, allowing each data point to be assigned to a cluster based on its proximity to a centroid. Furthermore, a new centroid can be determined for each new cluster (after the initial assignment / reassignment). Within the iterative approach, an algorithm, such as a K-means algorithm, can perform one iteration until no further reassignment of data points to clusters is possible. Fig. Figure 7, for example, shows a schematic view of diagram 700, in which three clusters are depicted according to different examples. The multitude of IoT devices can be clustered into three clusters: 705, 710, and 715. Furthermore, each cluster can contain a centroid: 725, 730, and 735. IoT devices with similar probability distribution functions can be classified in a cluster. Each star, square, and triangle in clusters 705, 710, and 715 can each represent a probability distribution function corresponding to an IoT device. The following explanation of Fig. 6 can be on Fig. 7. Reference is made to...

[0072] In Block 645, the energy optimization system can identify a cluster with the lowest values ​​of features (e.g., statistical measures) among the clusters. The identified cluster and its corresponding devices can be candidates for optimizing their timers to reduce energy / battery consumption. In some examples, the clusters can be ordered based on statistical features of probability distribution functions. From the ordered clusters, the clusters with the lowest values ​​of the statistical measure are selected. In some examples, more than one feature of the vector can be used to represent the centers and for a corresponding ranking. The selection of features for center formation can be determined by a network administrator. In the illustrative example of Fig. 7 will show a skewness as a characteristic of the 75th. thPercentile plotted. From the ordered clusters, the clusters with the lowest values ​​for a particular dimension / characteristic may indicate that the devices in that cluster are possibly misconfigured. Misconfiguration can cause the devices within that cluster to have high power consumption, leading to frequent battery drain. In some examples, the statistical measures / characteristics may include statistics, which can be descriptive coefficients capable of summarizing the entire cluster or a sample of a cluster. Some of the statistical measures may indicate central tendency, while others may be measures of dispersion (of the data). Mean, median, and mode can be measures of central tendency. Standard deviation, variance, minimum and maximum, kurtosis, and skewness can be measures of dispersion.The clusters can be ranked based on the centroid 725, 730 and 735, which represents one or more of these statistical measures.

[0073] In block 650, the power consumption optimization system can apply the optimal parameters (e.g., active timers) determined during power consumption estimation to a selected group of IoT devices (e.g., group 715, which may have the lowest ranking). In some examples, the power optimization system can change the active timers, allowing incorrectly configured or suboptimal configurations of IoT devices to be reconfigured with optimal timers. In some examples, the IoT devices can be reconfigured with power-saving / active timers using device management and service sharing protocols, such as the Open Mobile Alliance Lightweight Machine to Machine (OMA LWM2M) protocol over a Constrained Application Protocol (CoAP) transport. In some communication systems, the network may be affected by certain network conditions, such as...Poor signal strength, high network traffic, interference, or similar factors can make networks unstable and / or result in low throughput. CoAP can be a specialized, lightweight, and compact web transmission protocol that operates over unstable and / or low-throughput networks for use with limited devices / networks. It can be used for machine-to-machine (M2M) applications such as smart devices, building automation, and similar scenarios. In some examples, CoAP may conform to the Internet Engineering Task Force (IETF) RFC 7252 specification.

[0074] In some other examples, energy-saving timers can be reconfigured via network exposure functions (e.g., NEF 380 in Fig. 3) This allows the multitude of IoT devices to establish an uplink connection and be available for a downlink connection for optimal data transmission, optimal energy consumption and optimal battery life.

[0075] In some examples, the performance optimization system can trigger a secondary optimization system that adjusts the parameters of the transport protocol used for communication with IoT devices (downlink communication optimization). The transport protocol parameters can be adjusted to match optimal availability timers, ensuring efficient downlink attempts by IoT applications due to synchronization with operational parameters. In some examples, the parameters of a used LwM2M protocol can be adjusted for optimal downlink communication.

[0076] Based on the condition that the cluster exhibits no variations in common sequential patterns, the performance optimization system can re-execute blocks related to the detection phase in block 660 after a preset delay. This preset delay can be set by a network administrator or dynamically selected by the performance optimization system.

[0077] The methods and processes described here are not restricted to a specific order, and the associated blocks or states can be executed in other suitable sequences, in parallel, or in other ways. Blocks or states can be added to or removed from the disclosed examples.

[0078] Fig.Figure 8 shows a block diagram of an example Computer System 800, in which the disclosed functions for optimizing the operating parameters of M-IoT devices can be implemented. The Computer System 800 can include a Bus 805 or other communication mechanisms for transmitting information, as well as one or more Processors 810 connected to the Bus 805 for processing information. The Processor(s) 810 can be, for example, one or more general-purpose microprocessors.

[0079] The Computer System 800 may also include a main memory 815, such as random access memory (RAM), a cache, and / or other dynamic memory devices connected to the 805 bus to store information and instructions to be executed by the 810 processor. The main memory 815 may also be used to store temporary variables or other intermediate information during the execution of instructions to be carried out by the 810 processor. The Computer System 800 may further include a storage medium 820, such as read-only memory (ROM) or other static storage device connected to the 805 bus to store static information and instructions for the 810 processor. The storage medium 820 may be of a non-transient, machine-readable type. Thus, the storage medium 820 may include non-volatile and / or volatile media.Examples of non-volatile media include optical or magnetic disks, such as storage devices.

[0080] According to some examples, the storage medium 820 can store instructions 822, where instructions 822 (e.g., instructions 824-830) can be executed by the processor 810, causing the processor to optimize the battery usage of a large number of IoT / M-IoT devices. According to some examples, instructions 824 can be executed by the processor 810, causing it to obtain operating parameters of a majority of IoT devices. Instructions 826 can be executed by the processor 810, causing it to estimate the energy consumption of devices over a time horizon. Instructions 828 can be executed by the processor 810, causing it to determine a variation in the energy consumption of one or more IoT devices from among the majority of IoT devices. For example, a change in operating parameters might indicate a change in power consumption.Furthermore, instructions 830 can be executed by the processor 810 to identify, in response to a determination of variation in power consumption, one or more optimal operating parameters based on probability distribution functions (PDFs) of the time difference between successive uplink and downlink data. In some examples, "power consumption" can be measured in watts, watt-hours, or available lifetime. In some examples, a power optimization system or a computer system as described herein can be referred to as a "system."

[0081] The Computer System 800 can be connected to a Display 835 and an Input Device 840 via the Bus 805. The Computer System 800 can include a User Interface Module (not shown) to implement a graphical user interface, which can be stored on a mass storage device as executable software code to be run by the computer device(s).

[0082] Non-transitory media differ from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-transitory media. Examples of transmission media include coaxial cable, copper wire, and fiber optic cable, including the wires that make up the 805 bus. Transmission media can also take the form of sound or light waves, such as those generated in radio and infrared data communication.

[0083] The Computer System 800 can also include a communication interface or a network interface 845, which can establish a two-way data communication connection to one or more network connections connected to one or more local area networks. A communication interface can be, for example, an ISDN (Integrated Services Digital Network) card, a cable modem, a satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. Another example: The network interface 845 can be a LAN (Local Area Network) card to establish a data communication connection to a compatible LAN (or a WAN component to communicate with a WAN). Wireless connections can also be implemented.In each of these implementations, the 845 network interface sends and receives electrical, electromagnetic, or optical signals that transmit digital data streams with various types of information.

[0084] A network connection typically enables data communication over one or more networks to other data devices. For example, a network connection might establish a connection over a local area network to a host computer or data equipment operated by an Internet service provider (ISP). The ISP, in turn, provides data communication services over the worldwide packet data communication network, now commonly referred to as the "Internet." Both the local area network and the Internet use electrical, electromagnetic, or optical signals to transmit digital data streams. The Computer System 800 can send messages and receive data, including program code, over the network(s), network connection, and network interface 845.

[0085] Each of the processes, methods, and algorithms described in the preceding sections can be embodied in code components and fully or partially automated by them. These components are executed by one or more computer systems or processors, which may include computer hardware. The one or more computer systems or processors can also be operated in a cloud computing environment or as Software as a Service (SaaS). The processes and algorithms may be partially or fully implemented in application-specific circuits. The various features and procedures described above can be used independently or combined in various ways.

[0086] A circuit can be implemented in any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to form a circuit. In an implementation, the various circuits described herein may be implemented as discrete circuits, or the described functions and features may be partially or completely distributed across one or more circuits. Even if various features or functional elements are individually described or claimed as separate circuits, these features and functions may be shared by one or more common circuits, and such a description is not intended to require or imply that separate circuits may be used to implement such features or functions.If a circuit is implemented wholly or partly with software, this software can be implemented in such a way that it works with a computer or processing system capable of performing the functionality described in relation to it, such as the Computing System 800.

[0087] Unless explicitly stated otherwise, the terms and expressions used in this document, as well as their variations, are to be interpreted as open and not restrictive. Adjectives such as "standard," "known," and similar terms are not to be understood as limiting the described subject matter to a particular period or to an item available at a particular time, but rather as encompassing conventional, traditional, normal, or standard technologies that are available or known now or at any time in the future. In general, the words "component," "system," "database," and the like, as used herein, may refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language.The presence of expansive words and phrases such as "one or more", "at least", "but not limited to" or similar expressions in some cases is not to be understood as implying that the narrower case is intended or required when such expansive phrases are not present.

Claims

[1] A system that includes the following: a processor; and a machine-readable storage medium containing instructions, wherein the instructions can be executed by the processor to cause the processor to: to obtain one or more operating parameter data sets from a large number of Internet of Things (IoT) devices connected to a network; to estimate an energy cost function based on one or more sets of operating parameters for the multitude of IoT devices; wherein the estimation of the energy cost function for each IoT device includes: Correlating a connection attempt by the respective IoT device during an active period with the network and a transmission attempt by an IoT application with the respective IoT device; Determining a variation in the power cost function (PCF) of one or more IoT devices from the multitude of IoT devices; Identify, based on a determination of the variation, one or more optimal operating parameters; and Configuring one or more IoT devices from a multitude of IoT devices with one or more optimal operating parameters. [2] System according to claim 1, wherein the instructions for determining the variation include instructions that cause the processor to: to cluster the multitude of IoT devices into a set of clusters based on the operational parameter data sets, wherein the operational parameter data sets contain at least one of uplink data, downlink data, an active timer and a sleep timer for each IoT device of the multitude of IoT devices over a predetermined time horizon. [3] System according to claim 2, further comprising instructions executable by the processor to: within each cluster of the set of clusters, determine a fraction of uplink and downlink data for a common sequential pattern; and to identify a deviation in the frequent sequence pattern between devices belonging to a cluster. [4] System according to claim 2, wherein the plurality of IoT devices is clustered using an unsupervised machine learning technique and on the basis of a fraction of the upstream and downstream data. [5] System according to claim 1, wherein the instructions for estimating the PCF include instructions for: Referring to a consumption model that includes power consumption values ​​for one or more operations performed by an IoT device. [6] System according to claim 1, further comprising instructions executable by the processor to: To apply unsupervised machine learning techniques to: To determine statistics of a time interval between successive up and down connections from the operating parameter records for each IoT device of the multitude of IoT devices; and to determine a probability distribution function for the interval between successive uplink and downlink information for each IoT device of the multitude of IoT devices, and to characterize one or more statistical measures from the probability distribution function. [7] System according to claim 6, further comprising instructions that can be executed by the processor for: clustering the plurality of IoT devices into a set of clusters based on the probability distribution function; and Classifying the set of clusters based on a centroid of each cluster, represented by one or more statistical measures; and Identifying one or more clusters from the ordered clusters based on the frequency of uplink and downlink occurrences. [8] System according to claim 1, wherein the system is deployed on a virtual network function (VNF) and wherein the VNF is deployed on a kernel of a communication system. [9] System according to claim 1, further comprising instructions that can be executed by the processor to: to obtain one or more operational parameter data sets from a secondary optimization system, wherein the secondary optimization system forms an interface to a core of a communication system and an Internet of Things (IoT) platform; and to trigger the secondary optimization system to compare one or more parameters of the transport protocol with one or more optimal operating parameters of the multiple IoT devices. [10] Method comprising the following: Obtaining one or more operational parameter data sets from a large number of Internet of Things (IoT) devices connected to a network; Estimating the power consumption of each IoT device from the multitude of IoT devices based on the obtained operating parameter data sets by correlating a connection attempt of the respective IoT device during an active period with the network and a transmission attempt of an IoT application with the respective IoT device; Determining a variation in the power consumption of one or more IoT devices from among the multitude of IoT devices; based on a determination of the change in energy consumption, identifying one or more optimal operating parameters from the estimated energy consumption; and Configuring one or more IoT devices from the multitude of IoT devices with one or more optimal operating parameters. [11] Method according to claim 10, wherein the determination of the change in energy consumption comprises: Clustering the multitude of IoT devices into a set of clusters based on at least a fraction of uplink data or downlink data, wherein the uplink data and the downlink data are obtained from one or more operational parameter data sets; and Identifying one or more clusters from the set of clusters that exhibit different frequent sequential patterns within the cluster. [12] Method according to claim 10, wherein the identification comprises one or more optimal operating parameters: Selecting one or more optimal operating parameters based on the estimated power consumption; Constructing a probability distribution function (PDF) of a time difference between a successive uplink and a downlink for each IoT device; and Constructing one or more statistical measures that characterize the PDFs. [13] The method of claim 12, which further comprises: Clustering the multitude of IoT devices into a set of clusters based on the PDF using one or more unsupervised machine learning techniques. [14] Method according to claim 12, wherein identifying one or more clusters comprises: Classifying the set of clusters based on a centroid of the set of clusters, represented by one or more statistical measures; and Selecting one or more clusters with the smallest value of one or more statistical measures to optimize one or more IoT devices of the selected clusters. [15] Non-transitory storage medium that stores instructions, wherein the instructions can be executed by a processor to: to obtain one or more operational parameter data sets from a multitude of Internet of Things (IoT) devices connected to a network deployed in a Massive IoT (M-IoT) deployment, wherein the one or more operational parameters include uplink data and downlink data; to estimate an energy cost function based on one or more operating parameters for the multitude of IoT devices; including the estimation of the energy cost function for each IoT device: Correlating a connection attempt by the respective IoT device during an active period with the network and a transmission attempt by an IoT application with the respective IoT device; Determining a variation in the power cost function (PCF) of one or more IoT devices from the multitude of IoT devices; based on a determination of the variation, identifying one or more optimal operating parameters; and Configuring one or more IoT devices from a multitude of IoT devices with one or more optimal operating parameters. [16] Non-transitory storage medium according to claim 15, which contains further instructions to: to compare one or more parameters of a transport protocol with at least one of the existing operating parameters or the optimal operating parameters of the one or more IoT devices, wherein the transport protocol is used by the network to communicate with the IoT device. [17] Non-transitory storage medium according to claim 16, wherein the transport protocol is a lightweight and compact protocol that can be operated over unstable, low-throughput networks. [18] Non-transient storage medium according to claim 15, wherein the operating parameter data sets for each IoT device of the plurality of IoT devices are obtained over a continuous and non-overlapping time series. [19] Non-transitory storage medium according to claim 15, wherein the operating parameter data sets contain data corresponding to one or more connection attempts by the plurality of IoT devices and one or more transmission attempts to the plurality of IoT devices, wherein the one or more connection attempts are determined from one or more existing availability timers.

Citation Information

Patent Citations

  • TECHNOLOGIES FOR DISTRIBUTING ITERATIVE COMPUTINGS IN HETEROGENEOUS COMPUTER ENVIRONMENTS

    DE102020201015A1

  • Methods, systems, apparatuses and devices for optimizing utility consumption associated with at least one premises

    US20210123771A1