Method and system for determining a suitable installation location for an application to be installed in a distributed network environment
By using machine-readable descriptions and object identifiers in a distributed network environment, combined with network status and object characteristics, the optimal location for application installation is automatically selected and installed, solving the problems of complex configuration and errors in existing technologies and achieving efficient automated installation.
Patent Information
- Application Number
- CN201980056407.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-06-26
- Filing Date
- 2019-06-17
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2040-01-12
AI Technical Summary
In a distributed network environment, existing technologies have difficulty in automatically and efficiently determining and installing the optimal location for applications, especially in industrial environments, where the complexity of heterogeneous network structures and diverse devices makes configuration cumbersome and error-prone.
By providing machine-readable descriptions, enhanced descriptions and associating them with object identifiers, using a database to store these descriptions and identifiers, and combining the current status of the network environment and object characteristics, the best installation location can be automatically determined and selected, and unassisted installation can be achieved using deployment tools.
It realizes automatic and accurate selection and installation of the best location for applications in distributed network environments, reduces configuration costs and errors, improves installation efficiency, and adapts to the heterogeneity and dynamic changes of industrial networks.
Smart Images

Figure CN112585574B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for determining a suitable installation location for an application to be installed in a distributed network environment while taking into account the communication characteristics with the application's communication partners, and a system for determining a suitable installation location for an application to be installed in a distributed network environment while taking into account the communication characteristics with the application's communication partners. Background Art
[0002] It is known that applications within distributed network environments, such as data networks in production environments, often need to be installed on suitable hosts. This host is, for example, part of an environment that provides computing power at a production facility and is located near production machines at the outer edge of the network (a so-called "edge cloud"). A host is considered suitable if it meets application-specific criteria.
[0003] Applications typically consist of multiple software components and place demands on various components of the edge cloud-based production environment, as well as on the network. The so-called "edge cloud" here typically has a heterogeneous structure and includes one or more hosts near or within the production environment. A host is, in particular, a computer platform or computer unit (computer) suitable for running at least one application. A host can also be, for example, a network component or switch.
[0004] Each individual host can have different characteristics or capabilities, resources, or limitations. Furthermore, these characteristics or capabilities can vary depending on how they are used and where they are installed. The network also connects these hosts to end devices and services outside the production network. These network connections can have different characteristics, such as varying bandwidth, latency, and so on.
[0005] In industrial environments such as factory automation, building automation, and Supervisory Control and Data Acquisition (SCADA), nodes can range from small embedded devices to large servers. Networks can be, for example, fast local Industrial Ethernet variants, switched, routed, wired, or wireless. Industrial applications often place significant demands on communication, such as real-time requirements and required redundancy.
[0006] Another problem is that providers of software that may or may not be tied to certain devices face the following problem: the provider cannot presuppose or require the customer to provide certain situations or scenarios. On the other hand, the customer should be guaranteed that the product he ordered can be installed and run at his location.
[0007] Furthermore, software components may place requirements on other components, primarily regarding the runtime environment (including network performance itself). Software manufacturers must be able to express these requirements in terms of specifics, for example, using a statement like "the database should run near the sensor." Furthermore, customers must have the means to automatically find a suitable location for installing and running the software component (if multiple options exist) and configure the required network connections, for example, using virtual interfaces (VLANs; Virtual Local Area Networks).
[0008] Furthermore, services or applications often require connections to various other points within a customer's installation. Thus, the information required to establish a virtual network for a software service should be derived. For example, a database may require connections to the public internet and may also require connections to local sensors.
[0009] Ultimately, unlike computing centers or consumer networks, Industrial IoT installations (Internet of Things installations) can have far more diverse devices across a large area. While these devices can be quite diverse, they can also be numerous and identical. For example, a small storage programmable controller (SPS) can be installed hundreds of times in a factory. This makes configuring the applications or software components to be installed cumbersome and error-prone, especially since machine-readable descriptions sufficient for this purpose currently do not exist or exist only in a rudimentary form.
[0010] US 2014 / 0344461 A1 discloses a technology for intelligently providing services, wherein cloud and service data are analyzed to develop a service deployment plan for providing services in a target cloud processing environment. If the service is predetermined by a plan or by an event triggering the provision, the service is provided in the target cloud processing environment according to the service provision plan.
[0011] US2017 / 0289060 A1 discloses a model-driven system that automatically provides virtualized services, including multiple service components, on a distributed cloud infrastructure. Here, a master service orchestrator prompts a cloud platform orchestrator to access a cloud service archive, extract a cloud resource configuration template, and create cloud resources in appropriate computing centers as specified. Furthermore, the master service orchestrator prompts a software-defined network controller to access a cloud service archive, extract a cloud network configuration template, and configure Layer 1 to Layer 3 virtual network functions and establish routing between them.
[0012] The publication “Topology and Orchestration Specification for Cloud Applications” (Version 1.0) describes topics in the form of service templates for providing services in an IT infrastructure.
[0013] The publication “MODACLOUDS: A Model-Driven Approach for the Design and Execution of Applications on Multiple Clouds” (Danilo Ardagna et al.) presents a model-based development approach that aims to assist system developers and operators in using multiple clouds for the same system and, if necessary, migrating them.
[0014] The publication "Standards-based Function Shipping - How to use TOSCA for Shipping and Executing Data Analytics Software in Remote Manufacturing Environments" (Michael Zimmermann et al.) demonstrates the practicality of different modeling approaches based on case studies in the manufacturing field. This practicality is based on the open source TOSCA ecosystem (Open TOSCA), which provides modeling tools, runtimes, and a self-service portal for TOSCA.
[0015] US2015 / 0100684 A1 discloses a system comprising an application model for characterizing a specific application for provision in a cloud, wherein a provisioning manager analyzes application requirements of a given application based on the application model and procedures assigned to the given application so as to substantially adapt infrastructure resources in the cloud so as to meet the application requirements. Summary of the Invention
[0016] Against this background, the object of the present invention is to improve the automatic installation of applications on hosts that are part of a network of a production environment. It is particularly desirable to install applications on hosts or specific computing units automatically and in an almost optimal manner.
[0017] Therefore, a computer-implemented method for determining the installation location of an application to be installed in a distributed network environment is proposed. The method comprises:
[0018] Provide a machine-readable description of the application to be installed;
[0019] enhancing the machine-readable description with other requirements and / or features;
[0020] associating the application to be installed with an object identifier comprising a system-wide unique name, the object identifier reflecting the enhanced description and requirements and / or characteristics of the application to be installed;
[0021] associating an object present in the distributed network environment with at least a corresponding another object identifier, the another object identifier reflecting at least one characteristic of the object;
[0022] storing object identifiers of applications to be installed and objects in the distributed network environment in a database;
[0023] Receive inquiries regarding applications to be installed;
[0024] providing the analysis unit with stored object identifiers of applications and objects to be installed; and
[0025] The determined installation position is received from the evaluation unit.
[0026] The present invention thus enables automated placement decisions for applications or application components. If multiple suitable locations for installing a software component are found, the optimal installation location can be selected from these locations. Preferably, the network environment is an industrial network environment. A suitable installation location should be understood in particular in terms of the selection of a host at a suitable location. An object identifier includes a system-wide unique name.
[0027] The present invention is based on the recognition that placement issues in industrial infrastructures are not only about the resources or usage of hosts. The location and future usage environment of the software or applications to be installed also play a role. Another advantage is that time factors can also be taken into account, for example, if data processing should not be allowed on critical hosts during active production. Unlike computing centers, network infrastructures with homogeneous properties, such as 10GE capabilities and / or a homogeneous computing infrastructure, are not always available in industrial networks.
[0028] According to the solution of the present invention, each usable part of a host, software component, or application is assigned a specific object identifier. The properties described by the object identifier are collected at a central location, for example, in a database, and optionally grouped into workgroups. Workgroups can be defined, for example, for specific applications, specific computing units, specific sensors, or specific actuators.
[0029] The description of the software distribution (Deployment description) uses these defined workgroups and thereby identifies where the software should be distributed or installed. Object identifiers can reflect any characteristics required during placement, such as location, security requirements, device type, and so on. Instead of duplicating detailed device or service descriptions, object identifiers are used to form logical groups that reflect commonality, role, location, or other aspects that are important for placement decisions but not included in the device or software descriptions.
[0030] Object identifiers can form a hierarchy. Examples include "gebauede5 / raum47" for all devices and services in room 47 of Building 5, "rauchDetektor" for smoke detectors from various manufacturers, or "OPC-UA Broker" (Open Platform Communications Unified Architecture) for all software components that implement an OPC-UA messaging broker. A service that monitors smoke detectors using OPC-UA can now be configured so that it uses these components and—based on the location object identifier—is the preferred location for hosting services or applications in or near Building 5.
[0031] Such a solution thus integrates the provider service description with the customer's specifications and the current data and network resources of the available "edge cloud." This allows for an abstraction that reduces the configuration effort involved in grouping and labeling devices, services, and locations.
[0032] According to one embodiment, the determined optimal installation location is used to automatically install the application to be installed. This can be achieved by automatically providing the received information about the determined suitable installation location to a deployment tool. In this way, the application can be installed in the best possible location without user assistance.
[0033] According to another embodiment, the enhancement of the machine-readable description includes the use of security regulations. These security regulations may include information about object management, such as to what extent or whether the object is managed by the supplier. This allows for the characterization of possible dependencies with third parties, and allows for the consideration of corresponding measures regarding the security to be achieved within the framework of determining a suitable installation location.
[0034] According to another embodiment, suitable installation locations are determined by taking into account the dependencies existing between the objects and described in their object identifiers. This has the advantage that a static definition of installation locations is avoided and, instead, the selection of an installation location is optimized by taking multiple dimensions into account.
[0035] According to another embodiment, object characteristics include: guaranteed minimum transmission bandwidth, QoS value, membership in a logical group, membership in a logical topology, physical location, and / or physical or virtual connection characteristics. These characteristics reflect the basic characteristics of the object, where the object can be a computing unit, a sensor, an actuator, a location, or at least a relationship between objects themselves. For example, an object can be a host, a service, a network component, or a production unit in an industrial network environment.
[0036] According to another embodiment, the requirements and characteristics of the application to be installed include: provisioning or deployment requirements, necessary virtualization capabilities, maximum permissible latency, the number of required VLAN interfaces, responsibilities for managing these VLAN interfaces, existing security requirements, required QoS values for the target address, and / or dependencies with other applications and / or objects. This precise definition allows for the best possible selection of the installation location by taking into account the equally precisely defined characteristics of the different objects while taking these requirements into account.
[0037] According to another embodiment, other applications and / or objects can be uniquely identified. Identifiability can be achieved, for example, by providing a one-time given identifier that is assigned to the device (eg "PLC3" for storing a programmable controller).
[0038] According to another embodiment, the objects of the distributed network environment include physical devices, physical connections, virtual connections, virtual services and / or logical topologies. By using a logical structure, in particular, grouping of physically existing objects is facilitated.
[0039] According to another embodiment, each of the physical devices has a known physical location of use. It can further be provided that each of the physical devices has a known management address and at least one known network interface. This further improves the identifiability of the individual devices. The management address can also be referred to as a management address. The network interface can also be referred to as a network interface, an entry point, or an infeed point.
[0040] According to another embodiment, the distributed network environment is divided into subnetworks. Logical structuring is performed by means of these subnetworks, so that parts of the network can be addressed, for example, by means of symbolic names and / or addressing schemes.
[0041] According to a further aspect, a computer program product is proposed which causes the execution of the above-described method on a program-controlled device.
[0042] A computer program product, such as a computer program device, can be provided or supplied, for example, as a storage medium (such as a memory card, USB memory stick, CD-ROM, DVD) or in the form of a file that can be downloaded from a server in a network. This can be achieved, for example, by transmitting a corresponding file with the computer program product or the computer program device in a wireless communication network.
[0043] According to another aspect, a system for determining an installation location of an application to be installed in a distributed network environment is provided. The system comprises:
[0044] a service planning unit configured to receive a machine-readable description of an application to be installed, to enhance the machine-readable description with further requirements and / or characteristics, and to associate the application to be installed with an object identifier comprising a system-wide unique name, the object identifier reflecting the enhanced description and the requirements and / or characteristics of the application to be installed;
[0045] a database for storing object identifiers of applications to be installed and of objects in the distributed network environment, wherein objects present in the distributed network environment are associated with at least one corresponding further object identifier reflecting at least one characteristic of the object; and
[0046] A placement unit is designed to receive a query about an application to be installed, to receive the application to be installed and the stored object identifiers of the object for the evaluation unit, and to receive the determined installation location from the evaluation unit.
[0047] According to another embodiment, the system includes an installation unit configured to automatically install the application to be installed based on the determined suitable installation location. The installation unit can be provided, for example, in the form of a deployment tool that installs the application in the best possible location without user assistance.
[0048] Other possible implementations of the present invention also include combinations not explicitly mentioned of features or embodiments described above or below with respect to the embodiments. Those skilled in the art will also add individual aspects as improvements or supplementary solutions to the corresponding basic forms of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Further advantageous embodiments and aspects of the present invention are the subject matter of the exemplary embodiments of the present invention described below. In the following, the present invention is further explained based on preferred embodiments with reference to the accompanying drawings.
[0050] Figure 1 An example of a deployment process using the proposed method is shown.
[0051] In the figures, identical or functionally identical elements have been provided with the same reference symbols unless otherwise indicated. DETAILED DESCRIPTION
[0052] The following first provides a machine-readable description of the application to be installed, titled "Real Time Factory Monitoring" (RTM) pseudocode. This machine-readable description includes a "Collector" data collector for monitoring industrial equipment and a VPN endpoint ("VPN Gateway") that encrypts all data entering the public cloud infrastructure. The collector performs preprocessing and sends the results to the backend. The machine-readable description can be structured as follows:
[0053]
[0054] The specification or description, presented in pseudocode, essentially contains the requirements and mentions other necessary services that must be implemented. The entry "devices*" represents any number of devices that should be located near the collector component. Each of these devices requires a minimum bandwidth of 0.5 Mbit / s for connectivity. Similarly, other parameters can be defined as requirements for the application, which should then be considered when determining a suitable installation location.
[0055] Devices to be connected must be added in advance by the application's operator, such as the plant owner. This can also be done using lists or groups, for example by defining a group called "ProfinetIO_motortemp" and adding devices there. Operators can also impose restrictions, such as maximum bandwidth or location-based restrictions, such as "Not in Workshop 5."
[0056] The machine-readable description obtained based on the original specifications and the newly added requirements is then transmitted to a device that executes a method for determining a suitable installation location in order to find the most suitable host computer. This should (depending on the requirements) take into account the location information, the actual utilization rate of the available hosts, etc.
[0057] Figure 1 An example of a deployment process using the proposed method is shown, which includes a service planning unit A, a placement unit B, and an installation unit C.
[0058] In method step S1a, the manufacturer's service description in the form of a machine-readable description of the application to be installed is provided to the service planning unit A. In method step S1b, the specifications of the plant owner 1b are also delivered, which contain further requirements and / or characteristics, as explained above with respect to the presented pseudocode.
[0059] In method step S2, the service planning unit A further associates the application to be installed with an object identifier, thereby generating a complete service description. The object identifier includes the enhanced description and the requirements and / or characteristics of the application to be installed, which were previously provided by the plant owner. The object identifier of the application to be installed is stored in the database as the complete service description.
[0060] In method step S3a, upon receiving a query regarding the application to be installed, the complete service description is provided to placement unit B. Simultaneously, placement unit B obtains information 3a-3d regarding the device and service groups, the current state of the "edge cloud," the current network status, and the plant floor plan. This information was previously generated by associating objects present in the distributed network environment with at least one corresponding object identifier, which describes at least one characteristic of the object. The object identifiers of the objects in the distributed network environment are stored in a database.
[0061] After receiving the query about the application to be installed, the placement unit B provides the analysis unit with the information obtained in method steps S3a and S3b about the application to be installed and the stored object identifier of the object. The placement unit B then receives the determined suitable installation location from the analysis unit.
[0062] In method step S4 a , placement unit B combines the determined optimal installation location with the images 4 a - 4 c of the software application to be installed received in step S4 b in order to generate topology information for software distribution 5 .
[0063] This information is then provided to an installation unit C, which performs the actual installation or deployment of the software application.
[0064] In summary, the basic idea of placement requirements can be documented as follows:
[0065] 1. Endpoint Group
[0066] Devices and services can be grouped together into groups. For example, a group called "Enterprise WLAN" could include access points that aren't specifically used for real-time traffic. Each group is a list of entries. An entry has a description that includes the point of attachment to the network (e.g., the IP address of the management interface) and the location. For a service, this could be the host on which the service is running.
[0067] 2. Location
[0068] Instead of determining a geographic location with meter-accurate accuracy, a "semantic location description" can be used, which captures the most important characteristics of a location. This "semantic location description" can include a physical area consisting of many points and is not limited to a single point. This location can use a structured, symbolic, and user-defined naming scheme, such as "Standort Turin / Halle 5 / Transportband 8" or "Standort Turin / Halle 5 / Schweisszelle 23." This essentially creates a coarse-grained floor plan. This location can represent actual location information or topological, network-related information, such as all devices in a subnet or connected to a specific switch.
[0069] 3. Placement
[0070] Now, the placement algorithm takes the service specification, extracts all the services and devices mentioned therein and provides them to the analysis unit. The analysis unit can then consider finding a target computer "near" the required point.
[0071] 4. Installation or deployment
[0072] For deployment, for example, TOSCA (Topology and Orchestration Specification for Cloud Applications) can be used to distribute and install software images at locations specified by the placement unit. Alternatively, other software can also be used.
[0073] The above embodiments are based on the assumption that there is an application specification that includes resource requirements, network QoS (Quality of Service), provisioning procedures, and so on. This can be considered the digital equivalent of today's "datasheets." It is also assumed that network QoS is always associated with one or more targets, such as, for example, minimum bandwidth to an edge router and / or maximum latency to a specific terminal device. A target is a device or service outside or within the application, but in the form of another component of the same application. Furthermore, the application is associated with other applications and with the devices that use it. The devices or services mentioned in the application specification refer to uniquely identifiable devices (e.g., "PLC3") or target groups ("forklift group"). Optionally, it can also be provided that the application can be started multiple times or virtualized multiple times. The application can be packaged in one or more software images, each of which can have different requirements and dependencies. Images can exist in the form of containers or virtualized images. The deployment specification preferably also contains steps that are executed before starting (eg VM preparation), at starting or after starting (eg startup scripts), and during runtime (eg steps for controlling the update process).
[0074] The assumption about the edge cloud is that it has multiple hosts. Each host may have different resources and capabilities and has an interface. In addition, each node has a known location and a known management address and entry point.
[0075] The distributed network connects the hosts and devices of the "edge cloud" and can be logically divided into subnets, where logical structuring means that parts of the network can be identified (for example by means of symbolic names and / or addressing schemes). This does not necessarily refer to structures at the Ethernet or IP layer. Characteristics with regard to the network topology and network connections are available and can be taken into account as additional inputs. The network can also support flow control, for example by means of SDN (Software-defined Networking), dedicated solutions or pre-configured systems (that is, pre-configured VLANs). The relevant nodes (such as hosts, network nodes or software services of the "edge cloud") have object identifiers that describe the different information required for the above-mentioned placement process.
[0076] Finally, it is assumed that there are means for providing the image (in method step S4b).
[0077] Although the present invention has been described based on the embodiments, the present invention can be modified in various ways.
Claims
1. A computer-implemented method for determining an installation location of an application to be installed in a distributed network environment, the method comprising the following steps: - Provide a machine-readable description of the application to be installed; - enhancing the machine-readable description with other requirements and / or characteristics; - associating the application to be installed with an object identifier comprising a system-wide unique name, the object identifier reflecting the enhanced description and requirements and / or characteristics of the application to be installed; - associating an object present in the distributed network environment with at least a respective further object identifier, the further object identifier reflecting at least one characteristic of the object; - storing object identifiers of the applications to be installed and of the objects in the distributed network environment in a database; - Receive inquiries regarding applications to be installed; - providing the analysis unit with the application to be installed and the stored object identifiers of the objects, wherein the analysis unit determines the installation location taking into account the dependencies existing between the objects and described in the object identifiers of the objects; and - receiving the determined installation position from the analysis unit.
2. The method according to claim 1, characterized in that The determined installation location is used for automatic installation of the application to be installed.
3. The method according to claim 1 or 2, characterized in that Enhancements to the machine-readable description include enhancements to utilize security procedures.
4. The method according to claim 1 or 2, characterized in that The properties of the object include: - Ensured transmission bandwidth; -QoS value; - affiliation with a logical group; - Affiliation with the logical topology; - physical location of use; and / or -The characteristics of the physical or virtual connection.
5. The method according to claim 1 or 2, characterized in that The requirements and characteristics of the application to be installed include: - Provision or deployment requirements; -Necessary virtualization capabilities; - Maximum allowed waiting time; - The number of VLAN interfaces required; - Responsibility for the management of the VLAN interface; - Existing safety requirements; - the desired QoS value for the target address; and / or - Affiliations with other applications and / or objects.
6. The method according to claim 5, characterized in that The other applications and / or objects can be uniquely identified.
7. The method according to claim 1 or 2, characterized in that The objects of the distributed network environment include: - physical equipment; - Physical connection; - Virtual connection; - Virtual Services; and / or -Logical topology.
8. The method according to claim 7, characterized in that Each of the physical devices has a known physical location of use.
9. The method according to claim 1 or 2, characterized in that The distributed network environment is divided into subnets.
10. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to perform the method according to any one of claims 1 to 9.
11. A system for determining an installation location of an application to be installed in a distributed network environment, the system comprising: a service planning unit configured to receive a machine-readable description of an application to be installed, to enhance the machine-readable description with further requirements and / or properties, and to associate the application to be installed with an object identifier comprising a system-wide unique name, the object identifier reflecting the enhanced description and the requirements and / or properties of the application to be installed; - a database for storing object identifiers of applications to be installed and of objects in the distributed network environment, wherein objects present in the distributed network environment are associated with at least one corresponding further object identifier, the further object identifier reflecting at least one characteristic of the object; and a placement unit designed to receive a query about an application to be installed, to receive the stored object identifiers of the application to be installed and the object for an evaluation unit, and to receive the determined installation location from the evaluation unit, The evaluation unit is designed to determine the installation location taking into account dependencies existing between the objects and described in the object identifiers of the objects.
12. The system according to claim 11, characterized in that An installation unit is configured to automatically install the application to be installed based on the determined installation location.
Citation Information
Patent Citations
Techniques for intelligent service deployment
US20140344461A1
Test and management for cloud applications
US20150100684A1
Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
US20170289060A1
Test and management for cloud applications
CN104246740A
Distributed cloud placement software
US20120324070A1