System and method for finding and identifying computing nodes in a network

By integrating probes in software applications and using planning modules for rapid testing, the problem of difficult to identify suitable computing nodes in fog/edge computing environments is solved, and resource optimization of network systems and efficient processing of computing tasks is achieved.

CN113518974BActive Publication Date: 2025-04-01SIEMENS AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080018594.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-04
Filing Date
2020-02-26
Publication Date
2025-04-01
Estimated Expiration
2040-02-26

AI Technical Summary

Technical Problem

In a fog/edge computing environment, it is difficult for the prior art to effectively identify and select computing nodes suitable for a particular application, resulting in unoptimized load on the network or computing cluster and insufficient processing speed or good enough.

Method used

Quick tests are performed to determine the suitability of the node by integrating probes in a software application and sending the probes to the computing node using a planning module. The probe contains classification schemes and cleaning components, which can test the characteristics of the computing nodes in a short time and optimize the execution order of the software application.

Benefits of technology

It realizes the reliable identification and selection of suitable computing nodes in the network, optimizes the resource planning and utilization of the network system, and improves the processing efficiency of computing tasks and the overall utilization of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113518974B_ABST
    Figure CN113518974B_ABST
Patent Text Reader

Abstract

The invention relates to a system (100) for finding and identifying computing nodes (N) in a network (200). The system (100) comprises: a network (200) having a plurality of computing nodes (220, 240, 260, ..., Z), the computing nodes being connected to each other by means of a communication connection (600) and being configured to execute a workload of one or more software applications (400); and at least one planning module (300). The planning module (300) comprises at least one probe (500) having a test code (550) and is configured to send the probe (500) having the test code (550) to the computing nodes (220, 240, 260, ..., N) of the network (200) for testing the characteristics of the computing nodes (220, 240, 260, ..., N). The test code (550) is configured to test the characteristics of the computing nodes (220, 240, 260, ..., N) in terms of their ability to execute a specific workload of at least one software application (400), and report the test results to the planning module (300). The planning module (300) is configured to select one or more computing nodes (N) to execute the workload of at least one software application (400) based on the test results of the test code (550), and start executing the workload of the at least one software application (400) on the selected computing nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system and method for finding and identifying computing nodes in a network. Background Art

[0002] Fog computing or fog networking, also known as fogging, is an architecture that uses edge devices to implement most of the computing, storage, and communication locally and via the Internet backbone. Not only cloud computing, but also fog computing provides storage, applications, and data to end users and industrial users. However, fog computing is closer to end users and has a larger geographical distribution.

[0003] Fog computing includes the distribution of communication resources and services, computing resources and services, and storage resources and services on or near end-user controlled devices and systems. Fog computing is not a substitute, but a complement to cloud computing.

[0004] In a fog / edge computing environment, computing workloads are distributed to suitable computing nodes, where they are executed. In the automotive field, application examples are, for example, driver assistance systems and computer systems for autonomous driving, in the medical field, a large number of diagnostic instruments in hospitals and in doctors' offices, and in the industrial production field, assembly lines and manufacturing machines such as CNC machines.

[0005] However, because computing nodes possess different characteristics, such as different processor and memory capabilities, a problem often arises in identifying and finding one or more computing nodes that are suitable for a particular application.

[0006] So far, suitable computing nodes have been identified by manually specifying the characteristics of the computing nodes and the features of the workload by developers and operators. The processing system identifies computing nodes suitable for a given workload based on these characteristics of the computing nodes, wherein either a subset of the characteristics and capabilities of these computing nodes or the entire set of the characteristics and capabilities of these computing nodes are identified. If a computing node is found for the computing task, this computing node is also used. However, it is not checked whether a more suitable computing node may be available for use in order to optimize the load of the entire network or computing cluster and / or to achieve better or faster processing for the corresponding workload.

[0007] Publication US 2014 / 196054 A1 describes a method for outputting instructions to one or more computer nodes to implement shortened performance measurements in order to determine whether the number of one or more computer nodes performing calculations on themselves is sufficient.

[0008] The publication US2018 / 129495 A1 describes a method for managing software. In order to execute the software, a request with specific requirements is sent by a manager, whereby the best computer device for executing the software should be determined. After selecting the best computer device, the software is sent to the selected computer device for processing. Summary of the invention

[0009] The object of the present invention is now to specify a system and a method for reliably identifying and selecting computing nodes in a network or computing cluster, which system and method are distinguished by high reliability and security and enable improved resource planning and utilization of network systems and thereby optimization of these network systems.

[0010] The above tasks are solved by the system and method provided by the present invention.

[0011] According to a first aspect, the present invention relates to a system for finding and identifying computing nodes in a network.

[0012] According to the invention, the probe is integrated into the software application and the planning module is adapted to send the software application together with the probe to the computing node. Thus, if the probe finds that the computing node is suitable, the execution of the software application can be started immediately.

[0013] In another embodiment of the present invention, the probe is constructed independently of the software application, and the planning module is adapted to send the probe only to the computing node. Thus, the probe can be sent to different computing nodes more quickly because the probe is not associated with the software application.

[0014] Advantageously, the probe contains a classification scheme with different classes for classifying computing nodes, and the probe is designed to test the computing nodes with the aid of the classification scheme, thereby enabling the tested computing nodes to be quickly classified into an ordered scheme.

[0015] According to an advantageous embodiment of the present invention, the probe has a cleaning component for removing artifacts on the computing node.

[0016] Advantageously, the test code is constructed to test the computing nodes within 10-100 milliseconds.

[0017] According to a further advantageous embodiment of the invention, the planning module is suitable for executing different software applications in an optimized sequence using different computing nodes as a function of test results of the probe for the workload of the different software applications.

[0018] According to a second aspect, the invention relates to a method for finding and identifying a computing node in a network.

[0019] According to the present invention, the probe is integrated into the software application, and the planning module sends the software application together with the probe to the computing node. Therefore, if the probe finds that the computing node is suitable, the execution of the software application can be started immediately.

[0020] In another embodiment of the present invention, the probe is constructed independently of the software application, and the planning module only sends the probe to the computing node. Thus, the probe can be sent to different computing nodes more quickly because the probe is not associated with the software application.

[0021] Advantageously, the probe contains a classification scheme with different categories for classifying computing nodes, and the probe tests these computing nodes with the aid of the classification scheme, thereby enabling the tested computing nodes to be quickly classified into an ordered scheme.

[0022] In another design, the probe has a cleaning component for removing artifacts on the compute nodes.

[0023] Advantageously, the test code tests these compute nodes within 10-100 milliseconds.

[0024] In another embodiment of the present invention, the planning module is adapted to execute different software applications in an optimized sequence according to test results of the probes for workloads of different software applications when using different computing nodes.

[0025] According to a third aspect, the present invention relates to a computer program product, which comprises one and / or multiple executable computer codes, wherein the one executable computer code (the multiple executable computer codes) is constructed to execute (eg by a computer) the method according to the embodiment of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The invention is explained in greater detail below with reference to the exemplary embodiments shown in the drawings.

[0027] Here:

[0028] Figure 1 An overview diagram is shown for explaining the system according to the invention;

[0029] Figure 2A block diagram for illustrating implementation details of the system according to the present invention is shown;

[0030] Figure 3 A block diagram is shown for explaining further optional implementation details of the system according to the invention;

[0031] Figure 4 A block diagram is shown for explaining further optional implementation details of the system according to the invention;

[0032] Figure 5 A flow chart is shown for explaining the method according to the invention;

[0033] Figure 6 A schematic diagram of a computer program product according to the invention is shown. DETAILED DESCRIPTION

[0034] Additional features, aspects and advantages of the present invention or embodiments of the present invention emerge from the following detailed description.

[0035] Figure 1 A system 100 is shown for identifying and selecting computing nodes 220, 240, 260, ..., N in a network 200, wherein computing nodes 220, 240, 260, ..., N are shown here only as an example. The number N of computing nodes 220, 240, 260, ..., N can be of any size. The computing nodes 220, 240, 260, ..., N can include: edge devices with computer capabilities, routers, sensors with software modules, communication interfaces; or the computing nodes 220, 240, 260, ..., N can also be actuators, control devices or other hardware devices with the necessary computer capabilities. The computing nodes 220, 240, 260, ..., N are networked with each other by means of a communication connection 600 and can also be connected to each other by means of a cloud computing system not shown in more detail here. The network 200 may also be an industrial facility and / or a unit such as a building complex that is monitored using at least some of the computing nodes 220, 240, 260, ..., N. Thus, some of the computing nodes 220, 240, 260, ..., N may be, for example, temperature sensors and smoke alarms that monitor rooms within a building.

[0036] The computing nodes 220, 240, 260, ..., N receive or generate data and process the data with the aid of software applications for specific applications. These software applications can be temporarily loaded according to the corresponding tasks, or these software applications can be permanently stored in the storage unit in the corresponding computing nodes 220, 240, 260, ..., N.

[0037] A planning module 300 for executing a software application 400 is provided in the network 200, wherein the planning module is connected to various computing nodes 220, 240, 260, ..., N. However, the software application 400 is not processed in the planning module 300 itself, but rather in one of the computing nodes 220, 240, 260, ..., N in the network 200. However, for this purpose, the appropriate computing node N must be identified, which performs the processing of the software application 400.

[0038] A relevant criterion for identifying a computing node N that is suitable for the computing workload of the software application 400 may be the processor architecture of the computing node N, such as whether an ARM or x86_64 processor is involved, since the computing instructions must match the corresponding workload. In addition, the quality and current state of the network connectivity of the computing node N (such as bandwidth and latency), the size of free main memory, the size of free storage space and / or the degree of CPU utilization are indicators for selecting the computing node N. Furthermore, the real-time characteristics of the computing node N and its operating system, as well as specific hardware connected to the computing node N, such as sensors and actuators, may play a role.

[0039] exist Figure 2 3 shows the planning module 300 in more detail. The planning module preferably comprises a processor 320 and a storage element 340, in which a software application 400 and / or a binary workload is stored. According to the invention, the software application 400 and / or the binary workload is equipped with a probe 500. The probe 500 is constructed as a software code and comprises a test code 550, which has the following properties: the test code 550 can be started in a very short time, for example, in a few milliseconds to a few seconds, because the code length of the test code is short, and the test code 550 is fed into the network 200 in order to test the characteristics of possible computing nodes N. The code length can be very short and, for example, include 10-20 lines, but several hundred lines of code can also be provided. Then, based on the test results, the test code 550 independently proposes a computing node N or multiple computing nodes N in the network N on which the software application 400 can be executed. In this regard, in particular, criteria such as low impact on CPU performance, storage consumption and network traffic are used.

[0040] In addition, the probe 500 also tests the availability of the resources required for the specific workload of the software application 400 in the network 200. If these resources are not available at all, this is reported to a message center (not shown here) by means of a message. The check of the resources in the network 200 is advantageously completed very quickly, for example within a few milliseconds to a few seconds. However, in individual cases, it may also last for several minutes.

[0041] The probe 500 also has a cleaning component 570 for cleaning the computing node N, so that no artifacts remain on the computing node N that performs the test with the probe 500. Here, the cleaning component can be, for example, a software library, a storage entry and / or a configuration file. If the probe 500 indicates a positive result, this means that the computing node N is suitable for the specific computing load of the software application 400. In addition, the probe 500 can also store or leave codes, etc., on the computing node 400, which are necessary for executing the software application on the computing node N or are necessary for planning the execution to be performed later on the computing node N.

[0042] like Figure 3 As shown in , the probe 500 may exist directly in the software application 400 and may also have the same data format, so that the probe 500 and the software application 400 are sent to the network 200 together.

[0043] If the workload binary files are so large that their distribution in the network 200 significantly affects the working capacity of the entire network 200, then according to the present invention, it is also possible to proceed as follows: the probe 500 with the test code 550 is separated from the actual binary code of the workload of the software application 400. Figure 4 Since the test code 550 is designed as a small software element, it can be distributed in the network 200 with little effort and only the binary code for the large workload is provided to the computing nodes N that show a positive result when executing the test code 550 .

[0044] Furthermore, in an extension of the invention it may be provided that the probe 500 or the test code 550 is extended with a classification scheme. The probe 500 may contain classification parameters or categories so that these classification parameters or categories can be used for different software applications 400 which differ in terms of the computing power required for processing. Examples of classification parameters may be:

[0045] -Compute nodes N must have a specific processor architecture;

[0046] - Perform calculations with the help of a CPU with a minimum or maximum number of CPU cores;

[0047] - The computing node N must have at least a certain amount of freely available (main) storage space;

[0048] - The computing nodes N must have certain hardware features, such as a real-time clock;

[0049] - Computing nodes must be connected to specific hardware, such as sensors.

[0050] like Figure 2 As shown in , the planning module 300 sends the probe 500 to the computing nodes 220, 240, 260, ..., N in the network 200. After the probe 500 has tested the computing nodes 220, 240, 260, ..., N with the aid of the test code 550, the test code 550 or the probe 500 reports the test results to the planning module 300. These test results contain information about the status of the computing node N in particular, but may also include other information. Preferably, functional elements are provided in the planning module 300, which are called by the test code 550 according to the corresponding test results, so that the planning module 300 understands these test results through these function calls.

[0051] If the processing of software application 400 and thus the use of computing power are now planned in network 200, planning module 300 checks whether the processing matches one or more processing categories for which a test has been carried out by probe 500 in network 200 according to the specified classification parameters of probe 500. The processing or execution of the software application may therefore require the following prerequisites: at least one dual-core processor is required in computing node N and, in addition, 256 MB of storage capacity is required in free working memory and 1 GB of storage capacity is required in free hard disk storage.

[0052] A previously performed test with the aid of probe 500 may have identified a suitable computing node N with the following specifications: the presence of at least one quad-core processor, 512 MB of storage capacity in free working memory and 1 GB of storage capacity in free hard disk storage.

[0053] In this case, the planning module 300 may plan a new computing utilization without having to send new probes 500 into the network 200. However, if the required computing power does not match one of the categories for which a test has previously been performed with the aid of probes 500, the planning module 300 re-performs the test with regard to the computing power available in the computing nodes N in the network 200.

[0054] It is also possible that the required computing power is classified for a specific execution of a software application, but the workload of the software application has other additional individual requirements that cannot be classified into the predetermined categories. In this case, the planning module 300 preferably performs the workload test only on the computing nodes N that belong to the classified category.

[0055] Therefore, according to the present invention, a test of the execution capability of computing units N for workloads is performed by means of probes 500, wherein these computing nodes N are arranged in a heterogeneous network 200 and have different characteristics and utilization rates. A classification scheme is also provided for the workloads, which simplifies the plannability of executing software applications on different computing nodes N.

[0056] By doing so, the use of unsuitable computing nodes N for executing software applications can be avoided. Unsuitable computing nodes N cause burden and more cost to the network 200 until a computing node N suitable for the workload can be identified. Inadvertent execution of a workload on an unsuitable computing node N may also result in corruption because if the computing node N is already burdened with another computing task, the real-time task on the computing node may be adversely affected.

[0057] The probe 500 also provides the following possibility: quickly and cost-effectively find the computing node N suitable for the workload reliably. The utilization of the network 200 is optimized as a whole by classifying the workload and performing a record of the test results for different workload categories. Preferably, the record is stored in the planning module 300.

[0058] Furthermore, it is also possible that the probe 500 with the test code 550 is sent only to a selection of computing nodes N that has been set, for example, by developers and operators. Next, the planning module 300 performs an allocation between the predetermined computing nodes N and the workload categories, and the workload is executed only on the computing nodes N that are considered based on the allocation.

[0059] Figure 5 A flow chart of a method for identifying computing nodes N for processing workloads in network 200 according to the present invention is shown.

[0060] In step S10 , the planning module 300 sends the probe 500 to the computing nodes 220 , 240 , 260 , . . . , N of the network 200 , wherein the probe 500 includes a test code 550 for testing the characteristics of the computing nodes 220 , 240 , 260 , . . . , N.

[0061] In step S20 , the test code 550 of the probe 500 tests the characteristics of the computing nodes 220 , 240 , 260 , . . . , N in terms of their capabilities for executing a specific workload of at least one software application 400 .

[0062] In step S30 , the test code 550 reports the test result to the planning module 300 .

[0063] In step S40 , the planning module 300 selects one or more computing nodes N to execute the workload of the at least one software application 400 based on the test results of the test code 550 .

[0064] In step S50 , the planning module 300 starts executing the workload of at least one software application 400 on the selected computing node N.

[0065] Figure 6 A computer program product 700 is schematically shown, which includes one and / or multiple executable computer codes 750, wherein the one executable computer code (the multiple executable computer codes) is configured to execute (eg by a computer) the method according to the embodiment of the first aspect of the present invention.

[0066] Therefore, through the present invention, a computing node N suitable for a specific workload of a software application can be identified in a network 200 composed of computing nodes 220, 240, 260, ..., N. Through this, a computing node N suitable for executing the workload in the network 200 can be selected in a targeted manner, and thereby overloading of the network 200 can be avoided.

[0067] Reference numerals list

[0068] 100 Systems

[0069] 200 Network

[0070] 220 compute nodes

[0071] 240 compute nodes

[0072] 260 compute nodes

[0073] 300 Planning Module

[0074] 320 processor

[0075] 340 Memory

[0076] 400 Software Applications

[0077] 500 Probes

[0078] 550 Test code

[0079] 570 Cleanup Components

[0080] 600 Communication connection

[0081] 700 Computer program products

[0082] 750 computer code

Claims

1. A system (100) for finding and identifying a computing node in a network (200), wherein the system (100) comprises: A network (200) having a plurality of computing nodes (220, 240, 260, ..., N) which are connected to one another by means of a communication connection (600) and are configured to execute a workload of one or more software applications (400); and at least one planning module (300), wherein the planning module (300) contains at least one probe (500) having a test code (550) and is configured to send the probe (500) having the test code (550) to computing nodes (220, 240, 260, ..., N) of the network (200) for testing characteristics of the computing nodes (220, 240, 260, ..., N), wherein the test code (550) is configured to test the characteristics of the computing nodes (220, 240, 260, ..., N) with respect to their ability to execute a determined workload of at least one software application (400), and wherein the test code (550) is configured to report the test result to the planning module (300), wherein the planning module (300) is configured to: select one or more computing nodes (N) to execute the workload of at least one software application (400) based on the test result of the test code (550); and start executing the workload of the at least one software application (400) (N) on the selected computing nodes, It is characterized in that The probe (500) is integrated into the software application (400), and the planning module (300) is adapted to send the software application (400) together with the probe (500) to the computing nodes (220, 240, 260, ..., N), and The probe (500) includes a classification scheme having different categories for classifying the computing nodes (220, 240, 260, . . . , N), and the probe (500) is configured to test the computing nodes (220, 240, 260, . . . , N) by means of the classification scheme.

2. The system (100) according to claim 1, characterized in that The probe (500) is constructed independently of the software application (400), and the planning module (300) is adapted to send only the probe (500) to the computing nodes (220, 240, 260, . . . , N).

3. The system (100) according to any one of claims 1-2, characterized in that: The probe (500) has a cleaning component (570) for removing artifacts on the computing nodes (220, 240, 260, ..., N).

4. The system (100) according to any one of claims 1-2, characterized in that: The test code (550) is constructed to test the computing nodes (220, 240, 260, ..., N) within 10-100 milliseconds.

5. The system (100) according to any one of claims 1-2, characterized in that: The planning module (300) is adapted to execute different software applications (400) in an optimized order according to the test results of the probe (500) on the workloads of different software applications (400) when using different computing nodes (220, 240, 260, ..., N).

6. A method for finding and identifying a computing node in a network (200) of a system (100), wherein the system (100) comprises: A network (200) having a plurality of computing nodes (220, 240, 260, ... Z) connected to one another by means of communication connections (600) and configured to execute a workload of one or more software applications (400); and at least one planning module (300), wherein the planning module (300) comprises at least one probe (500) having a test code (550), the method comprising: - the planning module (300) sends (S10) the probe (500) with the test code (550) to the computing nodes (220, 240, 260, ..., N) of the network (200) for testing the characteristics of the computing nodes (220, 240, 260, ..., N), - the test code (550) tests (S20) the characteristics of the computing nodes (220, 240, 260, ..., N) with respect to their ability to execute a determined workload of at least one software application (400), - the test code (550) reports the test results to the planning module, - the planning module (300) selects (S40) one or more computing nodes (N) to execute the workload of at least one software application (400) based on the test results of the test code (550), - the planning module (300) starts executing the workload of the at least one software application (400) on the selected computing node (N), It is characterized in that The probe (500) is integrated into the software application (400), and the planning module (300) sends the software application (400) together with the probe (500) to the computing nodes (220, 240, 260, ..., N), and The probe (500) includes a classification scheme having different categories for classifying the computing nodes (220, 240, 260, . . . , N), and the probe (500) tests the computing nodes (220, 240, 260, . . . , N) by means of the classification scheme.

7. The method according to claim 6, characterized in that The probe (500) is constructed independently of the software application (400), and the planning module only sends the probe (500) to the computing nodes (220, 240, 260, . . . , N).

8. The method according to any one of claims 6 to 7, characterized in that: The probe (500) has a cleaning component (570) for removing artifacts on the computing nodes (220, 240, 260, ..., N).

9. The method according to any one of claims 6 to 7, characterized in that: The test code (550) tests the computing nodes (220, 240, 260, ..., N) within 10-100 milliseconds.

10. The method according to any one of claims 6 to 7, characterized in that: The planning module (300) executes different software applications (400) in an optimized order according to the test results of the probe (500) on the workloads of different software applications (400) when using different computing nodes (220, 240, 260, . . . , N).

11. A computer program product (700), comprising one or more executable computer codes (750) for executing the method according to any one of claims 6 to 10 when the executable computer codes are run on a processor.

Citation Information

Patent Citations

  • Elastic application framework for deploying software

    US20180129495A1

  • Ensuring performance of a computing system

    US20140196054A1

  • Method and system for real-time, false positive resistant, load independent and self-learning anomaly detection of measured transaction execution parameters like response times

    US20150032752A1