EP4139799A1 - Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur - Google Patents

Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur

Info

Publication number
EP4139799A1
EP4139799A1 EP21728446.2A EP21728446A EP4139799A1 EP 4139799 A1 EP4139799 A1 EP 4139799A1 EP 21728446 A EP21728446 A EP 21728446A EP 4139799 A1 EP4139799 A1 EP 4139799A1
Authority
EP
European Patent Office
Prior art keywords
infrastructure
components
nodes
software components
specific properties
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP21728446.2A
Other languages
English (en)
French (fr)
Inventor
Jürgen Gesswein
Lena HUPP
Harald Müller
Christian Royer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP4139799A1 publication Critical patent/EP4139799A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the invention relates to a method and device for distributing software components of one or more applications to infrastructure components of an industrial infrastructure that are suitable for their execution, as well as an associated computer program (product).
  • An industrial infrastructure can be a modern automation system. It is characterized by centralized and hierarchical control architectures, such as B. the automation pyramid according to the ISA-95 and IEC 62264 standards. According to these standards, the actual conventional architecture of the automation pyramid represents a clear separation of systems and functionalities in five architectural levels that have their own specific automation purpose and only exchange information with the adjacent architectural levels.
  • the lowest architecture level represents the manufacturing and production process, which is controlled by means of input and output signals I / O of a field environment by so-called PLC machines (PLC in English: PLC: Programmable Logic Controller) in a control environment.
  • PLC machines PLC in English: PLC: Programmable Logic Controller
  • This architecture level is usually developed as a process control and / or communication network environment and is often abbreviated to the term SCADA (Supervisory Control and Data Acquisition).
  • An operations management environment or level forms the next higher architecture level and is often abbreviated to the term MES (Manufacturing Execution System).
  • MES Manufacturing Execution System
  • a corporate environment or level forms the highest level of architecture and is often abbreviated to ERP (Enterprise Resource Planning).
  • ERP Enterprise Resource Planning
  • a hierarchical structure is very robust and emphasizes good predictability and global system optimization.
  • this structure is effective for small systems that are implemented in very stable and structured environments in which the pyramid according to ISA-95 can be used for easy development and maintenance.
  • This reliability between the architectural levels leads to insufficient adaptability and Flexibility with production changes.
  • a single point of failure can drastically reduce system performance.
  • Information also becomes inconsistent and out of date once a communication delay occurs that affects partial and global decision-making.
  • Various types of hardware and software are used here. This means that communication between these components is also inhomogeneous.
  • Maintainability, expandability and updateability also suffer from these inhomogeneities.
  • This environment there is a desire to create a seamless transition between the architecture levels described above. It makes sense to use a modular system as an industrial infrastructure. Such a modular system usually only works if all infrastructure components and interfaces of the applications work properly and if certain boundary conditions are met.
  • the infrastructure components can include the computing nodes and network nodes.
  • the infrastructure components can be physical and / or virtual components.
  • Computing nodes are parts of computing units; they can either be pure hardware nodes or virtual machines.
  • Computing nodes of other domains, such as the cloud, the data center or the edge, are modeled in the same way, ie the properties of the domains are expressed by the properties of the model components.
  • the interfaces each have certain characteristics (eg computational complexity, memory requirements, data rate, call frequency).
  • additional restrictions that must be met so that the application can be viewed as fully functional (e.g. end-to-end latency, response times, availability of the application or parts of the application, data protection restrictions for infrastructure components or interfaces) .
  • These features and restrictions describe interface-specific properties.
  • the infrastructure components of an application usually run on different computing nodes, eg Cj, possibly in different domains or different production cells.
  • the computing nodes can be connected to one another via a single or multiple network paths.
  • the different computing nodes can be heterogeneous, ie they have different ability-specific properties, eg computing capacity, main storage capacity, storage capacity, CPU architecture.
  • the connections and the network nodes Ni can also have different properties. Transmission-specific properties of the connections are, for example, bandwidth and latency, and resource-specific properties of the network nodes are, for example, response time, failure safety and availability.
  • a state-of-the-art technology for implementing applications that can be divided into modular software components is container technology (such as Docker).
  • Software components can be packed in containers that can run on one or more container clusters.
  • the latest technologies for managing multiple containers on a cluster are container orchestration technologies such as Kubernetes.
  • Kubernetes has a scheduler that assigns pods (a collection of containers) to a set of nodes within a cluster.
  • a node is a computer system, physical or virtual, that is set up to operate containers under the control of Kubernetes.
  • a cluster is an overall system made up of nodes.
  • Kubernetes summarizes container images (memory image of a container), their configuration and the number of required instances in deployments.
  • Kubernetes automatically monitors the parameters of a deployment. The tool ensures that the required number of containers is running at all times.
  • Kubernetes distributes changes to the software or the configuration with a rollout.
  • Kubernetes was not designed for such a hierarchical architecture as is used in the industrial environment. When distributing the pods, no skill-specific, transmission-specific or resource-specific properties within the infrastructure mentioned are taken into account.
  • a scheduler for mapping industrial applications to a specific infrastructure has already been proposed in EP 19152467.7.
  • MILP mixed integer optimization
  • MILP is concerned with optimizing linear objective functions over a set constrained by linear equations and inequalities. It is the basis of the solution methods of (mixed) integer linear optimization.
  • a so-called solver is a collective term for special mathematical computer programs that can solve mathematical problems numerically.
  • standard solvers such as CPLEX, Scip, Gurobi, Xpress can be used for IP programs (integer optimization models).
  • the object is achieved by the features specified in the independent claims.
  • Advantageous developments of the invention are presented in the dependent claims.
  • the invention claims a computer-aided method for distributing software components of one or more applications to infrastructure components of an industrial infrastructure that are suitable for their execution, which includes a set of infrastructure components which are made up of a set of computing nodes and a set of network nodes.
  • the computing nodes each being connectable or connected to at least one infrastructure component via a connection, which at least partially of a communication network belonging to the infrastructure to which the computing nodes are connected, the computing nodes each having capability-specific properties, the connections each having transmission-specific properties, characterized in that the distribution of the software communication components is optimized with the aim that as many applications as possible from a predeterminable set of applications can be used in the infrastructure, provided that each software component of an application has only one computing node on which it can be executed taking into account the capability-specific properties , and that for each interface between at least two of these assigned software components one connection or several connections coupled one behind the other via one or more network nodes is or will be selected, taking into account the transmission-specific and resource-specific properties.
  • the optimization can be carried out by means of mixed-integer optimization.
  • a first infrastructure component (start component or source) is in each case via a connection or several connections with a second infrastructure component (target components or destination) for an exchange (i.e. bidirectional) directionally) or for the transfer (ie unidirectional) of data.
  • these connection (s) are referred to as the (network) path from the first to the second infrastructure component.
  • each path is directional.
  • the interfaces can each have interface-specific properties.
  • each path (a connection or several coupled connections) has, for example, a latency as a transmission-specific property.
  • Each interface has a maximum latency as a corresponding interface-specific property. If an interface runs over a path, i.e. forwards data over the path, the latency of the path must be less than or equal to the maximum latency of the interface.
  • the sum of the values of the interface-specific properties over the multiple interfaces must be less than the corresponding or comparable value of the transmission-specific properties of the same connection or be identical.
  • Each connection has a maximum bandwidth as a transmission-specific property that is not exceeded allowed. Accordingly, the following must apply to each individual connection in the communication network: The sum of the bandwidths of all interfaces as interface-specific properties that run over a path or are assigned to the path used by this connection must be less than or equal to the bandwidth of the connection under consideration as a corresponding transmission-specific property.
  • the network nodes can each have resource-specific properties that are taken into account when selecting the one or more connections.
  • a weighting when taking into account the capability-specific, the transmission-specific and / or the resource-specific properties can be included in the optimization.
  • All software components of each application that are used or that are to be installed or executed in the infrastructure are accordingly assigned to one computing node.
  • Corresponding network paths must be found in the network infrastructure for the data exchange / transfer of the interfaces. Several possible network paths can be selected in each case.
  • the distribution or placement of the software components and the routing of the data in the communication network takes place in such a way that all requirements of the applications, the communication network and the infrastructure components are met.
  • the infrastructure here comprises at least one communication network and the infrastructure components.
  • Computing nodes can be manufacturing machines, (IoT) devices, terminals, PCs and possibly sensors or actuators.
  • the coupling or the connection of computing or network nodes can possibly be phy- be physically bidirectional (data exchange) or unidirectional (data transfer).
  • the data exchange or the data transfer can also comprise only simple messages or, if applicable, only the sending or receiving of simple signals.
  • the data exchange can be wired or wireless using standard wireless technology such as WLAN, Bluetooth, NFC, cellular radio, etc.
  • the application can be designed in terms of firm and / or software technology as an app or also as a container.
  • Containers embed the software code of an application in a secure storage area, to which there is then only fully regulated, possibly encrypted or certified access from outside.
  • cryptographic-specific properties of the infrastructure components can also be taken into account.
  • Cryptographic properties can be expressed by a type of hardness measure with regard to the probability that an attack from outside will be successful.
  • An asymmetrical encryption method could have a different degree of hardness than a symmetrical encryption method.
  • Further cryptographic protection measures, among many others, are signature procedures and possibly certificates. These can also be assigned a degree of hardness.
  • connection or the multiple connections not only the throughput but also the ability of one or more nodes of this connection (s) to fend off attacks from outside can play a role.
  • Another aspect of the invention is a device, in particular a scheduler, for distributing software components of one or more applications to infrastructure components of an industrial infrastructure that are suitable for their execution and that comprise a set of infrastructure components that are made up of a set of computing nodes (C) and a set of network nodes (N) is formed, with an application having one or more software components which exchange and / or transfer data with one another via interfaces (I 01 to I 03 , I 13), the computing nodes each can be or are connected to at least one infrastructure component via a connection which is at least part of a communication network belonging to the infrastructure to which the computing nodes are connected, the computing nodes each having capability-specific properties and the connections each having transmission-specific properties , marked calibrated by an optimization component that is designed to optimize the distribution of the software components with the aim that as many applications as possible from a predeterminable set of applications can be used in the infrastructure, provided that each software component has a Application is only assigned to one computing node on which it can be executed taking into account the capability-specific properties and that for each
  • the best network path is determined from a set of possible network paths for the data exchange between two software components.
  • Several routes via network paths from a first computing node (source) to a second computing node (destination) are thus possible, provided that the forward and backward communication of two computing nodes takes place via the same network path. This not only enables bandwidth to be used and latency to be reduced, but also creates a seamless transition between the architecture levels described above.
  • the MILP approach described in a further development of the invention makes it possible to efficiently find optimal solutions which combine the two requirements for the distribution of as many applications as possible, taking into account the transmission-specific properties in the network.
  • a computer program comprising program code which can be executed by at least one processor and which causes the at least one processor to execute the operating method according to the invention and its embodiments.
  • the computer program can run on a computer, e.g. in the cloud, server and / or PC, or be stored as a computer program product on a computer-readable medium.
  • the computer program brings the runtime environment to run.
  • a variant of the computer program (products) with program commands for configuring a creation device for example a 3D printer, a computer system or be a manufacturing machine suitable for creating processors and / or devices.
  • the means can be hardware, firmware and / or software units or modules.
  • the term “computer” should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties. Computers can thus, for example, personal computers, servers, programmable logic controllers (PLC), handheld computer systems, pocket PC devices, mobile radio devices and other communication devices that can process data with the aid of computers, processors and other electronic devices Be data processing.
  • PLC programmable logic controllers
  • “computer-aided” can be understood to mean, for example, an implementation of the method in which, in particular, a processor executes at least one method step of the method.
  • FIG. 1 schematically shows the application mentioned at the outset
  • FIG. 2 schematically shows an industrial infrastructure with a communication network.
  • Figure 1 shows an industrial application A consists of several (software) components (workloads, WL) which exchange data via interfaces (interfaces). Each component is characterized by a set of parameters that describe the requirements, restrictions and behavior as a property of these. These include, for example, the computational complexity (CPU), memory consumption (RAM), etc. Each interface is also characterized by a set of parameters or interface-specific properties that characterize the data flow or the data throughput on this interface. This can be, for example, the required bandwidth or the maximum permissible latency.
  • FIG. 2 schematically shows an infrastructure which comprises the relevant infrastructure components and the properties on which the industrial applications are distributed and executed.
  • the infrastructure consists of computing nodes C1 to C16, connections L1 to L24 and network nodes N1 to N8.
  • the computing nodes C1 to C6 with the network node NI can be a domain or manufacturing cell and the computing nodes th C7 to C12 form a further domain or manufacturing cell with the network node N2. According to the ISA-95 standard, these two production cells then belong to the production level or to the control and field level.
  • the computing nodes C13 and C14 with the network node N7 can belong to the operations management level in the example.
  • the computing nodes C15 and C16 with network nodes N8 can belong to the company level in the example.
  • the network nodes N2, N7 and N8 can each be designed as a so-called EDGE.
  • Computing node C15 can offer cloud services and computing node C16 can be a data center.
  • the network nodes N3 to N6 can accordingly form a communication network that can be wired and / or wireless.
  • the use of communication standards such as mobile radio (e.g. LTE, 5G etc.), WIFI, LAN and an intranet or internet is conceivable here.
  • Each computing node has a number of skill-specific properties such as the main memory capacity or the computing power.
  • Connections also called links
  • Each connection is characterized by a number of parameters or properties, such as bandwidth and latency characteristics.
  • a network node links two or more connections.
  • a network node usually abstracts physical or virtual network devices such as switches or routers.
  • a network node can also have other properties that affect the network, such as minimal latency.
  • the device for example the scheduler, which can be configured as a cloud service, has, for example, an optimization component that has a modeled optimization.
  • the optimization model preferably a mixed-integer optimization model (MILP)
  • MILP mixed-integer optimization model
  • the applications are distributed over a communication network of the infrastructure, which is made up of a number of infrastructure components.
  • the set of nodes also known as infrastructure components, contains both the computing nodes and the network nodes.
  • connections are preferably directed, ie if ⁇ n1, n2) is a forward connection then (n2, n1) is the corresponding reverse connection.
  • a sequence of several nodes, each with a connection or linked to one another via connections, is called a path.
  • every path is directed.
  • the goal is to place as many applications as possible in the infrastructure. Allocation or distribution of one or more applications can take place if no applications have yet been allocated or if applications on computing nodes have already been allocated and these therefore already ensure a certain utilization of the infrastructure.
  • NodesForWL (w) Set of possible nodes on which component w can be placed
  • WLsForNode (n) Set of possible components that can be placed on node n
  • Paths (s, d) Set of paths in the network with start node s (or source) and destination node d (or dest). There can be several paths from a start node to a destination node, ie circles are permitted in the network. In addition, the direction of the paths must be taken into account.
  • Paths Set of all paths in the network i.e. the union of all sets of Paths (s, d)
  • PathsWithLink (n1 n2) Set of all paths in the network that use the connection (n1, n2) between nodes n1 and n2
  • WLsOfApp (a) Set of components that make up an app. Groups Set of groups. A group consists of several components. Components of a group must not be placed on the same node.
  • WLsOfGroup (g) Components that belong to group g.
  • NodeRAM working memory capacity (RAM)
  • variables setup w, n Assignment of component w to node n.
  • the variable takes the value 1, otherwise the value 0.
  • the variable assumes the value 1 if path p is used for the interface (w1, w2) in the network, otherwise 0.
  • Each component may be assigned to a maximum of one node:
  • a path between the selected nodes must also be active that can be used by the interface of the two components.
  • path restrictions are defined for all components w1, w2 ⁇ WLs and all node pairs source, dest ⁇ Nodes, for which (w1, w2) ⁇ Int, source ⁇ NodesForWL (w1), dest E NodesForWL (w2) applies and for those between a path exists for the node source and the node dest, i.e. Paths (source, dest) ⁇ 0, Paths (source, dest) Paths:
  • a path p may only be selected for an interface (w1, w2) if the latency of the path does not exceed the maximum latency of the interface.
  • Components that belong to a group must be distributed to different nodes, or no two components of a group may be assigned to the same node:
  • the data exchange between several applications can be modeled by adding further linear inequalities.
  • the capability-specific properties such as the output load of the computing nodes (e.g. CPU, RAM) as well as the transmission-specific properties, e.g. bandwidth of the paths, are taken into account in the MIP model.
  • the underlying transmission technology of the connection (s) can also play a role in the transmission-specific properties.
  • Transmission technology can be wireless, ie radio-based (e.g. mobile radio, WiFi), or as a type of ad hoc connection (mostly e.g. Bluetooth, NFC, Zigbee, infrared) or as a wired connection (e.g. local, wide area or metropolitan area network).
  • radio-based e.g. mobile radio, WiFi
  • a type of ad hoc connection mostly e.g. Bluetooth, NFC, Zigbee, infrared
  • a wired connection e.g. local, wide area or metropolitan area network.
  • a cost function can combine several optimization criteria, such as effort-oriented cost factors for the infrastructure components (eg the computing nodes, network connections) or performance criteria of the applications such as the resource-specific or transmission-specific properties (eg availability, latency).
  • the objective function can consist of a weighted sum of the individual factors or criteria. This means that the optimization can be configured specifically for the application.
  • At least part of the industrial infrastructure can be implemented as a block chain.
  • a block chain here means a continuously expandable list of data records, called “blocks”, which are chained to one another using cryptographic methods.
  • Each block typically contains a cryptographically secure hash (scatter value) of the previous block , a time stamp and transaction data.
  • the transaction data can also be embedded in smart contracts in which the execution of a transaction between the communication partners is specified. This increases security.
  • the software components to be distributed or distributed to the computing nodes form the blocks of a block chain.
  • the communication and the data exchange are carried out by means of transactions.
  • the paths are determined, the nodes further forming blocks of the block chain along the determined paths.
  • a block chain could be formed from node C1 to node C15 via nodes N1, N2, N3, N4, N5, N8.
  • Cryptographic properties can be expressed by a type of hardness measure with regard to the probability that an attack from outside will be successful.
  • An asymmetrical encryption method could have a different degree of hardness than a symmetrical encryption method.
  • the choice of the hash function, as it is used in the block chain, could also make a certain degree of hardship.
  • Further cryptographic protection measures, among many others, are signature procedures and possibly certificates. These can also be assigned a degree of hardness.
  • Computer-readable memories are, for example, volatile memories such as caches, buffers or RAM as well as non-volatile memories such as removable media, hard disks, etc.
  • the functions or method steps described above can be present in the form of at least one set of instructions in / on a computer-readable memory.
  • the functions or steps are not tied to a specific set of instructions or to a specific form of instruction set or to a specific storage medium or to a specific processor or to specific execution schemes and can be implemented through software, firmware, microcode, hardware, processors, integrated circuits etc. can be run alone or in any combination.
  • a wide variety of processing strategies can be used to such as serial processing by a single processor, or multiprocessing, or multitasking, or parallel processing, etc.
  • the instructions can be stored in local or central memories, but it is also possible to store the instructions on a remote system and access them via the network.
  • processor central signal processing
  • control unit or “data evaluation means” includes processing means in the broadest sense, for example servers, universal processors, graphics processors, digital signal processors, application-specific integrated circuits ( ASICs), programmable logic circuits such as FPGAs, discrete analog or digital circuits and any combination thereof, including all other processing means known to the person skilled in the art or developed in the future.
  • processors can consist of one or more devices or units that can be integrated into a device. If a processor consists of several devices, these can be designed or configured for parallel or sequential processing or execution of instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung beansprucht ein rechnergestütztes Verfahren zum Verteilen von Softwarekomponenten einer oder mehreren Applikationen auf für deren Ausführung geeignete Infrastrukturkomponenten einer industriellen Infrastruktur, welche eine Menge von Infrastrukturkomponenten umfasst, welche aus einer Menge von Rechenknoten (C) und einer Menge von Netzwerkknoten (N) gebildet wird, wobei eine Applikation eine oder mehrere Softwarekomponenten aufweist, die über Schnittstellen (I01 bis I03, I13) untereinander Daten austauschen und/oder übergeben, wobei die Rechenknoten jeweils mit wenigstens einer Infrastrukturkomponente über eine Verbindung verbindbar oder verbunden sind, welche zumindest Teil eines zur Infrastruktur gehörigen Kommunikationsnetzwerkes ist, an das die Rechenknoten angeschlossen sind, wobei die Rechenknoten jeweils fähigkeitsspezifische Eigenschaften, die Verbindungen jeweils übertragungsspezifische Eigenschaften aufweisen, dadurch gekennzeichnet, dass die Verteilung der Softwarekomponenten mit dem Ziel optimiert wird, dass möglichst viele Applikationen einer vorgebbaren Menge von Applikationen in der Infrastruktur unter der Voraussetzung zur Anwendung kommen können, dass jede Softwarekomponente einer Applikation nur einem Rechenknoten, auf welchem sie unter Berücksichtigung der fähigkeitsspezifischen Eigenschaften ausführbar ist, zugewiesen wird und dass für jede Schnittstelle zwischen zumindest zwei dieser zugewiesenen Softwarekomponenten eine Verbindung oder mehrere via ein oder mehrere Netzwerkknoten hintereinander gekoppelte Verbindungen unter Berücksichtigung der übertragungsspezifischen und ressourcenspezifischen Eigenschaften ausgewählt wird oder werden.

Description

Beschreibung
Verfahren und Vorrichtung zum Verteilen von Softwarekomponen- ten einer oder mehreren Applikationen auf für deren Ausfüh- rung geeignete Infrastrukturkomponenten einer industriellen Infrastruktur
Die Erfindung betrifft Verfahren und Vorrichtung zum Vertei- len von Softwarekomponenten einer oder mehreren Applikationen auf für deren Ausführung geeignete Infrastrukturkomponenten einer industriellen Infrastruktur sowie ein zugehöriges Com- puterprogramm (-produkt).
Eine industrielle Infrastruktur kann ein modernes Automati- sierungssystem sein. Es zeichnet sich durch zentralisierte und hierarchische Steuerungsarchitekturen aus, wie z. B. die Automatisierungspyramide gemäß den Standards ISA-95 und IEC 62264. Nach diesen Standards stellt die eigentliche konventi- onelle Architektur der Automatisierungspyramide eine klare Trennung von Systemen und Funktionalitäten in fünf Architek- turebenen dar, die ihren eigenen spezifischen Automatisie- rungszweck haben und nur mit den angrenzenden Architekturebe- nen Informationen austauschen. Dabei repräsentiert die un- terste Architekturebene den Fertigungs- und Produktionspro- zess, welcher mittels Eingangs- und Ausgangssignale I/O einer Feldumgebung durch sogenannte SPS-Maschinen (SPS in Englisch: PLC: Programmable Logic Controller) auf einer Steuerungsumge- bung gesteuert wird. Steuerungsebene bzw. -Umgebung und Feld- ebene bzw. -Umgebung bilden dabei die nächsthöhere Architek- tureeben. Diese Architekturebene ist meist als Prozessleit- und/oder Kommunikationsnetzwerkumgebung ausgeprägt und wird oft mit dem Begriff SCADA (Supervisory Control and Data Ac- quisition) abgekürzt. Eine Betriebsleitumgebung bzw. -ebene bildet die nächst höhere Architekturebene und wird häufig mit dem Begriff MES (Manufacturing Execution System) abgekürzt. Eine Unternehmensumgebung bzw. -ebene bildet die höchste Ar- chitekturebeneund wird häufig mit dem Begriff ERP (Enterprise Ressource Planning) abgekürzt. Diese hierarchische Automatisierungsstruktur nach dem ISA- Standard formalisiert die Interaktionen dieser Hierarchieebe- nen, um eine automatisierte Kommunikation zwischen Unterneh- mensplanung und Fertigungssteuerungssystemen zu ermöglichen.
Eine hierarchische Struktur weist eine hohe Robustheit auf und betont eine gute Vorhersagbarkeit und eine globale Sys- temoptimierung. Einerseits ist diese Struktur für kleine Sys- teme effektiv, die in sehr stabilen und strukturierten Umge- bungen ausgeführt werden, in denen die Pyramide gemäß ISA-95 für eine einfache Entwicklung und Wartung genutzt werden kann Diese Zuverlässigkeit zwischen den Architekturebenen führt zu unzureichender Anpassungsfähigkeit und Flexibilität bei Pro- duktionsänderungen. Darüber hinaus kann ein einzelner Fehler- punkt die Systemleistung drastisch reduzieren. Informationen werden auch inkonsistent und veraltet, sobald eine Kommunika- tionsverzögerung auftritt, die die teilweise und globale Ent- scheidungsfindung beeinträchtigt. Verschiedenste Arten von Hard- und Software kommen hierbei zum Einsatz. Daraus resul- tiert, dass auch die Kommunikation zwischen diesen Komponen- ten inhomogen ist. Während auf den unteren Architekturebenen in der Regel Kommunikationsprotokolle wie Profinet (Process Field Network) eingesetzt wird, ist auf den oberen Architek- turebenen der Einsatz von OPC-UA (Open Platform Communica- tions - Unified Architecture) gepaart mit TSN (Time Sensitive Network) möglich. Jedoch sind an den Grenzen der Architektur- ebenen immer Netzwerkschnittstellen - bzw. Gateways notwen- dig, um die uneinheitlichen Kommunikationsprotokolle zu über- setzen. Auch die Datenhaltung ist inhomogen. Die Art des En- gineerings der einzelnen Komponenten unterscheidet sich eben- falls stark.
Unter diesen Inhomogenitäten leiden auch die Wartbarkeit, Er- weiterbarkeit und Aktualisierbarkeit. In diesem Umfeld be- steht der Wunsch, einen nahtlosen Übergang zwischen den oben beschriebenen Architekturebenen zu schaffen. Es ist der Einsatz eines modularen Systems als industrielle Infrastruktur sinnvoll. Ein solches modulares System funktio- niert in der Regel nur, wenn alle Infrastrukturkomponenten und Schnittstellen der Applikationen einwandfrei funktionie- ren und wenn bestimmte Randbedingungen erfüllt sind.
(Industrielle) Anwendungen A (auch Applikationen genannt) be- stehen - wie beispielhaft in Figur 1 gezeigt - in der Regel aus mehreren abhängigen Softwarekomponenten (auch Workloads W0 bis W3 genannt), die Daten über Schnittstellen (auch In- terfaces I01 bis I03, I13 genannt) austauschen. Die Infrastruk- turkomponenten können die Rechenknoten und Netzwerknoten um- fassen. Die Infrastrukturkomponenten können physische und/oder virtuelle Komponenten sein. Rechenknoten sind Teile von Recheneinheiten, sie können entweder reine Hardwareknoten oder virtuelle Maschinen sein. Rechenknoten anderer Domänen, wie z.B. der Cloud, dem Datencenter oder der Edge, werden auf die gleiche Weise modelliert, d.h. die Eigenschaften der Do- mänen werden durch die Eigenschaften der Modellkomponenten ausgedrückt.
Die Schnittstellen haben jeweils bestimmte Merkmale (z.B. Re- chenkomplexität, Speicherbedarf, Datenrate, Aufrufhäufig- keit). Darüber hinaus kann es zusätzlich Einschränkungen ge- ben, die erfüllt werden müssen, damit die Applikation als voll funktionsfähig angesehen werden kann (z.B. End-to-End- Latenzzeit, Reaktionszeiten, Verfügbarkeit der Applikation oder Teile der Applikation, Datenschutzbeschränkungen für Infrastrukturkomponenten oder Schnittstellen). Diese Merkmale und Einschränkungen beschreiben hierbei schnittstellenspezi- fische Eigenschaften. Bei industriellen Systemen laufen die Infrastrukturkomponenten einer Applikation in der Regel auf verschiedenen Rechenknoten z.B. Cj ggf. in verschiedenen Do- mänen bzw. unterschiedlichen Fertigungszellen. Die Rechenkno- ten sind durch Verbindungen z.B. Lk und Netzknoten z.B. Ni miteinander verbunden, wobei die obigen Indizes i, j, k = 1 bis n betragen. Die Rechenknoten können über einen einzelnen oder mehrere Netzwerkpfade miteinander verbunden sein. Die verschiedenen Rechenknoten können heterogen sein, d.h. sie haben unterschiedliche fähigkeitsspezifische Eigenschaften z.B. Rechenkapazität, Hauptspeicherkapazität, Speicherkapazi- tät, CPU-Architektur. Die Verbindungen und die Netzwerkknoten Ni können ebenfalls unterschiedliche Eigenschaften haben. Übertragungsspezifische Eigenschaften der Verbindungen sind z.B. Bandbreite und Latenz und ressourcenspezifische Eigen- schaften der Netzknoten sind z.B. Reaktionszeit, Ausfallsi- cherheit und Verfügbarkeit.
Eine hochmoderne Technologie zur Implementierung von Applika- tionen, die in modulare Softwarekomponenten unterteilt sein können, ist eine Containertechnologie (wie z.B. Docker). Softwarekomponenten können in Container gepackt werden, die auf einem oder mehreren Container-Clustern laufen können. Mo- dernste Technologien zur Verwaltung mehrerer Container auf einem Cluster sind Container-Orchestrierungstechnologien wie z.B. Kubernetes. Kubernetes verfügt über einen Scheduler, der so genannte Pods (eine Sammlung von Containern) einem Satz von Knoten innerhalb eines Clusters zuweist. In diesem Sprachgebrauch von Kubernetes ist ein Knoten ein Computersys- tem, physisch oder virtuell, das für den Betrieb von Contai- nern unter der Kontrolle von Kubernetes eingerichtet ist.
Ein Cluster ist ein Gesamtsystem, dass sich aus Nodes zusam- mensetzt. Kubernetes fasst Container-Images (Speicherabbild eines Containers), ihre Konfiguration und die Anzahl der be- nötigten Instanzen in Deployments zusammen. Die Parameter ei- nes Deployments überwacht Kubernetes selbsttätig. Das Tool sorgt dafür, dass die gewünschte Anzahl von Containern jeder- zeit läuft. Änderungen an der Software oder der Konfiguration verteilt Kubernetes mit einem Rollout. Kubernetes ist nicht für eine solche hierarchische Architektur, wie sie im indust- riellen Umfeld eingesetzt wird, konzipiert worden. Es werden bei der Verteilung der Pods keine fähigkeitsspezifischen, übertragungsspezifischen bzw. ressourcenspezifischen Eigen- schaften innerhalb der erwähnten Infrastruktur berücksich- tigt. In EP 19152467.7 ist ein Scheduler zum Abbilden von industri- ellen Anwendungen auf eine spezifische Infrastruktur schon vorgeschlagen worden.
In US 16/365,965 ist ein Verfahren zum Betreiben eines Con- tainer-Orchestrierungssystems schon vorgeschlagen worden.
Aus "Optimal Operator Placement for Distributed Stream Pro- cessing Applications", Valeria Cardellini et al, DEBS '16: Proceedings of the 10th ACM International Conference on Dis- tributed and Event-based Systems June 2016 Pages 69-80 (https://doi.org/10.1145/2933267.2933312) ist eine Applika- tionsverteilung bekannt. Die Zielfunktion der darin vorge- schlgenen gemischt ganzzahligen Optimierung (MILP) ist eine gewichtete Summe aus einer „ResponseTime" (Antwortzeit) und einer „Availability" (Verfügbarkeit), die Verbindungen zwi- schen den Knoten sind dabei fest vorgegeben.
MILP befasst sich mit der Optimierung linearer Zielfunktionen über eine Menge, die durch lineare Gleichungen und Unglei- chungen eingeschränkt ist. Sie ist Grundlage der Lösungsver- fahren der (gemischt-) ganzzahligen linearen Optimierung. Ein sogenannter Solver (Löser) ist eine Sammelbezeichnung für spezielle mathematische Computerprogramme, die mathematische Probleme numerisch lösen können. Im Zusammenhang mit MILP (mixed integer linear programming bzw. gemischt ganzzahlige lineare Programmierung) können für IP-Programme (ganzzahlige Optimierungsmodelle) Standardsolver wie z.B. CPLEX, Scip, Gurobi, Xpress verwendet werden.
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung gegenüber dem oben genannten Stand der Tech- nik insbesondere im industriellen Umfeld zu verbessern.
Die Aufgabe wird durch die in den unabhängigen Ansprüchen an- gegebenen Merkmale gelöst. In den abhängigen Ansprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt. Die Erfindung beansprucht ein rechnergestütztes Verfahren zum Verteilen von Softwarekomponenten einer oder mehreren Appli- kationen auf für deren Ausführung geeignete Infrastrukturkom- ponenten einer industriellen Infrastruktur, welche eine Men- ge von Infrastrukturkomponenten umfasst, welche aus einer Menge von Rechenknoten und einer Menge von Netzwerkknoten ge- bildet wird, wobei eine Applikation eine oder mehrere Soft- warekomponenten aufweist, die über Schnittstellen untereinan- der Daten austauschen und/oder übergeben, wobei die Rechenknoten jeweils mit wenigstens einer Infra- strukturkomponente über eine Verbindung verbindbar oder ver- bunden sind, welche zumindest Teil eines zur Infrastruktur gehörigen Kommunikationsnetzwerkes ist, an das die Rechenkno- ten angeschlossen sind, wobei die Rechenknoten jeweils fähig- keitsspezifische Eigenschaften, die Verbindungen jeweils übertragungsspezifische Eigenschaften aufweisen, dadurch gekennzeichnet, dass die Verteilung der Softwarekom- ponenten mit dem Ziel optimiert wird, dass möglichst viele Applikationen einer vorgebbaren Menge von Applikationen in der Infrastruktur unter der Voraussetzung zur Anwendung kom- men können, dass jede Softwarekomponente einer Applikation nur einem Rechenknoten, auf welchem sie unter Berücksichti- gung der fähigkeitsspezifischen Eigenschaften ausführbar ist, zugewiesen wird und dass für jede Schnittstelle zwischen zu- mindest zwei dieser zugewiesenen Softwarekomponenten eine Verbindung oder mehrere via ein oder mehrere Netzknoten hin- tereinander gekoppelte Verbindungen unter Berücksichtigung der übertragungsspezifischen und ressourcenspezifischen Ei- genschaften ausgewählt wird oder werden.
Die Optimierung kann mittels gemischt-ganzzahliger Optimie- rung durchgeführt werden.
Eine erste Infrastrukturkomponente (Startkomponente bzw. Source) ist jeweils über eine Verbindung bzw. über mehrere Verbindungen mit einer zweiten Infrastrukturkomponente (Ziel- komponenten bzw. Destination) für einen Austausch (d.h. bidi- rektional) bzw. zur Übergabe (d.h. unidirektional) von Daten verbunden. In diesem Kontext werden diese Verbindung(en) als (Netzwerk-)Pfad von der ersten bis zur zweiten Infrastruktur- komponente genannt. Vorzugsweise ist jeder Pfad gerichtet.
Wenn Daten von einem ersten Rechenknoten zu einem zweiten Re- chenknoten über eine oder mehrere gekoppelte Verbindungen übergeben werden, dann sollten umgekehrt vom zweiten Rechen- knoten zum ersten Rechenknoten Daten über dieselbe Verbindung oder dieselben gekoppelten Verbindung übergeben werden.
Die Schnittstellen können jeweils schnittstellenspezifische Eigenschaften aufweisen.
Bei Auswahl mehrerer gekoppelten Verbindungen für eine Schnittstelle die Summe der Werte der übertragungsspezifi- schen Eigenschaften über die mehreren Verbindungen den ent- sprechenden oder vergleichbaren Wert der schnittstellenspezi- fischen Eigenschaft der Schnittstelle unterschreiten oder identisch sein muss. Mit anderen Worten ausgedrückt: Jeder Pfad (eine Verbindung bzw. mehrere gekoppelte Verbindungen) hat beispielsweise eine Latenz als übertragungsspezifische Eigenschaft. Jede Schnittstelle hat eine maximale Latenz als entsprechende schnittstellenspezifische Eigenschaft. Wenn ei- ne Schnittstelle über einen Pfad läuft, d.h. Daten über den Pfad leitet, muss die Latenz des Pfades kleiner gleich der maximalen Latenz der Schnittstelle sein.
Wenn mehrere Schnittstellen über die gleiche Verbindung ge- führt werden bzw. Daten über die gleiche Verbindung leiten sollen, dann muss die Summe der Werte der schnittstellenspe- zifischen Eigenschaften über die mehreren Schnittstellen den entsprechenden oder vergleichbaren Wert der übertragungsspe- zifischen Eigenschaft der gleichen Verbindung unterschreiten oder identisch sein.
Jede Verbindung hat eine maximale Bandbreite als übertra- gungsspezifische Eigenschaft, die nicht überschritten werden darf. Demnach muss für jede einzelne Verbindung im Kommunika- tionsnetzwerk gelten: Die Summe der Bandbreiten aller Schnittstellen als schnittstellenspezifische Eigenschaften, die über einen Pfad laufen bzw. dem Pfad zugeordnet sind), der diese betrachtete Verbindung benutzt, muss kleiner oder gleich der Bandbreite der betrachteten Verbindung als ent- sprechende übertragungsspezifische Eigenschaft sein.
Die Netzwerkknoten können jeweils ressourcenspezifische Ei- genschaften aufweisen, die bei der Auswahl der einen oder mehreren Verbindungen berücksichtigt werden.
Es kann eine Gewichtung bei der Berücksichtigung der fähig- keitsspezifischen, der übertragungsspezifischen und/oder der ressourcenspezifischen Eigenschaften in die Optimierung ein- gehen.
Alle Softwarekomponenten einer jeden Applikation, die zur An- wendung kommen bzw. in der Infrastruktur installiert bzw. ausgeführt werden soll, werden demnach jeweils einem Rechen- knoten zugewiesen. Für den Datenaustausch/-übergabe der Schnittstellen müssen entsprechende Netzwerkpfade in der Netzwerkinfrastruktur gefunden werden. Dabei können jeweils mehrere mögliche Netzwerkpfade zur Auswahl stehen. Die Ver- teilung bzw. Platzierung der Softwarekomponenten und das Rou- ting der Daten im Kommunikationsnetzwerk, erfolgt derart, dass alle Anforderungen der Applikationen, des Kommunikati- onsnetzes und der Infrastrukturkomponenten erfüllt werden.
Die oben genannten kennzeichnenden Schritte können wiederholt werden.
Die Infrastruktur umfasst hierbei zumindest ein Kommunikati- onsnetzwerk und die Infrastrukturkomponenten. Rechenknoten können etwa Fertigungsmaschinen, (IoT-)Geräte, Terminal, PCs und ggf. Sensoren bzw. Aktoren sein. Die Kopplung bzw. die Verbindung von Rechen- bzw. Netzknoten kann hierbei ggf. phy- sikalisch bidirektional (Datenaustausch) oder unidirektional (Datenübergabe) ausgebildet sein.
Der Datenaustausch bzw. die Datenübergabe kann auch nur ein- fache Nachrichten bzw. ggf. nur das Senden bzw. Empfangen von einfachen Signalen umfassen. Hierbei kann der Datenaustausch verdrahtet oder drahtlos mittels gängiger Funktechnik WLAN, Bluetooth, NFC, Mobilfunk etc. ausgeprägt sein kann.
Die Applikation kann firm- und/oder softwaretechnisch als App oder auch als Container ausgeprägt sein. Container betten den Softwarecode einer Applikation in einen sicheren Speicherbe- reich ein, zu dem es dann nur einen ganz geregelten, ggf. verschlüsselten bzw. zertifizierten Zugang von außen gibt.
Bei der Verteilung der Softwarekomponenten können auch kryp- tographischspezifische Eigenschaften der Infrastrukturkompo- nenten berücksichtigt werden.
Kryptographische Eigenschaften können durch eine Art Härtemaß hinsichtlich einer Wahrscheinlichkeit, dass von außen ein An- griff erfolgreich ist, ausgedrückt werden. So könnte ein asymmetrisches Verschlüsselungsverfahren ein anderes Härtemaß aufweisen als ein symmetrisches Verschlüsselungsverfahren. Weitere neben vielen anderen kryptographische Schutzmaßnahmen sind Signaturverfahren und ggf. Zertifikate. Auch diesen kann ein Härtemaß zugewiesen werden.
Damit kann bei der Auswahl der Verbindung oder der mehreren Verbindungen nicht nur der Durchsatz, sondern auch die Fähig- keit eines oder mehrerer Knoten dieser Verbindung(en), An- griffe von außen abzuwehren, ein Rolle spielen.
Es müssen nicht alle Applikationen zur Anwendung kommen bzw. verteilt werden. Applikationen werden nur mit allen Software- komponenten verteilt. Wenn die Softwarekomponenten einer Ap- plikation einer vorgebbaren disjunkte Unter- bzw. Teilmenge bzw. Gruppe von Softwarekomponenten derselben Applikation an- gehören, dann sind diese Softwarekomponenten unterschiedli- chen Rechenknoten zuzuordnen. Damit können die fähigkeitsspe- zifischen Eigenschaften der Rechenknoten optimal genutzt wer- den.
Ein weiterer Aspekt der Erfindung ist eine Vorrichtung, ins- besondere ein Scheduler, zum Verteilen von Softwarekomponen- ten einer oder mehreren Applikationen auf für deren Ausfüh- rung geeignete Infrastrukturkomponenten einer industriellen Infrastruktur, welche eine Menge von Infrastrukturkomponenten umfasst, welche aus einer Menge von Rechenknoten (C) und ei- ner Menge von Netzwerkknoten (N) gebildet wird, wobei eine Applikation eine oder mehrere Softwarekomponenten aufweist, die über Schnittstellen (I01 bis I03, I13) untereinander Daten austauschen und/oder übergeben, wobei die Rechenknoten jeweils mit wenigstens einer Infra- strukturkomponente über eine Verbindung verbindbar oder ver- bunden sind, welche zumindest Teil eines zur Infrastruktur gehörigen Kommunikationsnetzwerkes ist, an das die Rechenkno- ten angeschlossen sind, wobei die Rechenknoten jeweils fähig- keitsspezifische Eigenschaften, die Verbindungen jeweils übertragungsspezifische Eigenschaften aufweisen, gekennzeich- net durch eine Optimierungskomponente, die dazu ausgelegt ist, die Verteilung der Softwarekomponenten mit dem Ziel zu optimieren, dass möglichst viele Applikationen einer vorgeb- baren Menge von Applikationen in der Infrastruktur unter der Voraussetzung zur Anwendung kommen können, dass jede Soft- warekomponente einer Applikation nur einem Rechenknoten, auf welchem sie unter Berücksichtigung der fähigkeitsspezifischen Eigenschaften ausführbar ist, zugewiesen wird und dass für jede Schnittstelle zwischen zumindest zwei dieser zugewiese- nen Softwarekomponenten eine Verbindung oder mehrere via ein oder mehrere Netzknoten hintereinander gekoppelte Verbindun- gen unter Berücksichtigung der übertragungsspezifischen und ressourcenspezifischen Eigenschaften ausgewählt wird oder werden. Die Vorrichtung und das Computerprogramm (produkte) können entsprechend des oben beschriebenen Verfahrens bzw. der Wei- terbildungen/Ausführungsformen des vorliegenden Verfahrens aus- bzw. weitergebildet sein.
Vorteile der Erfindung sind:
Mit der Verteilung der Softwarekomponenten auf Rechenknoten wird jeweils der beste Netzwerkpfad aus einer Menge möglicher Netzwerkpfade für den Datenaustausch zweier Softwarekomponen- ten bestimmt. Es sind somit mehrere Wege über Netzwerkpfade von einem ersten Rechenknoten (Source) zu einem zweiten Re- chenknoten (Destination) möglich, sofern die Vorwärts- und Rückwärts-Kommunikation zweier Rechenknoten über den gleichen Netzwerkpfad verläuft. Damit können nicht nur Bandbreite aus- genutzt und die Latenzzeit verringert werden, sondern ein nahtloser Übergang zwischen den oben beschriebenen Architek- turebenen geschaffen werden.
Durch die in einer Weiterbildung der Erfindung beschriebenen MILP-Ansatz lassen sich effizient optimale Lösungen finden, die beide Anforderungen Verteilung möglichst vieler Applika- tionen unter Berücksichtigung der übertragungsspezifischen Eigenschaften im Netzwerk vereinen.
Des Weiteren wird ein Computerprogramm (produkt) umfassend Programm-Code, der von mindestens einem Prozessor ausgeführt werden kann und der bewirkt, dass der mindestens einen Pro- zessor das erfindungsgemäße Betriebsverfahren und dessen Aus- führungsformen ausführt. Das Computerprogramm kann auf einem Rechner z.B. in der Cloud, Server und/oder PC ablaufen oder als Computerprogrammprodukt auf einem computerlesbaren Medium gespeichert sein. Dabei bringt das Computerprogramm die Lauf- zeitumgebung zum Ablauf.
Zusätzlich kann eine Variante des Computerprogramm (produkte)s mit Programmbefehlen zur Konfiguration eines Erstellungsge- räts, beispielsweise ein 3D-Drucker, ein Computersystem oder eine zur Erstellung von Prozessoren und/oder Geräten geeigne- te Herstellungsmaschine sein.
Die Mittel können Hardware-, Firmware und/oder Softwareein- heiten bzw. -module sein.
Sofern es in der nachfolgenden Beschreibung nicht anders an- gegeben ist, beziehen sich die Begriffe "durchführen", "be- rechnen", "rechnergestützt", "rechnen", "feststellen", "gene- rieren", "konfigurieren", "rekonstruieren" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verar- beitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Da- ten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impul- se. Insbesondere sollte der Ausdruck "Computer" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Compu- ter können somit beispielsweise Personal Computer, Server, speicherprogrammierbare Steuerungen (SPS), Handheld-Computer- Systeme, Pocket-PC-Geräte, Mobilfunkgeräte und andere Kommu- nikationsgeräte, die rechnergestützt Daten verarbeiten kön- nen, Prozessoren und andere elektronische Geräte zur Daten- verarbeitung sein.
Unter „rechnergestützt" kann im Zusammenhang mit der Erfin- dung beispielsweise eine Implementierung des Verfahrens ver- standen werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt.
Unter Bereitstellen kann verstanden werden, dass die Applika- tion und/oder Fähigkeitspakete selbst den oben genannten Mit- teln z.B. in Form einer Verarbeitungseinheit bzw. CPU bzw. einer Kontrolleinheit (Control Unit) bereitgestellt wird. Un- ter Bereitstellen kann ebenso verstanden werden, dass der Verarbeitungseinheit eine Operation bereitgestellt wird, wo- bei die Operation die bereitgestellte Applikation selbst sein kann und/oder die Fähigkeitspakete zur Steuerung und/oder Ausführung der Konfiguration verwendet.
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusam- menhang mit der folgenden Beschreibung der Ausführungsbei- spiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigt:
Figur 1 schematisch die eingangs erwähnte Applikation und
Figur 2 schematisch eine industrielle Infrastruktur mit Kommunikationsnetzwerk .
Figur 1 zeigt eine industrielle Applikation A besteht aus mehreren (Software-)Komponenten (Workloads, WL), welche Daten über Schnittstellen (Interfaces) austauschen. Jede Komponente wird durch einen Satz von Parametern charakterisiert, die die Anforderungen, Einschränkungen und das Verhalten als Eigen- schaft dieser beschreiben. Dazu gehören z.B. die Rechenkom- plexität (CPU), Speicherverbrauch (RAM), etc. Jede Schnitt- stelle wird ebenfalls durch einen Satz von Parametern bzw. schnittstellenspezifischen Eigenschaften charakterisiert, die den Datenfluss bzw. den Datendurchsatz auf dieser Schnitt- stelle charakterisieren. Dies kann zum Beispiel die benötigte Bandbreite bzw. die maximal zulässige Latenz sein.
Figur 2 zeigt schematisch eine Infrastruktur, welche die re- levanten Infrastrukturkomponenten und der Eigenschaften, auf der die industriellen Applikationen verteilt und ausgeführt werden, umfasst. Die Infrastruktur besteht aus Rechenknoten C1 bis C16, Verbindungen L1 bis L24 und Netzwerkknoten N1 bis N8.
Nach dem Industriestandard - wie eingangs erwähnt ISA-95 - können im Beispiel die Rechenknoten C1 bis C6 mit dem Netz- knoten NI eine Domäne bzw. Fertigungszelle und die Rechenkno- ten C7 bis C12 mit dem Netzknoten N2 eine weitere Domäne bzw. Fertigungszelle bilden. Nach dem ISA-95 Standard gehören dann diese beiden Fertigungszellen zur Fertigungsebene bzw. zur Steuerungs- und Feldebene gehören. Die Rechenknoten C13 und C14 mit dem Netzknoten N7 können im Beispiel zur Betriebs- leitebene gehören. Die Rechenknoten C15 und C16 mit Netzkno- ten N8 können im Beispiel zur Unternehmensebene gehören. Die Netzknoten N2, N7 und N8 können hierbei jeweils als sogenann- te EDGE ausgebildet sein. Rechenknoten C15 kann hierbei Cloud-Dienste anbieten und Rechenknoten C16 kann ein Daten- center sein. Im Beispiel können dementsprechend die Netzkno- ten N3 bis N6 ein Kommunikationsnetzwerk bilden, das drahtge- bunden und/oder drahtlos ausgebildet sein kann. Hierbei ist die Verwendung von Kommunikationsstandards wie Mobilfunk (z.B. LTE, 5G etc.), WIFI, LAN und ein Intra- bzw. Internet denkbar.
Jeder Rechenknoten hat eine Reihe von fähigkeitsspezifischen Eigenschaften wie die Arbeitsspeicherkapazität oder die Re- chenleistung. Verbindungen (oder auch Links genannt) entspre- chen relevanten Netzwerkverbindungen in der beschriebenen Infrastruktur. Jede Verbindung wird durch eine Reihe von Pa- rametern bzw. Eigenschaften charakterisiert, wie Bandbreite und Latenzcharakteristiken. Ein Netzwerkknoten verknüpft zwei oder mehrere Verbindungen. Ein Netzwerkknoten abstrahiert normalerweise physische oder virtuelle Netzwerkgeräte wie Switches oder Router. Ein Netzwerkknoten kann neben der Si- cherstellung der Konnektivität von Verbindungen auch weitere Eigenschaften haben, die das Netzwerk beeinflussen, wie eine minimale Latenzzeit.
Die Vorrichtung, z.B. der Scheduler, welcher als Clouddienst ausgestaltet sein kann, weist beispielsweise eine Optimie- rungskomponenten auf, die eine modellierte Optimierung auf- weist. Mit Hilfe des Optimierungsmodells, vorzugsweise ein gemischt-ganzzahliges Optimierungsmodell (MILP), werden die Applikationen auf ein Kommunikationsnetzwerk der Infrastruk- tur verteilt, welches durch eine Menge an Infrastrukturkompo- nenten bzw. Knoten (Nodes={n1,n2,..}) und eine Menge an Ver- bindungen (Links={(n1,n2), ...}) gekennzeichnet ist. Die Menge der Knoten (Nodes), auch Infrastrukturkomponenten genannt, enthält sowohl die Rechenknoten als auch die Netzwerkknoten. Die Verbindungen sind vorzugsweise gerichtet, d.h, ist {n1, n2) eine Vorwärtsverbindung dann ist (n2,n1) die entspre- chende Rückwärtsverbindung. Eine Abfolge mehrerer Knoten, die jeweils eine Verbindung besitzen bzw. über Verbindungen mit- einander gekoppelt sind, wird Pfad genannt. Ebenso ist jeder Pfad gerichtet. Ein Knoten in einem Pfad p wird mit (node = node(p)) bezeichnet. Kreise in einem Pfad sind ausgeschlos- sen. Jeder Pfad hat einen Startknoten, den wir mit source (=source(p)) bezeichnen und einen Zielknoten destination (= dest (p)). Zwischen jedem Paar von Knoten n1, n2 kann es meh- rere Pfade im Netzwerk geben, d.h., das Netzwerk kann Kreise enthalten, wie es in Figur 2 z.B. mit den Knoten N3 bis N6 angedeutet ist.
Das Ziel (Zielfunktion) ist so viele Applikationen wie mög- lich in der Infrastruktur zu platzieren. Eine Zuordnung bzw. eine Verteilung von einer oder von mehreren Applikationen kann erfolgen, wenn noch keine Applikationen zuvor zugeordnet wurden oder wenn schon Applikationen auf Rechenknoten schon zuvor zugewiesen wurden und diese deshalb schon für ein ge- wisse Auslastung in der Infrastruktur sorgen.
In der MILP-Formulierung gelten die folgenden Bezeichnungen:
Indices:
WLs Menge der zu verteilenden (Software-) Komponenten (Workloads)
Nodes Menge der Rechen- und Netzwerkknoten
NodesForWL (w) Menge der möglichen Knoten, auf denen Komponente w platziert werden kann
WLsForNode (n) Menge der möglichen Komponenten, die auf Knoten n platziert werden können Paths (s,d) Menge der Pfade im Netzwerk mit Startkno- ten s (oder source) und Zielknoten d (oder dest). Es kann mehrere Pfade von einem Startknoten zu einem Zielknoten ge- ben, d.h. Kreise sind im Netzwerk er- laubt. Zudem muss die Richtung der Pfade beachtet werden.
Paths Menge alle Pfade im Netzwerk d.h. die Vereinigung aller Mengen Paths(s,d)
BackForwardPaths Menge aller Tupel von Pfaden (p1, p2), die einen Vorwärts- und einen Rückwärts- pfad bilden d.h. der Startknoten source(p1) von Pfad p1 ist der Zielknoten dest(p2) von Pfad p2 und der Startknoten source(p2) von Pfad p2 ist der Zielknoten dest(p1) von Pfad p1
PathsWithLink (n1 n2) Menge alle Pfade im Netzwerk, die die Verbindung (n1,n2) zwischen Knoten n1 und n2 benutzen
Int Menge der Schnittstellen (w1, w2)
Apps Menge der Applikationen
WLsOfApp (a) Menge der Komponenten, aus der eine App a besteht Groups Menge von Gruppen. Eine Gruppe besteht aus mehreren Komponenten. Komponenten ei- ner Gruppe dürfen nicht auf den gleichen Knoten platziert werden.
WLsOfGroup (g) Komponenten, die der Gruppe g angehören.
Parameter:
WLcpu (w) Rechenleistung (CPU), die Komponente w verbraucht WLram (w) Arbeitsspeicher (RAM), den Komponente w verbraucht
NodeRAM (n) Arbeitsspeicherkapazität (RAM), die Knoten n zur Verfügung stellt
NodeCPU (n) Rechenleistung (CPU), die Knoten n zur
Verfügung stellt
LinkBandwidth (n1, n2) Zur Verfügung stehende Bandbreite auf der Verbindung zwischen Knoten n1 und n2
IntBandwidth (w1, w2) Bandbreite, die von Schnittstelle
(w1, w2) benötigt wird
PathLatency(p) Latenz des Pfades p
IntLatency(w1, w2) Maximale Latenz für die
Schnittstelle (w1, w2)
Variablen : setupw,n Zuordnung von Komponente w zu Knoten n. In diesem Fall nimmt die Variable den Wert 1 an, anderenfalls den Wert 0. pathw1,w2,p Zuordnung der Schnittstelle (w1, w2) zu dem Pfad p. Dabei muss w1 dem Startknoten source (p) des Pfades p und w2 dem Zielknoten dest (p) zuordenbar sein d.h. source(p) ∈ NodesForWL(w1) und dest(p)∈ NodesForWL(w2) . Die Variable nimmt den Wert 1 an, falls für das Interface (w1, w2) im Netzwerk der Pfad p be- nutzt wird, andernfalls 0.
MI LP-Formulierung:
Maximierungszielfunktion :
Nebenbedingungen :
(1)Für jeden Knoten darf dessen CPU-Kapazität nicht überschritten werden:
(2) Für jeden Knoten darf dessen RAM-Kapazität nicht überschritten werden:
(3) Jede Komponente darf höchstens einem Knoten zugewiesen werden:
(4) Entweder sind alle Komponenten einer App auf Knoten im Netzwerk verteilt oder gar keine davon:
(5) Wenn ein Paar von Komponenten einem Paar von Knoten im Netzwerk zugewiesen wird, dann muss auch ein Pfad zwischen den ausgewählten Knoten aktiv sein, der von der Schnittstelle der beiden Komponenten benutzt werden kann. Dazu werden folgende Pfadrestriktionen für alle Komponenten w1,w2 ∈ WLs und alle Knotenpaare source, dest ∈ Nodes definiert, für die (w1,w2) ∈ Int, source ∈ NodesForWL(w1), dest E NodesForWL(w2) gilt und für die zwischen dem Knoten source und dem Knoten dest ein Pfad existiert, d.h. Paths (source, dest) ≠ 0,Paths(source, dest) Paths :
(6)Wenn ein Pfad durch Ungleichungen (5) aktiviert wird, so muss auch der entsprächende Rückwärtspfad aktiviert sein:
(7) Die maximale zur Verfügung stehende Bandbreite einer jeden Verbindung wird durch die von den Schnittstellen benötigte Bandbreite, die diese Verbindung benutzen, nicht überschritten, d.h., für alle (n1,n2) ∈ Links mit n1,n2 ∈ Nodes :
(8)Ein Pfad p darf nur für eine Schnittstelle (w1,w2) gewählt werden, wenn die Latenz des Pfades die maximale Latenz der Schnittstelle nicht überschreiten. (9) Komponenten, die einer Gruppe angehören, müssen auf un- terschiedliche Knoten verteilt werden, bzw., es dürfen keine zwei Komponenten einer Gruppe dem gleichen Knoten zugeordnet sein:
(10) Variablenrestriktionen:
Der Datenaustausch zwischen mehreren Applikationen kann durch Hinzufügen weiterer linearer Ungleichungen modelliert werden.
Die fähigkeitsspezifischen Eigenschaften - wie z.B. die Ausgangsauslastung der Rechenknoten (z.B. CPU, RAM) sowie die übertragungsspezifischen Eigenschaften z.B. Bandbreite der Pfade wird im MIP-Modell berücksichtigt. Bei der Auswahl der Pfade kann bei den übertragungsspezifischen Eigenschaften auch die zugrundliegende Übertragungstechnologie der Verbindung (en) eine Rolle spielen. Die
Übertragungstechnologie kann drahtlos, d.h. funkbasiert (z.B. Mobilfunk, Wlan), oder als Art Ad hoc Verbindung (meist z.B. Bluetooth, NFC, Zigbee, Infrarot) oder als drahtgebunde Verbindung (z.B. Local, Wide Area bzw. Metropolitan Area Netzwork) ausgebildet sein. So gilt z.B. eine Funkverbindung als weniger angriffts- bzw. ausfallsicher als eine drahtgebundene Verbindung. Dafür ist sie meist auch in Gegenden oder Domänen vorhanden, in denen kein Kabel verlegt ist. Eine Kostenfunktion kann mehrere Optimierungskriterien kombi- nieren, wie z.B. aufwandsorientierte Kostenfaktoren für die Infrastrukturkomponenten (z.B. der Rechenknoten, Netzwerkver- bindungen) oder Leistungskriterien der Applikationen wie die ressourcenspezifischen bzw. übertragungsspezifischen Eigen- schaften (z.B. Verfügbarkeit, Latenzzeit). Die Zielfunktion kann aus einer gewichteten Summe der einzelnen Faktoren bzw. Kriterien bestehen. Dadurch kann die Optimierung anwendungs- spezifisch konfiguriert werden.
In einer Ausführungsform kann zumindest ein Teil der indust- riellen Infrastruktur als Blockkette implementiert sein. Un- ter einer Blockkette ist hierbei eine kontinuierlich erwei- terbare Liste von Datensätzen zu verstehen, „Blöcke" genannt, die mittels kryptographischer Verfahren miteinander verkettet sind. Jeder Block enthält dabei typischerweise ei- nen kryptographisch sicheren Hash (Streuwert) des vorhergeh- endenden Bocks, einen Zeitstempel und Transaktionsdaten. Die Transaktionsdaten können auch in genannte Smart Contracts eingebettet sein, in denen eine Durchführung einer Transakti- on unter den Kommunikationspartnern festgelegt werden. Dies erhöht die Sicherheit.
Im Beispiel bilden die auf die Rechenknoten zu verteilenden bzw. verteilten Softwarekomponenten die Blöcke einer Block- kette. Die Kommunikation bzw. der Datenaustausch werden mit- tels Transaktionen durchgeführt. Mit Hilfe der erfindungsge- mäßen Optimierung werden die Pfade bestimmt, wobei die Knoten entlang der bestimmten Pfade weiter Blöcke der Blockkette zu bilden. Im Beispiel könnte eine Blockkette von Knoten C1 bis Knoten C15 über die Knoten N1, N2, N3, N4, N5, N8 gebildet werden.
Es können hierbei nicht nur die fähigkeitsspezifischen, über- tragungsspezifischen und ressourcenspezifischen Eigenschaf- ten, sondern auch kryptographischspezifische Eigenschaften berücksichtigt werden. Kryptographische Eigenschaften können durch eine Art Härtemaß hinsichtlich einer Wahrscheinlichkeit, dass von außen ein An- griff erfolgreich ist, ausgedrückt werden. So könnte ein asymmetrisches Verschlüsselungsverfahren ein anderes Härtemaß aufweisen als ein symmetrisches Verschlüsselungsverfahren. Auch die Wahl der Hashfunktion, wie sie bei der Blockkette verwendet wird, könnte ein gewisses Härtemaß ausmachen. Weitere neben vielen anderen kryptographische Schutzmaßnahmen sind Signaturverfahren und ggf. Zertifikate. Auch diesen kann ein Härtemaß zugewiesen werden.
Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh- rungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele einge- schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
Die Implementierung der vorstehend beschriebenen Laufzeitum- gebung oder Betriebsverfahrensabläufe kann anhand von In- struktionen erfolgen, die auf computerlesbaren Speichermedien oder in flüchtigen Computerspeichern (im Folgenden zusammen- fassend als computerlesbare Speicher bezeichnet) vorliegen. Computerlesbare Speicher sind beispielsweise flüchtige Spei- cher wie Caches, Puffer oder RAM sowie nichtflüchtige Spei- cher wie Wechseldatenträger, Festplatten, usw.
Die vorstehend beschriebenen Funktionen oder Verfahrens- schritte können dabei in Form zumindest eines Instruktions- satzes in/auf einem computerlesbaren Speicher vorliegen. Die Funktionen oder Schritte sind dabei nicht an einen bestimmten Instruktionssatz oder an eine bestimmte Form von Instrukti- onssätzen oder an ein bestimmtes Speichermedium oder an einen bestimmten Prozessor oder an bestimmte Ausführungsschemata gebunden und können durch Software, Firmware, Microcode, Hardware, Prozessoren, integrierte Schaltungen usw. im Al- leinbetrieb oder in beliebiger Kombination ausgeführt werden. Dabei können verschiedenste Verarbeitungsstrategien zum Ein- satz kommen, beispielsweise serielle Verarbeitung durch einen einzelnen Prozessor oder Multiprocessing oder Multitasking oder Parallelverarbeitung usw.
Die Instruktionen können in lokalen oder zentralen Speichern abgelegt sein, es ist aber auch möglich, die Instruktionen auf einem entfernten System abzulegen und darauf via Netzwerk zuzugreifen.
Der Begriff "Prozessor", "zentrale Signalverarbeitung", "Steuereinheit" oder "Datenauswertemittel ", wie hier verwen- det, umfasst Verarbeitungsmittel im weitesten Sinne, also beispielsweise Server, Universalprozessoren, Grafikprozesso- ren, digitale Signalprozessoren, anwendungsspezifische inte- grierte Schaltungen (ASICs), programmierbare Logikschaltungen wie FPGAs, diskrete analoge oder digitale Schaltungen und be- liebige Kombinationen davon, einschließlich aller anderen dem Fachmann bekannten oder in Zukunft entwickelten Verarbei- tungsmittel. Prozessoren können dabei aus einer oder mehreren Einrichtungen bzw. Einheiten bestehen, die in eine Vorrich- tung integriert sein können. Besteht ein Prozessor aus mehre- ren Einrichtungen, können diese zur parallelen oder sequenti- ellen Verarbeitung bzw. Ausführung von Instruktionen ausge- legt bzw. konfiguriert sein.

Claims

Patentansprüche
1. Rechnergestütztes Verfahren zum Verteilen von Softwarekom- ponenten einer oder mehreren Applikationen auf für deren Aus- führung geeignete Infrastrukturkomponenten einer industriel- len Infrastruktur, welche eine Menge von Infrastrukturkompo- nenten umfasst, welche aus einer Menge von Rechenknoten (C) und einer Menge von Netzwerkknoten (N) gebildet wird, wobei eine Applikation eine oder mehrere Softwarekomponenten auf- weist, die über Schnittstellen (I01 bis I03, I13) untereinander Daten austauschen und/oder übergeben, wobei die Rechenknoten jeweils mit wenigstens einer Infrastrukturkomponente über ei- ne Verbindung verbindbar oder verbunden sind, welche zumin- dest Teil eines zur Infrastruktur gehörigen Kommunikations- netzwerkes ist, an das die Rechenknoten angeschlossen sind, wobei die Rechenknoten jeweils fähigkeitsspezifische Eigen- schaften, die Verbindungen jeweils übertragungsspezifische Eigenschaften aufweisen, dadurch gekennzeichnet, dass die Verteilung der Softwarekom- ponenten mit dem Ziel optimiert wird, dass möglichst viele Applikationen einer vorgebbaren Menge von Applikationen in der Infrastruktur unter der Voraussetzung zur Anwendung kom- men können, dass jede Softwarekomponente einer Applikation nur einem Rechenknoten, auf welchem sie unter Berücksichti- gung der fähigkeitsspezifischen Eigenschaften ausführbar ist, zugewiesen wird und dass für jede Schnittstelle zwischen zu- mindest zwei dieser zugewiesenen Softwarekomponenten eine Verbindung oder mehrere via ein oder mehrere Netzwerkknoten hintereinander gekoppelte Verbindungen unter Berücksichtigung der übertragungsspezifischen und ressourcenspezifischen Ei- genschaften ausgewählt wird oder werden.
2. Verfahren nach dem vorhergehenden Anspruch, dadurch ge- kennzeichnet, dass alle Softwaresoftwarekomponenten einer Ap- plikation, die zur Anwendung kommen soll, je einem Rechenkno- ten zugewiesen wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Auswahl mehrerer gekoppelten Verbin- dungen für eine Schnittstelle die Summe der Werte der über- tragungsspezifischen Eigenschaften über die mehreren Verbin- dungen den entsprechenden oder vergleichbaren Wert der schnittstellenspezifischen Eigenschaft der Schnittstelle un- terschreiten oder identisch sein muss.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass, wenn mehrere Schnittstellen über die gleiche Verbindung geführt werden sollen, dann muss die Summe der Werte der schnittstellenspezifischen Eigenschaften über die mehreren Schnittstellen den entspre- chenden oder vergleichbaren Wert der übertragungsspezifischen Eigenschaft der gleichen Verbindung unterschreiten oder iden- tisch sein.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass und die Netzwerkknoten jeweils ressour- censpezifische Eigenschaften aufweisen, die bei der Auswahl der einen oder mehreren Verbindungen berücksichtigt werden.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei der Verteilung der Softwarekomponen- ten auch kryptographischspezifische Eigenschaften der Infra- strukturkomponenten berücksichtigt werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Optimierung mittels gemischt- ganzzahliger Optimierung durchgeführt wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenn Daten von einem ersten Rechenknoten zu einem zweiten Rechenknoten über eine oder mehrere gekop- pelte Verbindungen übergeben werden, dann werden umgekehrt vom zweiten Rechenknoten zum ersten Rechenknoten Daten über dieselbe Verbindung oder dieselben gekoppelten Verbindung übergeben.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Gewichtung bei der Berücksichtigung der fähigkeitsspezifischen, der übertragungsspezifischen und/oder der ressourcenspezifischen Eigenschaften in die Op- timierung eingeht.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Softwarekomponenten einer Applikation zu vorgebbaren, unterschiedlichen Teilmengen ge- hören, wobei alle Softwarekomponenten einer Teilmenge jeweils zu unterschiedlichen Rechenknoten zugewiesen werden.
11. Vorrichtung zum Verteilen von Softwarekomponenten einer oder mehreren Applikationen auf für deren Ausführung geeigne- te Infrastrukturkomponenten einer industriellen Infrastruk- tur, welche eine Menge von Infrastrukturkomponenten umfasst, welche aus einer Menge von Rechenknoten (C) und einer Menge von Netzwerkknoten (N) gebildet wird, wobei eine Applikation eine oder mehrere Softwarekomponenten aufweist, die über Schnittstellen (I01 bis I03, I13) untereinander Daten austau- schen und/oder übergeben, wobei die Rechenknoten jeweils mit wenigstens einer Infrastrukturkomponente über eine Verbindung verbindbar oder verbunden sind, welche zumindest Teil eines zur Infrastruktur gehörigen Kommunikationsnetzwerkes ist, an das die Rechenknoten angeschlossen sind, wobei die Rechenkno- ten jeweils fähigkeitsspezifische Eigenschaften, die Verbin- dungen jeweils übertragungsspezifische Eigenschaften aufwei- sen, gekennzeichnet durch eine Optimierungskomponente, die dazu ausgelegt ist, die Ver- teilung der Softwarekomponenten mit dem Ziel zu optimieren, dass möglichst viele Applikationen einer vorgebbaren Menge von Applikationen in der Infrastruktur unter der Vorausset- zung zur Anwendung kommen können, dass jede Softwarekomponen- te einer Applikation nur einem Rechenknoten, auf welchem sie unter Berücksichtigung der fähigkeitsspezifischen Eigenschaf- ten ausführbar ist, zugewiesen wird und dass für jede Schnittstelle zwischen zumindest zwei dieser zugewiesenen Softwarekomponenten eine Verbindung oder mehrere via ein oder mehrere Netzknoten hintereinander gekoppelte Verbindungen un- ter Berücksichtigung der übertragungsspezifischen und res- sourcenspezifischen Eigenschaften ausgewählt wird oder wer- den.
12. Vorrichtung nach dem vorhergehenden Anspruch, dadurch ge- kennzeichnet, dass alle Softwaresoftwarekomponenten einer Ap- plikation, die zur Anwendung kommen soll, je einem Rechenkno- ten zugewiesen werden können.
13. Computerprogrammprodukt, das in einen Speicher der Vor- richtung, insbesondere nach einem der vorherigen Vorrich- tungsansprüchen, ladbar ist, umfassend Programmcodeteile, die dazu ausgelegt sind, das Verfahren nach einem der vorherge- henden Verfahrensansprüchen auszuführen.
EP21728446.2A 2020-05-29 2021-05-06 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur Pending EP4139799A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20177414.8A EP3916553A1 (de) 2020-05-29 2020-05-29 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur
PCT/EP2021/062025 WO2021239433A1 (de) 2020-05-29 2021-05-06 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur

Publications (1)

Publication Number Publication Date
EP4139799A1 true EP4139799A1 (de) 2023-03-01

Family

ID=70968742

Family Applications (2)

Application Number Title Priority Date Filing Date
EP20177414.8A Withdrawn EP3916553A1 (de) 2020-05-29 2020-05-29 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur
EP21728446.2A Pending EP4139799A1 (de) 2020-05-29 2021-05-06 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP20177414.8A Withdrawn EP3916553A1 (de) 2020-05-29 2020-05-29 Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur

Country Status (2)

Country Link
EP (2) EP3916553A1 (de)
WO (1) WO2021239433A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005514A (ja) 2015-06-10 2017-01-05 富士通株式会社 無線装置
US20190007258A1 (en) * 2017-06-29 2019-01-03 Cisco Technology, Inc. Workload placement and resource allocation for media production data center

Also Published As

Publication number Publication date
WO2021239433A1 (de) 2021-12-02
EP3916553A1 (de) 2021-12-01

Similar Documents

Publication Publication Date Title
DE102020125219A1 (de) End-to-end -dienstqualität in edge-computing -umgebungen
DE102018120345A1 (de) Hochleistungssteuerungsserversystem
EP3320406B1 (de) Freigabe eines verarbeitungsschrittes für ein verarbeitungsobjekt
DE112015001256T5 (de) Verteilte Big Data in einem Prozesssteuerungssystem
DE102010044529B4 (de) Autonomes speicher-sub-system mit hardwarebeschleuniger
DE102022114267A1 (de) Systeme und verfahren zur dynamischen aufrechterhaltung der redundanz und des lastausgleichs in softwaredefinierten steuerungssystemen für industrielle prozessanlagen
DE102022114301A1 (de) Software-definiertes prozesssteuerungssystem für industrielle prozessanlagen
DE102022114391A1 (de) Suchdienst in einem softwaredefinierten Steuerungssystem
DE102022115155A1 (de) Visualisierung eines softwaredefinierten prozesssteuerungsystems für industrielle prozessanlagen
DE112011105911T5 (de) Server mit Switch-Schaltungen
DE102022114305A1 (de) E/a serverdienste zur auswahl und verwendung aktiver steuerungsausgänge von containerisierten steuerungsdiensten in einer prozesssteuerungsumgebung
DE102022114541A1 (de) Suchdienst in einem softwaredefinierten steuerungssystem
EP3125056A1 (de) System und verfahren zur steuerung und/oder analytik eines industriellen prozesses
DE102022115152A1 (de) Visualisierung eines softwaredefinierten prozesssteuerungssystems für industrielle prozessanlagen
DE102022114543A1 (de) Systeme und verfahren zur zuordnung von modulen in einem softwaredefinierten steuerungssystem für industrielle prozessanlagen
DE102022114250A1 (de) Systeme und Verfahren zur hierarchischen Organisation von softwaredefinierten Prozesssteuerungssystemen für industrielle Prozessanlagen
DE102022115178A1 (de) Visualisierung eines softwaredefinierten prozesssteuerungsstems für industrielle prozessanlagen
DE102022114375A1 (de) Sicherheitsdienste in einem softwaredefiniertensteuerungssystem
DE102022114307A1 (de) Nutzung von dienstqualitätsmetriken zur erleichterung von übergängen zwischen e/a-kanälen für e/a-serverdienste
DE102012219705A1 (de) Datenpaketverarbeitung im netzwerk
DE102022114302A1 (de) Softwaredefiniertes prozesssteuerungssystem und verfahren für industrielle prozessanlagen
DE102015116036A1 (de) Dezentrale Realzeitrechenstruktur, die eine speicherinterne Verarbeitung verwendet
WO2022022992A1 (de) Digital-twin basierte prozesssteuerung in einem iot-netzwerk
DE202016107125U1 (de) Systeme zum Erkennen der Topologie von Fernnetzwerken
EP4139799A1 (de) Verfahren und vorrichtung zum verteilen von softwarekomponenten einer oder mehreren applikationen auf für deren ausführung geeignete infrastrukturkomponenten einer industriellen infrastruktur

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221123

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231205