Method and node for processing sensor nodes and fog nodes in a communication system
Through the cloud node execution method, mathematical and graphical methods are used to determine the optimal location of sensor nodes and fog nodes, solving the problem that the "cloud-only" architecture cannot handle rapidly growing IoT data, and achieving the effect of reducing maintenance costs and improving data processing efficiency.
Patent Information
- Application Number
- CN201880099476.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-11-19
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2038-11-19
AI Technical Summary
The current ‘cloud-only’ architecture is unable to effectively process rapidly growing IoT data, resulting in low communication latency and data transmission rates, and the challenge of finding and placing a minimum number of fog nodes in fog computing scenarios is complex.
The method performed by cloud nodes is determined using mathematical and graphical methods to determine the minimum number of sensor nodes and their optimal locations required to monitor the communication system, and determine the minimum number of fog nodes and their optimal locations based on these locations.
It realizes the reduction of redundant sensor nodes and fog nodes, thereby reducing maintenance costs, improving data processing efficiency, reducing data latency, and optimizing the placement and cost of fog nodes.
Smart Images

Figure CN113039861B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to cloud nodes and methods performed by cloud nodes. More specifically, embodiments of the present disclosure relate to processing sensor nodes and fog nodes in a communication system. Background Art
[0002] The Internet of Things (IoT) has seen rapid development and will continue this momentum in the coming years. There are many different definitions of the IoT, and one definition provided by the IEEE in "Towards a definition of the Internet of Things (IoT)" (Revision 1, May 27, 2015) is as follows:
[0003] "The IoT is a network that connects uniquely identifiable "things" to the Internet. The "things" have sensing / actuating and potentially programmable capabilities. By leveraging unique identification and sensing, information about the "things" can be collected, and the state of the "things" can be changed by anything, anywhere, at any time."
[0004] The current cellular infrastructure faces challenges related to coping with the increasing IoT traffic. The customized design of IoT applications for fog radio access networks (RANs) (e.g., a type of fog node) requires heterogeneous communication, real-time computing, local storage, and application-specific functions. The expected benefits are reduced latency, increased throughput, leverage, and locality, and ultimately alleviating the backhaul load. In the fifth generation (5G) era, new business models are expected to be introduced in the telecommunications operator community. Operators will collaborate with application / service providers to provide better IoT service quality. Adding more and more nodes for IoT networking for new 5G applications will pose maintenance problems in the future. One of the problems with the current technology is that services are analyzed and explored only in the presence of a minimum number of nodes.
[0005] Digital innovations from IoT, artificial intelligence (AI), virtual reality (VR), tactile Internet, and 5G applications are creating new paradigms for society to work, commute, shop, assist in living, and entertain in a fast and optimal way. 5G is the foundation for the digitization of industries and society. It is expected that data from new connected industrial IoT scenarios will increase from 1.1 zettabytes or 89 exabytes per year in 2016 to 2.3 zettabytes or 194 exabytes per year in 2020. The current "cloud-only" architecture cannot keep up with the volume and speed of this data across the network, thus reducing the value that can be generated and captured from these investments. The proliferation of cloud technologies and IoT technologies together enables small-scale and large-scale intelligent environments and systems for various domains such as smart healthcare, smart cities, smart energy grids, or smart factories. However, from a technical perspective, the decentralized nature of IoT does not match the rather centralized structure of the cloud. Today, IoT data is mainly generated in a distributed manner, sent to a centralized cloud for processing, and then transmitted to distributed stakeholders or other distributed IoT devices that are usually near the initial data sources. This centralized processing method results in large communication delays and low data transfer rates between IoT devices and between IoT devices and their potential users.
[0006] Fog computing is a concept that aims to bring cloud service characteristics closer to so-called "things" (including sensors, embedded systems, mobile phones, vehicles, etc.). The metaphor "fog" comes from the meteorological term for clouds that are close to the ground, just like fog concentrating at the edge of the network. Fog computing is complementary to cloud computing, where the cloud moves down ("closer to the ground") to the end systems, machines, sensors, and actuators (i.e., "things") that generate data. Fog computing can also be referred to as fog networking or fogging. The OpenFog Consortium defines fog computing (https: / / www.openfogconsortium.org / what-we-do / #definition-of-fog-computing) as follows:
[0007] "Fog computing is a system-level horizontal architecture that distributes computing, storage, control, and networking resources and services at any point along the continuum from the cloud to the things. It is:
[0008] · A horizontal architecture: Supporting multiple industry verticals and application domains, thus providing intelligence and services to users and enterprises
[0009] · A cloud-to-things service continuum: Enabling services and applications to be distributed closer to the things and at any point along the continuum between the cloud and the things
[0010] · System level: Starting from things, extending above the network edge, through the cloud and across multiple protocol layers - not just radio systems, not just specific protocol layers, not just part of an end-to-end system, but the system across things and the cloud.
[0011] A fog node is a physical device in which fog computing is deployed. The fog node performs functions that might be performed at a server in cloud computing. Examples of functions performed by fog nodes can be storage, communication, computing, control, decision-making, etc. Fog nodes can be deployed anywhere with a network connection: in a factory floor, on top of a utility pole, beside a railway track, in a vehicle, on an oil rig, etc. Any device with computing, storage, and network connection can be a fog node. For fog computing, data processing is done in the fog node, thus reducing the amount of data sent to the cloud.
[0012] A fog node is a device that intelligently processes any situation by performing fog computing. Since multiple devices are involved, it is complex to discover and place the optimal number of fog nodes in any intelligent application. The concept of placing fog nodes in an industrial scenario is different from that of WiFi routers and sensors, where only the signal strength between two objects should be measured. However, various relevant parameters of the devices connected to the fog node must be measured. Moreover, in the fog computing scenario, inherent characteristics will make the challenge of discovering the minimum number of fog nodes required to adapt to the network more complex. These inherent characteristics are, for example: a) low latency and location awareness; b) wide geographical distribution; c) mobility; d) a large number of very close nodes; e) the dominant role of wireless access; f) the strong presence of streaming and real-time applications; g) heterogeneity. In addition, some fog nodes perform actions independently. Currently, there is no solution for discovering the minimum number of fog nodes and their locations in any specified area.
[0013] Fog computing provides the ability to create device-to-device (D2D) communication paths without interrupting the existing edge-to-cloud communication. The data stored in the fog node can also be uploaded to the appropriate cloud or multiple clouds to bridge silos. Fog computing provides the missing link in the cloud-to-thing continuum. The fog architecture selectively moves computing, storage, communication, control, and decision-making closer to the network edge where data is being generated to address the limitations in the current infrastructure for mission-critical data-intensive use cases.
[0014] The optimal placement of fog nodes is similar to the optimal sensor placement, where sensors are replaced by a set of sensors in a fog node. There are techniques for optimal sensor placement that use clustering, where that number of sensors is required. However, for techniques for optimal sensor placement, knowledge of the number of sensors to be placed is necessary. Additionally, the characteristics of fog nodes are different from those of general sensors because fog nodes are a combination of sensors, which makes optimal sensor placement techniques inapplicable to fog nodes.
[0015] There are some current solutions for optimal fog node placement. However, these solutions also require specifying a minimum number of sensors, which is difficult to obtain in practice. Additionally, these solutions cannot scale for large systems because the optimization problems they solve are not scalable. In another solution, optimal fog node placement uses a graph-based approach. However, current graph-based methods are not scalable and also cannot distinguish the characteristics of sensors connected to fog nodes.
[0016] Generally, it is assumed that all fog nodes work independently of each other. In some cases, fog nodes share computations, whereby one fog node can affect other fog nodes. In these cases, it is beneficial to use traditional methods to construct a network-based graph to understand the connectivity of the network. Current techniques for graph construction are based on correlation, which only considers linear dependencies.
[0017] Edge computing is another concept that is often mentioned in conjunction with IoT. Both edge computing and fog computing involve distributing processing power closer to the origin of the data. One difference between edge computing and fog computing is the location where the processing power resides. Edge computing is typically performed directly on the device to which the sensor is attached or on a gateway device physically close to the sensor.
[0018] On the other hand, fog computing distributes processing power to processors connected to a local area network (LAN) or to within the LAN hardware itself. For fog computing, data is processed within fog nodes located within the LAN. For edge computing, data is processed on the device or sensor itself without being transmitted anywhere, i.e., the data and processing are retained on the device where the data was originally created. Edge computing can be considered a technology that predates fog computing.
[0019] Many of the latest studies are exploring the LTE-A cellular infrastructure, especially 5G networks, for developing fog computing in different applications. One use of the LTE-A network for high-speed communication purposes is signal processing activities via the fog radio access network. A recent study proposed a RAN architecture for a fog computing-based 5G system, which is an effective extension of the cloud-based RAN. It is used to reduce the fronthaul load and latency by using virtualized baseband processing units. Edge processing and virtualization are effective aspects in the context of 5G networks. Recently, fog-based capture at edge devices in the radio access network has been explored and used to identify the best capture and fronthaul and edge transmission strategies. Additionally, 5G systems are more latency-sensitive than 4G systems. Fog computing is being applied in 5G systems to minimize latency, including communication and computing latency. Another problem to be solved by using fog computing for 5G applications is load balancing. Fog computing can provide low-latency interaction between machine-to-machine communications. Thus, it can be noted that 5G-based cellular systems and fog computing frameworks are very relevant to each other in terms of compatibility compared to cloud computing.
[0020] Therefore, it is necessary to at least mitigate or solve the above problems. Summary of the Invention
[0021] Therefore, an object of the embodiments herein is to eliminate at least one of the above disadvantages and provide an improved communication system.
[0022] According to a first aspect, this object is achieved by a method for processing sensor nodes and fog nodes performed by a cloud node in a communication system. The communication system includes a plurality of sensor nodes processed by the fog nodes located at multiple locations. The cloud node obtains measurements from at least some of the plurality of sensor nodes at at least some of the multiple locations. Based on the obtained measurements, the cloud node mathematically determines the minimum number of sensor nodes required to monitor the entire communication system and their corresponding optimal locations. Based on the obtained measurements and the optimally determined locations mathematically, the cloud node graphically determines the optimal location of each of the minimum number of sensor nodes required to monitor the entire communication system. The cloud node compares the optimally determined location mathematically with the optimally determined location graphically. When the comparison indicates that the optimally determined location mathematically and the optimally determined location graphically are at least substantially the same, the cloud node determines the minimum number of fog nodes for covering the minimum number of sensor nodes. Based on the optimal location of the sensor nodes, the cloud node determines the optimal location of each of the minimum number of fog nodes.
[0023] According to a second aspect, this object is achieved by a cloud node in a communication system. The communication system includes a plurality of sensor nodes processed by fog nodes located at multiple positions. The cloud node is adapted to obtain measurements from at least some of the plurality of sensor nodes at at least some of the multiple positions. The cloud node is adapted to mathematically determine the minimum number of sensor nodes required to monitor the entire communication system and their corresponding optimal positions based on the obtained measurements. The cloud node is adapted to graphically determine the optimal position of each of the minimum number of sensor nodes required to monitor the entire communication system based on the obtained measurements and the mathematically determined optimal positions. The cloud node is adapted to compare the mathematically determined optimal positions with the graphically determined optimal positions. The cloud node is adapted to determine the minimum number of fog nodes for covering the minimum number of sensor nodes when the comparison indicates that the mathematically determined optimal positions and the graphically determined optimal positions are at least substantially the same. The cloud node is adapted to determine the optimal position of each of the minimum number of fog nodes based on the optimal positions of the sensor nodes.
[0024] By mathematically and graphically determining the minimum number of sensor nodes and their optimal positions, as well as the minimum number of fog nodes and their optimal positions, improved communication is provided where redundant sensor nodes and / or fog nodes can be removed or avoided so that maintenance costs can be reduced and the remaining sensors and bandwidth can be used for other applications.
[0025] Embodiments herein provide many advantages, a non-exhaustive list of examples is as follows:
[0026] One advantage of the embodiments herein is that they can be effectively used to optimally place fog nodes that process multiple sensor nodes and communication devices, and are expected to be implemented in many indoor environments for different purposes.
[0027] Another advantage of the embodiments herein is that they can reduce the latency in obtaining data for processing data, which is an important factor in a communication system.
[0028] In addition, one advantage of the embodiments herein is that they can provide dynamics to an application, where the optimal position can be calculated at specific time intervals to recalculate the optimal position and move the sensor nodes to new positions.
[0029] Another advantage of the embodiments herein is that they can work on existing fog network setups to reduce the number of fog nodes and optimize the placement and cost of fog nodes.
[0030] Another advantage of the embodiments of the present disclosure is that they are easily scalable and also provide the minimum number of fog nodes required and their placement in any new application.
[0031] Another advantage of the embodiments of the present disclosure is that the fog nodes accelerate the eNode support for mobile phones and improve the QoS in the communication system.
[0032] The embodiments of the present disclosure are not limited to the above-described features and advantages. Additional features and advantages will be recognized by those skilled in the art upon reading the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Embodiments of the present disclosure will now be described in further detail, by way of example only, in the following detailed description with reference to the accompanying drawings showing embodiments, which are:
[0034] Figure 1 is a schematic block diagram showing an embodiment of a communication system;
[0035] Figure 2 is a flowchart showing an example method;
[0036] Figure 3 is a flowchart showing an example method;
[0037] Figure 4 is a diagram showing a norm;
[0038] Figure 5 is a diagram showing a heat map of the positions of different numbers of sensor nodes;
[0039] Figure 6 is a flowchart showing an example method performed by a cloud node;
[0040] Figure 7 is a schematic block diagram showing an example of a cloud node.
[0041] The drawings are not necessarily to scale and, for clarity, the dimensions of some features may have been enlarged. The emphasis is on showing the principles of the embodiments of the present disclosure. DETAILED DESCRIPTION
[0042] Figure 1 A communication system 100 in which embodiments of the present disclosure may be implemented is shown. In some embodiments, the communication network 100 may be applicable to one or more communication technologies, such as second generation (2G), third generation (3G), fourth generation (4G), fifth generation (5G), or any other 3rd Generation Partnership Project (3GPP) radio access technology or other access technologies, such as Wireless Local Area Network (WLAN).
[0043] The communication system 100 includes a cloud 101. The cloud 101 includes at least one cloud node 103. The cloud 101 can be described as an infrastructure that provides computing services, servers, storage, databases, networking, software, etc. on the Internet ("the cloud") to provide faster innovation, flexible resources, and economies of scale. The cloud can be a private cloud, a public cloud, or a hybrid cloud. Figure 1 One cloud node 101 is shown, but it should be noted that the cloud 100 can include n cloud nodes 101, where n is a positive integer. The cloud 101 can also be referred to as a data center.
[0044] One, two, or more fog nodes 105 can be adapted to communicate with the cloud node 103. In the case of two or more fog nodes 105, they are adapted to communicate with each other. As mentioned before, the fog node 105 is a device adapted to process, analyze, and store data. The data processing performed by the fog node 105 can also be referred to as preprocessing, and the data processing then performed by the cloud node 103 can be referred to as main processing. The fog node 105 can be included in routers, gateways, IoT gateways, etc. In other words, when fog computing is deployed in the communication system 100, some functions that are usually performed by the cloud 101 are assigned to the fog node 105.
[0045] The fog node 105 has a specific geographical coverage area within which the fog node 105 can process one, two, or more sensor nodes 110. The sensor node 110 can be processed by one or more fog nodes 105. Compared with the centralized cloud 101, the fog node 105 is geographically closer to the sensor node 110, that is, it is closer to the sensor node 110 that generates data. The fog node 105 can also be regarded as being located between the cloud 101 and the sensor node 110.
[0046] The communication system 100 can include any number of sensor nodes 110. The sensor node 110 generates data. Some examples of the sensor node 110 can be mobile phones, vehicles, video surveillance cameras in homes, airplanes, water sensors, etc. The sensor node 110 can also be referred to as an "object" related to the IoT, an endpoint, an endpoint device, an edge device, an IoT device. The sensor node 110 is adapted to provide data to the fog node 105 when generated, when requested, periodically, etc. The sensor node 110 can be adapted to communicate with each other. The sensor node 110 can be of a sensor type and can include one, two, or more sensor types in the communication system 100. For example, the communication system 100 can include two temperature sensors, one vehicle sensor, and three water sensors.
[0047] The fog node 105 can be described as an intelligent node because they perform processing, while the sensor node 110 can be described as a dumb node because they only generate data.
[0048] The communication system 100 can also be described as including three layers: a cloud layer, a first fog layer, and a second fog layer. The cloud layer includes cloud 101, cloud 101 includes cloud nodes 103, the first fog layer includes fog nodes 105, and the second fog layer includes sensor nodes 110. Note that there may be intermediate layers between them (these intermediate layers are not shown in Figure 1 ), and in addition to the nodes illustrated in Figure 1 , there may be additional nodes in the communication system 100.
[0049] It should be noted that the communication links in the communication system 100 can be of any suitable type, including wired links or wireless links. Depending on the type and level of the layer (e.g., as indicated by the Open Systems Interconnection (OSI) model), the communication links can use any suitable protocol, as understood by those skilled in the art.
[0050] Embodiments herein relate to optimally placing fog nodes in a given area. Embodiments herein include two steps:
[0051] (I) They use both deep learning (i.e., mathematical calculations) and graph creation to discover and optimally place the minimum number of different types of sensor nodes 1110 to monitor a given location.
[0052] (II) In addition, embodiments herein place the minimum number of fog nodes and optimally place the fog nodes based on the location requirements for establishing communication between the sensors, and also perform the required intelligent calculations and related communications.
[0053] Embodiments herein assume that all sensor nodes 110 and fog nodes 105 are placed in a given environment, and one objective is to remove redundant sensor nodes 110 and / or fog nodes 105 so that the maintenance cost can be reduced, and the remaining sensor nodes 110 and bandwidth can be used for other applications. This can result in significant economic savings when dealing with a large number of sensor nodes 110 and fog nodes 105 in future smart city and industrial IoT scenarios. Embodiments herein can be adapted to learn the parameter values of different devices and their associations when fog networking, as a cumulative evaluation strategy for covering a specified area. In addition, by measuring the relevant aspects of multiple sensor nodes 110 processed by fog nodes 105 and the correlation of fog nodes 105, deep learning techniques can be combined with any graph generation for the minimum placement of fog nodes 105 in any area.
[0054] Figure 2 is a flowchart showing a method in view of the Figure 1 illustrated communication system. The method includes at least one of the following steps, which can be performed in any suitable order other than as described below:
[0055] Step 200
[0056] At least some or substantially all of the sensor nodes 110 in the communication system 100 provide sensor data to the fog node 105. The fog node 105 obtains the sensor data from the sensor nodes 110. This can also be described as the fog node 105 obtaining sensor data from the sensor nodes 110 at at least some or substantially all of the locations included in the communication system 100. Sensor data can also be referred to as measurements, information, etc. Sensor data can be, for example, a temperature measurement from a temperature sensor 110, a power measurement from a video surveillance camera, etc. Sensor data can be used for one time instance, they can be used for a period of time, can be used for several periods of time, etc.
[0057] The fog node 105 can provide the sensor data to the cloud node 103. This can also be described as the sensor nodes 110 providing the sensor data to the cloud node 103 via the fog node 105. The sensor nodes 110 can also provide the sensor data directly to the cloud node 103 without going through the fog node 105.
[0058] Step 201
[0059] The cloud node 103 uses a math-based method to calculate the minimum number of sensor nodes 110 and their corresponding locations. The input to the cloud node 103 for performing the calculation in step 201 is the sensor measurements from all locations in step 200. The output from step 201 is the minimum number of sensor nodes 110 and their locations. This output can be regarded as a math output.
[0060] Step 202
[0061] Based on the sensor data from step 200 and the sensor node locations calculated mathematically, the cloud node 103 uses a graph-based method to calculate the sensor node locations. Through steps 201 and 202, for each of the minimum number of sensor nodes 110, the mathematically calculated location and the graphically calculated location are calculated. The mathematically calculated location can be referred to as the first location, and the graphically calculated location can be referred to as the second location. The input to step 202 is the sensor measurements from step 200 and the mathematically calculated location, i.e., the math output from step 201. The output from step 202 is the graphically calculated location of the sensor nodes 110, i.e., the graph output.
[0062] Step 203
[0063] The cloud node 103 compares the mathematically calculated best position from step 201 with the graphically calculated position from step 202 to determine if they match, i.e., if they are substantially the same.
[0064] If the best sensor positions from steps 201 and 202 do not match (indicated by "No" in Figure 2 ), the fog node 105 returns to step 201 and steps 201 - 203 are performed at least one more time (using different sensor data). Steps 201 - 203 are repeated until the positions match. If the sensor positions from steps 201 and 202 match (indicated by "Yes" in Figure 2 ), the method proceeds to step 204.
[0065] Step 204
[0066] If step 203 indicates that the best positions match (indicated by "Yes" in Figure 2 ), then this step is executed. A matching position means that the positions are at least substantially the same, i.e., there is some tolerance in the match. Then, with the positions matching, the cloud node 103 checks the designed network performance measurements from step 203. The input to step 204 is the positions of the minimum number of sensor nodes 110. The output of step 204 is a performance matrix indicating the performance loss of the obtained network. The obtained network includes the minimum number of sensor nodes 110 at their best positions.
[0067] Step 205
[0068] The cloud node 103 performs placement optimization using at least the best positions of the sensor nodes 110 from step 202. The output of step 205 is the best fog node position. Steps 204 and 205 can run in parallel or non - parallel.
[0069] Steps 201, 202, and 203 are repeated for each different type of sensor node 110 since each area is monitored with a different type of sensor node 110.
[0070] Steps 201, 202, and 203 in Figure 2 will now be described in more detail. These steps are related to the minimum number of sensor nodes 110 and their best positions:
[0071] Step 201
[0072] This step is performed by the cloud node 103. Assume that the number of candidate sensor node positions to be monitored is N, and the minimum number of sensor nodes 110 to be placed is M (M << N), where N and M are positive integers. Then, estimate the best sensor node positions for M and satisfying the constraints.
[0073] Mathematically, the vector y is obtained as:
[0074] y = Ax
[0075] where y ∈ R N is the vector of values obtained at N candidate positions, x ∈ R N is the value of the sensor node 110 measured at all N candidate positions, and A is the matrix involving y and x. If the device including the sensor node 110 is placed at all N candidate positions, then A would be the identity matrix.
[0076] Then, estimate a low-dimensional approximation of x such that, in the case of device placement, the elements of y are non-zero, i.e., all N candidate positions are monitored, or in the case where the sensor node 110 is included in, for example, a Wi-Fi router, the elements of y are greater than a threshold, i.e., the strength of the Wi-Fi signal is greater than the threshold. The low-dimensional approximation is as low as possible. It should be noted that if the low-dimensional approximation of x (assumed to be ) is estimated, then the matrix A represents the relationship between y and . The relationship between y and can be obtained in two ways.
[0077] The above threshold is a generated threshold and depends on the application. For example, the threshold can be 0.8, such as the ratio of the Wi-Fi signal at the current location to the maximum Wi-Fi signal at another location.
[0078] If historical data is available, the principal component analysis (PCA) method can be used to estimate A. PCA is a statistical method for discovering the principal components of data, used to emphasize variations and reveal strong data patterns, and is commonly used to make data easier to browse and visualize. When estimating the matrix A, it can be assumed that the candidate sensor node positions in
[0079] are independent of each other, and it can be assumed that the remaining positions in y are dependent variables. The process of using PCA to estimate the matrix A is as follows:
[0080] U, Sigma, VT = SVD(data)
[0081] where
[0082] · Data is an m x n matrix that represents the readings of all sensor nodes 110 sampled at fixed intervals.
[0083] · U is an m x m matrix
[0084] · Sigma is an n x n diagonal matrix
[0085] · VT is an n x n matrix
[0086] Note that m refers to the number of timestamped instances when the readings of sensor nodes 110 are recorded, and n refers to the number of sensor nodes 110 among which the information is collected.
[0087] The process of constructing matrix A can be as follows:
[0088] Obtain the zero eigenvalues in the sigma matrix and the corresponding eigenvectors in the VT matrix to generate the relationships between individual sensor nodes 110. Recall that the sigma matrix is a diagonal matrix. Assume that a subset of sensor measurements is associated with the entire measurement as follows:
[0089] y = Ax
[0090] where y ∈ R M is the entire vector of measurements, y ∈ R N is the subset vector of measurements (M >> N), and A is a matrix that can be derived from historical measurements based on PCA. In PCA, the general matrix A is decomposed as A = U∑V T
[0091] where ∑ is a diagonal matrix of the singular values of matrix A arranged in descending order. Since we want to obtain the relationships between the columns in matrix A, only the principal components corresponding to the zero values in matrix ∑ are considered. Assume there are K such zero values. Through linear algebra, the following can be expressed:
[0092]
[0093] where is the matrix of eigenvectors corresponding to the zero singular values in ∑, and y is the vector at all M positions. Thereafter, the vector y is divided into the independent variable y 1 and the dependent variable y 2 . Through this decomposition, the relationship between the dependent variable and the independent variable can be obtained as follows:
[0094]
[0095] By using the above equation, the relationship given in y = Ax is derived as follows:
[0096]
[0097] Once the relationship given by y = Ax is obtained, the information of the combination can be calculated. The information used in this article is Fisher information, which is calculated as follows:
[0098]
[0099] It should be remembered that the independent variables correspond to a subset of the optimal sensor node positions, where the dependent variables correspond to the remaining positions whose median values must be inferred. Therefore, for each combination of independent variables, a different matrix A will be encountered.
[0100] Once the matrix A is constructed, the following optimization problem is solved to obtain the minimum number of sensor nodes 110 and the optimal number of positions where the sensor nodes 110 should be located:
[0101] Limited to elements where y > 0
[0102] The first term in the above objective function ensures that the estimated approximation error is as small as possible. The second term in the above equation ensures that a sparse x is obtained, i.e., it contains as many zeros as possible. The constraints ensure that the sensor nodes 110 can interpret the sensor node measurements, i.e., the entire network including all sensor nodes 110 becomes observable. The vector x includes a number of zeros and non-zeros. The indices of the non-zero elements of the vector x correspond to the positions where the sensor nodes 110 are placed, and the number of non-zero elements of the vector x represents the minimum number of sensor nodes 110 to be placed.
[0103] It should be noted that the embodiments in this article are not related to the generalized optimization problem because the vector A is not fixed, as the vector A depends on the decision variable x. Therefore, the problem is solved iteratively until all the constraints where y > 0 are satisfied. The minimization problem can be solved as follows:
[0104] i. Collect the data y. For a random A, solve the minimization problem to estimate x.
[0105] ii. For the estimated x, calculate the vector y from the estimated A.
[0106] iii. Repeat steps i-ii until convergence.
[0107] The vector x gives the information of the minimum number of sensor nodes 110 required to monitor the given positions so that the entire network is observable. Although this result is obtained by solving the optimization problem, this result cannot be fully trusted because it does not consider real-time scenarios.
[0108] In addition, this method requires the following two inputs: (i) the amount of variance to be covered in the PCA, which value will determine the number of principal components required, and (ii) the tolerance error value in the sparse optimization technique.
[0109] Step 202
[0110] This step is performed by the cloud node 103. At the end of step 201, information regarding the minimum number of sensor nodes 110 to be placed and their corresponding location placements is obtained. However, this is calculated mathematically in step 201, and the final result obtained in step 201 may not ensure that the entire network is observable, as each sensor node 110 has constraints such as wireless coverage. Therefore, in order to overcome at least some of these constraints, the process of graph construction can be used in step 202.
[0111] First, a graph of all candidate locations to be monitored can be constructed. Here, the graph represents an adjacency matrix. The locations themselves represent the sensor nodes 110 in the graph, and there are no connections between them, i.e., no edges. Then, the first non-zero value in the vector x is obtained, and the sensor nodes 110 are placed at the positions where the elements of x are non-zero. Next, the edges between the sensor nodes 110 are determined based on the elements in the matrix A, as this matrix includes information regarding how the sensor nodes 110 are related to each other.
[0112] Step 203
[0113] This step is performed by the cloud node 103. As mentioned before, step 203 involves comparing the mathematically determined locations from step 201 with the graphically determined locations from step 202 in order to determine if there is a match.
[0114] Assuming that a sensor node 110 has been placed at the first non-zero position in x, the probability of placing an additional sensor node 110 at other positions can be calculated using conditional probability. There is a difference between the general conditional probability calculation and the conditional probability calculation used herein. The conditional probability calculation used herein refers to the calculation of the associated percentage derived by calculating the conditional probability. This method uses a neural network architecture called the Neural Association Model (NAM) to calculate the association. This association refers to placing an association level between the presence of a sensor node 110 at two locations. If the association is high, the following conclusion can be drawn: assuming that the sensor node 110 is available at a given position, the sensor node 110 can be placed at that position with a high probability, and vice versa. The association value will be between 0 and 1. If the value is closer to 1, the sensor node 110 is considered highly correlated. While if the value is closer to zero, the sensor node 110 is considered uncorrelated. The loss function used for constructing the graph and used in the NAM is:
[0115]
[0116] In the above equation, D + and D - refer to samples of the conditional locations where the sensor node 110 has been placed and the possible locations where the sensor node 110 is to be moved. Further, the function f(.) refers to the logical scoring function derived by the NAM for each location.
[0117] It should be noted that the conditional probability calculation includes the coverage of each sensor node 110. By the end of this step 202, the conditional probabilities have been estimated for all locations except the initial location, and the calculation has been performed based on this conditional probability. The Bayesian method can be used to calculate this conditional probability. The following equation is used to calculate this conditional probability:
[0118]
[0119] where B is the location where the first sensor node 110 is placed, i.e., the first non-zero value in the x vector, and A is all the other sensor nodes 110, taking one other sensor node 110 at a time. The locations where the conditional probability is higher than the conditional probabilities of the remaining calculations are considered. If this location exactly matches the non-zero location in the vector x, the mathematically determined location given by the previous step 201 is correct. If there is no match, it may be necessary to recalculate the weights used in the previous steps 201 and 202 for combination to obtain a sufficiently accurate answer. A similar process is used for all the remaining non-zeros in x. More details about this step are illustrated in the example described below.
[0120] If the graphical output of step 202 does not match the mathematical output from step 201, steps 201 and 202 are repeated for different values of the above parameters to obtain different solutions.
[0121] In summary, the embodiments of the present document aim to find the optimal number of sensor nodes 110 for monitoring a given location and their optimal positions. The method uses both graph-based methods and mathematical optimization methods to estimate the positions of the sensor nodes 110. Another view of the embodiments of the present document can be regarded as obtaining a low-dimensional approximation of a given sensor measurement. When moving to a lower dimension of the sensor nodes 110, some data errors may be introduced. At the same time, the cost of installing and purchasing the sensor nodes 110 is reduced. If the data error does not exceed the installation cost of the sensor nodes 110, this can be an advantage. The number of sensor nodes 110 to be deployed can depend on the criticality of the application. Criticality is associated with the accuracy required by the application. For critical applications, higher accuracy is required, while for general applications, lower accuracy is sufficient. If the sensor number selection is for critical high-security or safety applications, it may be acceptable to compromise on cost rather than on the quality of the sensor information, so more sensor nodes 110 may be preferred. On the other hand, for IoT-based applications, reducing the installation cost may be the main requirement, so if a little data error is within the tolerance limit, the error is acceptable. Now an example will be used to describe this scenario, in which temperature sensors are used as the sensor nodes 110 to illustrate the sensor nodes 110.
[0122] Suppose there is a large meeting room in which three air conditioning devices are installed. First, the room is divided into a 20X20 grid to obtain 400 location points for monitoring the temperature of the entire room. The temperature is fed into a controller where control actions are calculated and fed into the air conditioning devices to adjust the temperature according to the user's specifications. Figure 1 Step 201 can be used to determine the minimum number of sensor nodes 110 (i.e., the minimum number of temperature sensors), and the result in this example is to place one sensor node 110 as a temperature sensor and interpolate the remaining values. Doing so will result in an approximation error of 30%. Translated into cost, there is a loss of $15 compared to placing three sensor nodes 110 at all three air conditioning devices. However, each temperature sensor 110 and the wireless module cost approximately $20, and three such temperature sensors 110 cost approximately $50. However, using only one temperature sensor 110 may result in a cost of $30. Reducing a large number of temperature sensors 100 will increase savings while there is no data or performance loss, which generates good commercial value when implemented.
[0123] As previously mentioned, the process is repeated for each sensor node 110, and a graph is generated in which all different sensor nodes 110 are located at different points of the grid.
[0124] Figure 3is a graphical representation of sensor nodes 110 and their locations. In Figure 3 , the leftmost box represents the sensor nodes 110 available at all N locations. Using a set theory framework, this can be assumed to be a set of length N, where S = {S 1 , S 2 ,...., S N}, and where S represents the sensor nodes 110. Using the available measurement data from all the sensor nodes 110, the minimum number P (P ≤ N) of sensor nodes 110 for representing the entire system is determined. The mathematical algorithm proposed in step 201 determines the value of P and the optimal subset of sensor nodes 110 of length P. Since this subset is determined mathematically, there may be some mismatch with real-time implementation. Therefore, to compensate for this, a graph-based method is used to verify the result. If the graphical result does not match the mathematical result, different measurement data is used to recalculate the mathematical output to obtain another solution. This process is repeated until the mathematical result matches the graph-based result.
[0125] The minimum number of sensor nodes 110 and their optimal locations, i.e., steps 201 - 203 in Figure 2 , were discussed above. Now, the minimum number of fog nodes 105 and their corresponding optimal locations, i.e., steps 204 - 205 in Figure 2 , will be discussed. The discovery and optimal placement of fog nodes 105 can be carried out to avoid fronthaul load and latency, and to introduce optimal communication between sensors and / or fog nodes 110, 103.
[0126] From steps 200 - 203, multiple graphs for each different type of sensor node 110 are obtained. Next, all the obtained graphs can be combined to obtain a single graph in which all the sensor nodes 110 are embedded. For example, assume that matrix A is divided into a 4X4 grid, i.e., 16 locations where the sensor nodes 110 can be placed. Assume that there are two different types of sensor nodes 110, i.e., temperature sensors (T) and pressure sensors (P). Also assume that the temperature sensor locations are obtained from the previous steps 200 - 203, as shown in Table 1:
[0127] Table 1
[0128] T T T T
[0129] Also assume that the pressure sensor locations are obtained, as shown in Table 2:
[0130] Table 2
[0131] P P P
[0132] Combine these two diagrams in Tables 1 and 2 to give the locations of these sensor nodes 110, as shown in Table 3:
[0133] Table 3
[0134] T, P T T, P P T
[0135] From the diagrams in Table 3, the locations where the sensor nodes 110 are to be placed can be obtained. From the diagrams in Table 3, it can be seen that some locations include multiple sensor nodes 110, while some locations include only one sensor node 110. Suppose a vector is constructed that includes the number of sensor nodes 110 available at each location. For the location diagram in Table 3, the vector x can be the following vector:
[0136] x = [2 0 0 0 0 0 2 0 0 0 0 0 1 0 1 1]
[0137] Regarding fog node placement, the graph-based method discussed in the previous case study can also be used to place the fog nodes 105. To this end, the following optimization problem is solved:
[0138] Limited to the capacity of
[0139] where M is the number of locations to be monitored, and a j is the location where the fog node 105 is to be placed. The objective function |a j | ensures that the locations of the fog nodes 105 are sparse, that is, the minimum number of fog nodes 105 to be placed is obtained, and the constraint ensures that the number of sensor nodes 110 placed around the location a j should be less than the capacity of the fog node 105, which establishes a load balance better than expected.
[0140] For example, suppose there is a fog node 105 that can establish a maximum of three sensor node connections, and the range of this fog node 105 is 1 m, which is the same as the length of the grid in this location. In this case, the optimization problem can be written as:
[0141] Limited to
[0142] In this case, the combined diagram for the two sensor types can be as shown in Table 4:
[0143] Table 4
[0144] T, P F T F F T, P F P T
[0145] Here, four fog nodes 105 in the network are required to obtain seven temperature readings and wirelessly convert these readings to establish an optimal fog capture. Fog capture is a synonym for the fog network. On the other hand, the general requirement of using a single fog node 105 for each sensor node 110 results in seven fog nodes 105. This leads to excessive bandwidth usage and more costs from the user side.
[0146] In the embodiments of this article, it is assumed that the fog node covers an area and passes it as an input to the embodiments of this article. In this way, it can be ensured that the fog node 105 can result in low latency because the distance for transmitting sensor measurements between the fog node 103 and the sensor node 110 is smaller, and it can lead to low-latency applications.
[0147] Now, two examples will be used to describe the embodiments of this article. Example 1 is related to buoy data, and Example 2 is related to weather sensors. Starting with Example 1, a buoy including a temperature sensor is used to illustrate the sensor node 110, and in the following examples, the reference numeral 110 is used when referring to the buoy.
[0148] A cluster of 23 buoys is selected, and the data sampled hourly by these buoys over the past 1 year is obtained and stored. The dataset pattern can be as follows:
[0149]
[0150] The data obtained and stored includes 7270 instances on 23 buoys.
[0151] Consider the air temperature measured by each buoy 110. Each buoy 110 is placed at a distance of 2 kilometers (km).
[0152] PCA and sparse optimization are used to solve this problem. First, PCA is applied to the given data. It is found from PCA that 6 principal components represent 90% of the data.
[0153] U,Sigma,VT = SVD(data)
[0154] where
[0155] · Data is a 7270x23 matrix, which represents the readings on all buoys sampled at fixed intervals.
[0156] · U is a 7270x7270 matrix
[0157] · Sigma is a 23x23 diagonal matrix
[0158] · VT is a 23x23 matrix
[0159] Here, 7270 refers to the number of timestamped instances when taking readings of sensor node 110, and 23 refers to the number of sensor nodes 110 on which information is collected and considered.
[0160] Consider the 0 eigenvalues in the sigma matrix, and obtain the corresponding eigenvectors in VT, and use these eigenvectors to generate the relationships between individual sensor nodes 110. Matrices Y, A, and X can be defined as follows:
[0161] Y: A 23x7270 matrix, which is the transpose of the data matrix.
[0162] A: A 23x23 matrix, which is used to describe the various dependencies between a given sensor node 110 and another sensor node 110 in the network. Initially, it can be the identity matrix.
[0163] x: A 23x7270 matrix for which a sparse solution using A and Y can be estimated.
[0164] Each column in Y represents the values measured across all sensor nodes 110 at a given instance. Each column in A represents a sparse vector, i.e., the optimal set of sensor nodes 110. A non-zero value at a specific index of the vector means that the sensor node 110 must exist, while a zero value indicates that the sensor node 110 is not considered. The A matrix is constructed based on the structure of X.
[0165] Sparse x can be estimated using Lasso regression or Orthogonal Matching Pursuit using A and Y. The required number of non-zeros can be defined as the value k. The vector Z can be defined as the column wise sum of X with dimension m×1. The first k values can be specified as "1", while the remaining values are specified as "0". Z acts as a reference vector.
[0166] Now the construction of A will be described. A can be constructed based on the reference vector Z. For all indices i for which z[i] is non-zero, the corresponding A is as follows A[i, j] = 1. For the zero indices in Z, the corresponding column in A is set to 0, i.e., A[:, i] = 0. If j represents the set of non-zero indices, the corresponding columns in A[:, j] are defined using N, N1, and N2 that can be derived from PCA.
[0167] Now the generation of N, N1, and N2 will be described. If y represents the set of indices along the diagonal of the Sigma matrix with 0 eigenvalues, N can be calculated as follows:
[0168] N = VT[:, y].
[0169] Create N by transposing the eigenvector column of VT corresponding to eigenvalue 0 (i.e., [:, y]).
[0170] N1 = all columns of N whose indices in Z have value 0.
[0171] N2 = all columns of N whose indices in z have non - zero values.
[0172] Compute = -pinv(N1) × N2 and use B to calculate the value of A.
[0173] Now the optimization problem will be described. Once the A matrix is constructed, the following optimization problem is solved to obtain the minimum number of floats and the optimal number of positions.
[0174] The first term in the objective function ensures that the estimated approximation error is as small as possible, and the second term ensures that a sparse X is obtained, i.e., it contains as many zeros as possible. The constraints ensure that in the case of sensor node 110, any one value can be explained by other sensor nodes 110.
[0175] As mentioned before, the vector X includes multiple zeros and non - zeros. The indices of the non - zero elements correspond to the positions where the sensor nodes 110 are placed, and the number of non - zero elements represents the number of sensor nodes 110 to be placed.
[0176] Now the calculation of the norm will be described. Yhat can be estimated as the matrix multiplication of A and:
[0177] Y hat = A × X
[0178] The norm is calculated as:
[0179]
[0180] The equation Y hat = A × X can be iteratively repeated for different numbers of non - zeros, thus estimating different sparse Xs. As the number of non - zeros increases, it can be expected that the value of the norm decreases. This is shown in Figure 4 where the x - axis represents the component (i.e., the magnitude of the vector y), and the y - axis represents the norm.
[0181] Therefore, it is observed that as the number of non - zeros increases (i.e., the sparsity of X decreases), the calculated norm value (i.e., the error between the actual output and the estimated value) decreases. From Figure 4 it can be seen that:
[0182] · For 6 non - zeros: norm = 12.3
[0183] · For 12 non - zeros: norm = 0.51
[0184] · For 18 non - zeros: norm = 0.36
[0185] Other values from the Figure 4 figures can also be extracted.
[0186] Next, a graph-based method can be used to verify the optimal location for buoy installation. To this end, Figure 2 step 205 in
[0187]
[0188]
[0189] Figure 2
[0190]
[0191] Figure 2
[0192] Then, use Figure 2 step 205 of the
[0192] Table 5
[0193] Fog node 105 Position 1 Buoy 3 2 Buoy 13 3 Buoy 16 4 Buoy 17 5 Buoy 21
[0194] The positions illustrated in Table 5 are the positions where the fog node 105 should be placed to monitor all positions.
[0195] As previously mentioned, when moving from a high dimension to a low dimension, some errors may occur. In this case, the cumulative error obtained at all positions is 8%, while the savings obtained are much more than this. The savings are in terms of the maintenance of the fog node 105 and the sensor node 110 at each position.
[0196] Examples will be used to describe the method described herein, which includes real-time data of different types of sensor nodes 110. The following example relates to the minimum sensor placement in a smart city environment. The measurement data discussed here is the real-time weather data of the city. It includes 8 different types of sensor nodes 110 placed across different positions. The different types of sensor nodes 110 can be:
[0197] · Temperature (T)
[0198] · Wind direction (WD)
[0199] · Relative humidity (RH)
[0200] · Wind speed (WS)
[0201] · Global radiation (GR)
[0202] · Atmospheric pressure (AP)
[0203] · Net radiation (NR)
[0204] · And so on.
[0205] These sensor nodes 110 are placed at different positions throughout the city. The example data set includes 8 temperature sensor readings, 8 wind direction sensor readings, 6 relative humidity sensor readings, 5 wind speed sensor readings, 5 global radiation sensor readings, 3 pressure sensor readings, and 3 net radiation sensor readings.
[0206] To use the proposed method, the area can be divided into a 3X3 grid including 9 positions. Each position corresponds to a 3km X 3km square. This is done because the maximum number of a single type of sensor node 110 is 8. In addition, for different types of sensor nodes 110, information is interpolated across the 3X3 grid to generate data for all positions.
[0207] Table 6: Positions used in the example
[0208] 1 2 3 4 5 6 7 8 9
[0209] Subsequently, the methods described herein were used to optimally place different types of sensor nodes 110. First, mathematical optimization was used to calculate the minimum number of sensor nodes 110 and their locations. Subsequently, a graph-based method was used to verify this information.
[0210] For each type of sensor node 110, the optimal locations can be obtained as follows:
[0211] {"Atmospheric pressure": array([4]),
[0212] "Global radiation": array([8]),
[0213] "Net radiation": array([8]),
[0214] "Relative humidity": array([8, 4]),
[0215] "Temperature": array([4, 2, 6]),
[0216] "Wind direction": array([4, 6, 3, 9]),
[0217] "Wind speed": array([4, 3, 1, 2, 6])}
[0218] It should be noted that different types of sensor nodes 110 require different numbers of sensor nodes 110. Although this is the output of the optimization problem, the results are consistent with the physical phenomena of the process because the atmospheric pressure changes will be smaller when compared to the wind speed. Therefore, fewer sensor nodes 110 are required for atmospheric pressure, while a larger number of sensor nodes 110 are required for wind speed. An example of a heatmap of the number of sensor nodes 110 in the location grid is shown in Figure 5 .
[0219] Finally, step 205 of Figure 2 is used to determine the optimal locations for placing the fog nodes 105. The output of step 205 is illustrated in Table 7:
[0220] Table 7
[0221]
[0222] Two input parameters can be used to derive the fog node locations: (i) the maximum number of sensor nodes 110 to communicate with a single fog node 105, and (ii) the maximum coverage area of each fog node 105. In this example, the maximum number of sensor nodes 110 to communicate with a single fog node 105 was chosen as 5, and the maximum coverage area was 6 km, i.e., the fog node 105 can monitor the sensor nodes 110 located in adjacent grids.
[0223] The optimization problem results in a solution with four fog nodes 105, where the positions of the fog nodes 105 are shown in Table 7. If the current method is used, seven fog nodes 105 need to be placed at these positions to monitor the entire network. However, for the embodiments of this document, it is shown that only four fog nodes 105 are sufficient to monitor the entire location with these sensor nodes 110. This can translate into significant cost savings as the maintenance costs associated with these fog nodes 105 are high. For large locations (e.g., approximately 100X1000 in size), this can translate into savings of billions of dollars.
[0224] The above method will now be described from the perspective of the cloud node 103. Figure 6 FIG. is a flowchart of the present method for processing sensor nodes 110 and fog nodes 105 in a cloud node 103 in a communication system 100. The communication system 100 includes a plurality of sensor nodes 110 processed by fog nodes 105 located at multiple locations. The communication system 100 can be a 2G, 3G, 4G, 5G communication system or any other suitable communication system. The method includes at least one of the following steps performed by the cloud node 103, and these steps can be performed in any suitable order other than as described below:
[0225] Step 601
[0226] This step corresponds to Figure 2 step 200 of. The cloud node 103 obtains measurements from at least some or substantially all of the sensor nodes 110 at at least some or substantially all of the multiple locations. The measurements can also be referred to as sensor measurements, sensor data, sensor information, sensor readings, etc. The term "substantially all" can include all nodes / locations, almost all nodes / locations, all nodes except for a few nodes / locations.
[0227] Step 602
[0228] This step corresponds to Figure 2 step 201 of. Based on the obtained measurements, the cloud node 103 mathematically determines the minimum number of sensor nodes 110 required to monitor the entire communication system 100 and their corresponding optimal positions.
[0229] Sparse optimization techniques can be used to mathematically determine the minimum number of sensor nodes 110 and their corresponding optimal positions. Sparse optimization techniques can be described as a technique for obtaining a simple approximate sparse solution to an optimization problem rather than the (more complex) exact solution. Sparse optimization can also be referred to as sparse approximation or sparse representation.
[0230] The minimum number of sensor nodes 110 can be a subset of the plurality of sensor nodes 110, i.e., it can be fewer sensor nodes 110 than the number of the plurality of sensor nodes 110, or its number can be the same as that of the plurality of sensor nodes 110.
[0231] Each mathematically determined optimal location can be represented by a set of coordinates (e.g., x and y coordinates).
[0232] Mathematically determining can also be referred to as mathematically calculating, mathematically deriving, etc. Mathematically determining can mean using equations to obtain the minimum number of sensor nodes 110 and their optimal locations.
[0233] Step 603
[0234] This step corresponds to Figure 2 step 202 of. Based on the obtained measurements and the mathematically determined optimal locations, the cloud node 103 graphically determines the optimal location of each of the minimum number of sensor nodes 110 required to monitor the entire communication system 100.
[0235] Each graphically determined optimal location can be represented by a set of coordinates (e.g., x and y coordinates).
[0236] When there are multiple types of sensor nodes, the mathematically determined optimal location and the graphically determined optimal location can be determined for each type of sensor node.
[0237] Graphically determining can include obtaining a graphical representation of the optimal location. The graphical representation can take the form of a table, graph, or any other suitable graphical representation as shown above. When making decisions using graphs and mathematical equations, graphically determining can be regarded as different from mathematically determining. The graphically obtained locations are the x, y coordinates of the data locations. For example, the locations can be (2,1), (5,5). Similarly, the mathematically determined locations are also the x, y coordinates of the data locations.
[0238] Step 604
[0239] This step corresponds to Figure 2This corresponds to step 203. The cloud node 103 compares the mathematically determined best position with the graphically determined best position. The reason for comparing the positions is to determine whether they are substantially the same. If the compared positions are substantially the same, it can be concluded that the mathematical and graphical determinations have been made with sufficient accuracy and sufficiently correct sensor measurements. If the positions are substantially different (i.e., they are different), it can be concluded that the position obtained mathematically has not been adjusted for real-time conditions. Therefore, the mathematical algorithm is re-run or repeated with different parameters in each iteration to obtain a different set of positions. This can be repeated until the mathematical and graphical positions are substantially the same.
[0240] Step 605
[0241] This step corresponds to Figure 2 step 204. The cloud node can determine the network performance of the minimum number of sensor nodes 110 at their respective best positions.
[0242] Step 606
[0243] This step corresponds to Figure 2 step 205. When this comparison indicates that the best position determined mathematically and the best position determined graphically are at least substantially the same, the cloud node 103 determines the minimum number of fog nodes 105 for covering the minimum number of sensor nodes 110.
[0244] Step 607
[0245] This step corresponds to Figure 2 step 201. When this comparison indicates that the best position determined mathematically and the best position determined graphically are substantially different, the cloud node 103 can repeat the mathematical determination of the best position until they are determined to be substantially the same as the best position determined graphically.
[0246] The repeated mathematical determination can be made based on measurements different from the previous mathematical determination. Thus, the first mathematical and graphical determination of the best position is made based on the first measurements from substantially all sensor nodes 110. The second (i.e., repeated) mathematical and graphical determination of the best position is made based on the second measurements from substantially all sensor nodes 110.
[0247] Step 608
[0248] This step corresponds to Figure 2corresponds to step 205. Based on the optimal positions of the sensor nodes 110, the cloud node 103 determines the optimal positions of each of the fog nodes 105 with the minimum quantity.
[0249] The optimal position of each of the fog nodes 105 with the minimum quantity can be determined based on the network performance from step 605.
[0250] The optimal position of each of the fog nodes 105 with the minimum quantity can be determined such that the number of sensor nodes 110 within the range of each fog node 105 at the optimal position is less than the capacity of that fog node 110.
[0251] Linear programming techniques can be used to determine the fog nodes 105 with the minimum quantity and their corresponding optimal positions. Linear programming is a mathematical modeling technique, which can also be referred to as linear optimization. Linear programming is a technique for depicting complex relationships through linear functions and then finding the optimal points. In other words, in linear programming, when subject to various constraints, the linear function is maximized or minimized.
[0252] Step 609
[0253] The cloud node 103 can initiate the deployment of the sensor nodes 110 with the minimum quantity at their corresponding optimal positions.
[0254] Step 610
[0255] The cloud node 103 can initiate the deployment of the fog nodes 105 with the minimum quantity at their corresponding optimal positions.
[0256] In Figure 7 is shown a cloud node 103 according to an embodiment of the present disclosure. The cloud node 103 is included in a communication system 100, and the communication system 100 includes a plurality of sensor nodes 110 processed by fog nodes 105 located at multiple positions. The communication system 100 can be a 2G, 3G, 4G, 5G communication system or any other suitable communication system. The cloud node 103 includes a processor 701, an interface 703, and a memory 705, and memory instructions for performing the method steps described herein are stored in the memory 705. The cloud node 103 communicates via the interface 703. The interface 703 includes an external interface communicating with a transmitter and a receiver and an internal interface (not shown).
[0257] The cloud node 103 is adapted to obtain measurements from at least some or substantially all of the plurality of sensor nodes 110 at at least some or substantially all of the multiple positions, for example, by means of the processor 701.
[0258] The cloud node 103 is adapted to mathematically determine, for example by means of the processor 701 based on the obtained measurements, the minimum number of sensor nodes 110 required to monitor the entire communication system 100 and their corresponding optimal positions.
[0259] The cloud node 103 is adapted to graphically determine, for example by means of the processor 701 based on the obtained measurements and the mathematically determined optimal positions, the optimal position of each of the minimum number of sensor nodes 110 required to monitor the entire communication system 100.
[0260] The cloud node 103 is adapted to compare, for example by means of the processor 701, the mathematically determined optimal positions with the graphically determined optimal positions.
[0261] The cloud node 103 is adapted to determine, for example by means of the processor 701, the minimum number of fog nodes 105 required to cover the minimum number of sensor nodes 110 when the comparison indicates that the mathematically determined optimal positions and the graphically determined optimal positions are at least substantially the same.
[0262] The cloud node 103 is adapted to determine, for example by means of the processor 701, the optimal position of each of the minimum number of fog nodes 105 based on the optimal positions of the sensor nodes 110.
[0263] The cloud node 103 may be adapted to, for example by means of the processor 701, repeat the mathematical determination of the optimal positions until they are determined to be substantially the same as the graphically determined optimal positions when the comparison indicates that the mathematically determined optimal positions and the graphically determined optimal positions are substantially different. The repeated mathematical determination may be performed based on measurements different from the previous mathematical determination. Thus, the first mathematical and graphical determination of the optimal positions is performed based on the first measurements from at least some or substantially all of the sensor nodes 110. The second (i.e., repeated) mathematical and graphical determination of the optimal positions is performed based on the second measurements from at least some or substantially all of the sensor nodes 110.
[0264] The cloud node 103 may be adapted to determine, for example by means of the processor 701, the network performance of the minimum number of sensor nodes 110 at their corresponding optimal positions. The optimal position of each of the minimum number of fog nodes 105 is determined based on the network performance.
[0265] When there are multiple types of sensor nodes, the mathematically determined optimal positions and the graphically determined optimal positions may be determined for each type of sensor node.
[0266] The optimal location of each of the minimum number of fog nodes 105 can be determined such that the number of sensor nodes 110 within the range of each fog node 105 at the optimal location is less than the capacity of that fog node 110.
[0267] The cloud node 103 can be adapted to initiate the deployment of the minimum number of sensor nodes 110 at their respective optimal locations, for example, by means of a processor 701.
[0268] The cloud node 103 can be adapted to initiate the deployment of the minimum number of fog nodes 105 at their respective optimal locations, for example, by means of a processor 701.
[0269] The minimum number of sensor nodes and their respective optimal locations can be determined mathematically using sparse optimization techniques.
[0270] The minimum number of fog nodes 105 and their respective optimal locations can be determined using linear programming techniques.
[0271] Note that the features of the methods described herein can be implemented in software and, upon execution of program code means (such as computer-executable instructions), result in being executed on a data processing device or other processing means. Herein and hereinafter, the term "processing means" includes any circuit and / or device suitable for performing the above functions. In particular, the above term includes general-purpose or special-purpose programmable microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable logic arrays (PLAs), field-programmable gate arrays (FPGAs), special-purpose electronic circuits, etc. or combinations thereof. For example, the program code means can be loaded into a memory (such as RAM (random access memory)) from a storage device (such as a read-only memory (ROM)) or other non-volatile memory (such as flash memory), or via a suitable data interface from another device, and the described features can be implemented by hardwired circuitry (instead of software) or in combination with software.
[0272] A computer program can include instructions that, when executed on at least one processor, cause the at least one processor to execute Figure 2 method steps 200 - 205 of Figure 6 and steps 601 - 610 of
[0273] It should be noted that aspects of the embodiments herein can be utilized in combination with various services provided by a server or host computer to / from a user entity.
[0274] Embodiments of the present disclosure enable the exploration of communication system requirements for establishing fog computing (e.g., fog RAN usage) for any future 5G-connected applications, such as avoiding latency, fog capture, and low latency.
[0275] Embodiments of the present disclosure for processing sensor nodes 110 and fog nodes 105 in communication system 100 may be implemented by one or more processors (e.g., Figure 7 processor 701 in cloud node 103 as shown) and computer program code for performing the functions and actions of the embodiments of the present disclosure. The above program code may also be provided as a computer program product, e.g., in the form of a data carrier carrying the computer program code, which is used to execute the embodiments of the present disclosure when loaded into cloud node 103. One such carrier may take the form of a CD ROM disc. However, other data carriers such as memory sticks are feasible. In addition, the computer program code may be provided as pure program code on a server and downloaded to cloud node 103.
[0276] Embodiments of the present disclosure may be described as being divided into two phases. The first phase involves determining the minimum number of sensor nodes 110 and their optimal locations. The first phase may be performed in three steps.
[0277] 1. Discover the details of the minimum placement locations of sensor nodes 110.
[0278] 2. Construct a graph to discover the communications established on that placement.
[0279] 3. Verify the performance measurements of the minimum placement.
[0280] The second phase involves determining the minimum number of fog nodes 105 and their corresponding optimal locations.
[0281] Embodiments of the present disclosure are not limited to the above embodiments. Various alternatives, modifications, and equivalents may be used. Therefore, the above embodiments should not be considered as limiting the scope of the embodiments defined by the appended claims. Features from one embodiment may be combined with one or more features of any other embodiment.
[0282] It should be emphasized that the term "comprising" is used in this specification to specify the presence of the stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or combinations thereof. It should also be noted that the words "a" or "an" before an element do not preclude the presence of a plurality of such elements.
[0283] The term "at least one of A and B" should be understood to mean "only A, only B, or both A and B", where A and B are any parameters, numbers, indications, etc. used herein.
[0284] As used herein, the term "configured to" may also be referred to as "arranged to", "adapted to", "capable of", or "operable to".
[0285] It should also be emphasized that, without departing from the embodiments herein, the steps of the methods defined in the appended claims may be performed in an order different from the order in which they appear in the claims.
Claims
1. A method for processing sensor nodes (110) and fog nodes (105) performed by a cloud node (103) in a communication system (100), wherein, the communication system (100) includes a plurality of sensor nodes (110) processed by the fog nodes (105) located at multiple locations, the method includes: obtaining (200, 601) measurements from at least some of the plurality of sensor nodes (110) at at least some of the multiple locations; mathematically determining (201, 602) the minimum number of sensor nodes (110) required to monitor the entire communication system (100) and their corresponding optimal locations based on the obtained measurements; graphically determining (202, 603) the optimal location of each of the minimum number of sensor nodes (110) required to monitor the entire communication system (100) by constructing a graphical representation of the optimal location of each of the minimum number of sensor nodes that overcomes at least some of the constraints of the sensor nodes, to ensure that the entire communication system (100) is observable; comparing (203, 604) the optimal location determined mathematically with the optimal location determined graphically; when the comparison indicates that the optimal location determined mathematically and the optimal location determined graphically match, determining (205, 606) the minimum number of fog nodes (105) for covering the minimum number of sensor nodes (110); and determining (205, 608) the optimal location of each of the minimum number of fog nodes (105) based on the optimal location of the sensor nodes (110).
2. The method according to claim 1, further including: when the comparison indicates that the optimal location determined mathematically and the optimal location determined graphically do not match, repeating (201, 607) mathematically determining the optimal location until the optimal location is determined to match the optimal location determined graphically, wherein the repeated mathematical determination is based on measurements different from the previous mathematical determination.
3. The method according to any one of claims 1 and 2, further including: determining (204, 605) the network performance of the minimum number of sensor nodes (110) at their corresponding optimal locations; and wherein the optimal location of each of the minimum number of fog nodes (105) is determined based on the network performance.
4. The method according to any one of claims 1 and 2, wherein, the optimal location determined mathematically and the optimal location determined graphically are determined for each sensor node type when there are multiple sensor node types.
5. The method according to any one of claims 1 and 2, wherein, The optimal position of each of the minimum number of fog nodes (105) is determined such that the number of sensor nodes (110) within the range of each fog node (105) at the optimal position is less than the capacity of that fog node (110).
6. The method according to any one of claims 1 and 2, further comprising: initiating (609) the deployment of the minimum number of sensor nodes (110) at their respective optimal positions.
7. The method according to any one of claims 1 and 2, further comprising: initiating (610) the deployment of the minimum number of fog nodes (105) at their respective optimal positions.
8. The method according to any one of claims 1 and 2, wherein, the minimum number of sensor nodes (110) and their respective optimal positions are determined mathematically using sparse optimization techniques.
9. The method according to any one of claims 1 and 2, wherein, the minimum number of fog nodes (105) and their respective optimal positions are determined using linear programming techniques.
10. A cloud node (103) in a communication system (100), wherein, the communication system (100) includes a plurality of sensor nodes (110) processed by fog nodes (105) located at multiple locations, wherein the cloud node (103) is adapted to: obtain measurements from at least some of the plurality of sensor nodes (110) at at least some of the multiple locations; mathematically determine, based on the obtained measurements, the minimum number of sensor nodes (110) required to monitor the entire communication system (100) and their respective optimal positions; graphically determine, based on the obtained measurements and the mathematically determined optimal positions, the optimal position of each of the minimum number of sensor nodes (110) required to monitor the entire communication system (100) by constructing a graphical representation of the optimal positions of each of the minimum number of sensor nodes that overcome at least some of the constraints of the sensor nodes, to ensure that the entire communication system (100) is observable; compare the mathematically determined optimal positions with the graphically determined optimal positions; when the comparison indicates that the mathematically determined optimal positions and the graphically determined optimal positions match, determine the minimum number of fog nodes (105) for covering the minimum number of sensor nodes (110); and determine the optimal position of each of the minimum number of fog nodes (105) based on the optimal positions of the sensor nodes (110).
11. The cloud node (103) according to claim 10, further adapted to: when the comparison indicates that the mathematically determined optimal positions and the graphically determined optimal positions do not match, repeat the mathematical determination of the optimal positions until the optimal positions are determined to match the graphically determined optimal positions, wherein, The repetition is determined mathematically based on measurements different from those previously determined mathematically.
12. The cloud node (103) according to any one of claims 10 to 11 is further adapted to: Determine the network performance of the minimum number of sensor nodes (110) at their respective optimal positions; and wherein, the optimal position of each fog node (105) among the minimum number of fog nodes (105) is determined based on the network performance.
13. The cloud node (103) according to any one of claims 10 to 11, wherein, the optimal positions determined mathematically and graphically are determined for each sensor node type when there are multiple sensor node types.
14. The cloud node (103) according to any one of claims 10 to 11, wherein, the optimal position of each fog node (105) among the minimum number of fog nodes (105) is determined such that the number of sensor nodes (110) within the range of each fog node (105) at the optimal position is less than the capacity of that fog node (110).
15. The cloud node (103) according to any one of claims 10 to 11 is further adapted to: Initiate the deployment of the minimum number of sensor nodes (110) at their respective optimal positions.
16. The cloud node (103) according to any one of claims 10 to 11 is further adapted to: Initiate the deployment of the minimum number of fog nodes (105) at their respective optimal positions.
17. The cloud node (103) according to any one of claims 10 to 11, wherein, the minimum number of sensor nodes (110) and their respective optimal positions are determined mathematically using sparse optimization techniques.
18. The cloud node (103) according to any one of claims 10 to 11, wherein, the minimum number of fog nodes (105) and their respective optimal positions are determined using linear programming techniques.
19. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed on at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 9.