WO2020002030A1 - Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung - Google Patents

Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung Download PDF

Info

Publication number
WO2020002030A1
WO2020002030A1 PCT/EP2019/065905 EP2019065905W WO2020002030A1 WO 2020002030 A1 WO2020002030 A1 WO 2020002030A1 EP 2019065905 W EP2019065905 W EP 2019065905W WO 2020002030 A1 WO2020002030 A1 WO 2020002030A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
objects
network environment
distributed network
properties
Prior art date
Application number
PCT/EP2019/065905
Other languages
English (en)
French (fr)
Inventor
Reinhard Frank
Hans-Peter Huth
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP19734301.5A priority Critical patent/EP3794442A1/de
Priority to CN201980056407.7A priority patent/CN112585574A/zh
Priority to US17/253,900 priority patent/US11561781B2/en
Publication of WO2020002030A1 publication Critical patent/WO2020002030A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to a method for determining a suitable installation location for an application to be installed and a system for determining a suitable installation location for an application to be installed in a distributed network environment, taking into account the communication properties with the communication partners of the application.
  • a distributed network environment - such as a data network in a production environment -
  • applications within a distributed network environment - such as a data network in a production environment - are often to be installed on a suitable host.
  • the host is, for example, part of an environment that provides computing capacity at a production facility and is therefore located in the vicinity of production machines on the outer edge of a network (so-called “edge cloud”).
  • edge cloud a network that is considered suitable if it meets application-specific criteria are fulfilled.
  • An application usually consists of several software components and has requirements for different components of the edge cloud-based production environment as well as for the network.
  • the so-called “edge cloud” generally has a heterogeneous structure and comprises one or more hosts in the vicinity or within production environments.
  • a host is in particular a computer platform or a computer unit (computer) that is suitable for to execute at least one application, for example a host can also be a network component or a switch.
  • Each individual host can have different properties or capabilities, resources or restrictions to have. In addition, the properties or capabilities of these hosts may vary depending on how they are used and where they are installed.
  • the network also connects the hosts to end devices and services outside the network of the production environment. Such connections of the network can have different properties, ie different bandwidths, delays and the like.
  • the 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 have a variety of communication requirements, for example with regard to real-time requirements, required redundancy and the like.
  • Another problem is that a provider of software, which may or may not be tied to specific devices, is faced with the problem that he cannot require or require a certain situation or scenario from the customer.
  • the customer should ensure that a product he ordered can be installed and operated with him.
  • a software component may have requirements with regard to the runtime environment - including network performance itself - among other components.
  • a software manufacturer must be able to express such requirements terminologically, for example by means of a description such as "The database should be operated near the sensors".
  • a customer must have the means to automatically find the suitable location - if there are several Opportunities exist - for installing and operating the software component and finding the necessary network Configure the connection, for example in relation to virtual interfaces (VLANs; Virtual Local Area Networks).
  • a service or application typically requires connections to various other points in a customer installation.
  • the information needed to set up a virtual network for the software service should be derived.
  • a database may need a connection to the public Internet and also a connection to local sensors.
  • US 2014/0344461 A1 discloses techniques for intelligent service provision, in which cloud and service data are evaluated in order to develop a service deployment plan for the provision of a service in a target cloud processing environment. When dictated by the plan or by events that trigger the deployment, the service is deployed to the target cloud processing environment according to the service deployment plan.
  • US 2017/0289060 A1 discloses a model-driven system which automatically distributes a virtualized service, including a number of service components, on one Provides cloud infrastructure.
  • a master service orchestrator causes a cloud platform orchestrator to retrieve a cloud service archive file, extract a cloud resource configuration template and create cloud resources in suitable data centers as specified.
  • the master service orchestrator also causes a software-defined network controller to retrieve the cloud services archive file, extract a cloud network configuration template, and layer 1 through
  • Layer 3 to configure virtual network functions and set up routes between them.
  • an object of the present invention is to improve the automatic installation of an application on a host as part of a network of a production environment.
  • the process includes:
  • Linking the application to be installed with an object identifier which includes the enriched description as well as the requirements and / or properties of the application to be installed and also a system-wide unique name.
  • the network environment is preferably an industrial network environment.
  • a suitable installation location is to be understood in the sense of selecting a host in a suitable location.
  • the object identifier comprises a system-wide unique name.
  • the invention is based on the knowledge that the placement problem in industrial infrastructures is not just a resource or usage problem with respect to a host
  • each usable part of a host or a software component or application is provided with a specific object identifier.
  • Such properties described by the object identifiers are stored at a central point, e.g. in a database, collected and, if necessary, combined into a working group.
  • a working group can be defined, for example, in relation to a certain application, a certain computing unit, certain sensors or certain actuators.
  • Object identifiers can reflect any property that is required in the placement process, such as location, security needs, device type, and more. Instead of replicating detailed device or service descriptions, object identifiers are used to form logical groups that reflect similarities, roles, locations, or other issues that are important for the placement decision, but not in a device or software description are included. Object identifiers can form a hierarchy.
  • Examples are "gebauede5 / raum47” for all devices and services in room 47, building 5 or “rauchDetektor” for smoke detectors from different manufacturers or "OPC-UA Broker” (Open Platform Communications Unified Architecture) for all software components that have an OPC Implement UA messaging broker.
  • OPC-UA Broker Open Platform Communications Unified Architecture
  • a service that monitors smoke detectors with OPC-UA at this point can now be configured to use these components and - based on a location object identifier - the preferred location for hosting the Service or application in or near building 5.
  • the optimal installation location determined is used for the automatic installation of the application to be installed. This can be done by the information regarding the received determined suitable installation locations being automatically made available to a deployment tool. In this way, an application can be installed at the best possible location without user intervention.
  • the enrichment of the machine-readable description includes an enrichment with security guidelines.
  • These security guidelines can include information regarding the management of an object, for example to what extent or whether an object is managed by a supplier. This enables possible dependencies on third parties to be mapped and appropriate measures relating to the security to be achieved within the scope of the Determination of the suitable installation location must be taken into account.
  • a suitable installation location is ascertained taking into account dependencies between the objects and described in their object identifiers. This has the advantage that a static provision of an installation sort is avoided and instead the choice of an installation location is optimized taking into account several dimensions.
  • the properties of the objects include a guaranteed minimum transmission bandwidth, a QoS value, a membership in a logical group, a membership in a logical topology, a physical place of use, and / or properties in a physical or virtual connection , These properties reflect the essential characteristics of an object, the objects being computing units, sensors, actuators, locations or relationships between at least objects themselves.
  • An object is, for example, a host, a service, part of a network or a production cell in an industrial network environment.
  • the requirements and properties of the application to be installed include provision or deployment requirements, a necessary virtualizability, a maximum allowed latency, a number of required VLAN interfaces, a responsibility with regard to their administration, existing security requirements, one required QoS value for a destination address and / or belonging to other applications and / or objects.
  • provision or deployment requirements e.g., a necessary virtualizability, a maximum allowed latency, a number of required VLAN interfaces, a responsibility with regard to their administration, existing security requirements, one required QoS value for a destination address and / or belonging to other applications and / or objects.
  • the further applications and / or objects can be clearly identified. Identifiability can be achieved, for example, by providing a unique identifier, which e.g. is assigned to a device (for example "PLC3" for a programmable logic controller).
  • a unique identifier which e.g. is assigned to a device (for example "PLC3" for a programmable logic controller).
  • the objects of the distributed network environment include physical devices, physical connections, virtual connections, virtual services, and / or logical topologies.
  • the use of logical constructs in particular makes it easier to group physically existing objects.
  • each of the physical devices has a known physical location. 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 increases the identifiability of the individual devices.
  • the administrative address can also be referred to as the management address.
  • the network interface can also be referred to as a network interface or as an entry point or as an entry point.
  • the distributed network environment is divided into subnets.
  • the subnetworks result in a logical structuring, so that parts of a network can be addressed, for example, by means of a symbolic name and / or an addressing scheme.
  • a computer program product is proposed which is based on a program-controlled device device to carry out the procedure as explained above.
  • a computer program product such as a computer program means, for example as a storage medium, e.g.
  • Memory card USB stick, CD-ROM, DVD, or in the form of a downloadable file from a server in a network. This can be done, for example, in a wireless communication network by transferring a corresponding file with the computer program product or the computer program means.
  • a system for determining a suitable installation location for an application to be installed in a distributed network environment includes
  • a duty scheduling unit which is used to receive a machine-readable description of the application to be installed, to enrich the machine-readable description with further requirements and / or properties, and to link the application to be installed with an object identifier which contains the enriched description and the requirements and / or properties of the application to be installed and also includes a system-wide unique designation
  • the system comprises an installation unit which is designed to carry out the automatic installation of the application to be installed on the basis of the determined suitable installation location.
  • the installation unit can be provided in the form of a deployment tool, for example, which installs an application at the best possible location without user intervention.
  • RTM Real Time Factory Monitoring
  • node properties Intel comp., min 2 GB mem. , 20 GB interference peers ⁇
  • node properties Intel compatible, min 0.5 GB memory peers ⁇
  • the specification or description shown in pseudocode basically contains the requirements and specifies other necessary services that must be accessible.
  • the entry "devices *" denotes any number of devices that should be in the vicinity of the collector component. Each of these devices requires a minimum bandwidth of 0.5 Mbit / s as connectivity.
  • further parameters can be used as Requirements for the application are defined, which must then be taken into account when determining a suitable installation location.
  • Devices to be connected must be added in advance by the operator of the application, for example a factory owner. This can also be done using a list or a group, for example by the operator defining a group "Profinetl-O_motortemp" and adding devices there. The operator can also add restrictions, such as a maximum bandwidth or a ban on a location such as " not in hall 5 ".
  • the machine-readable description obtained from the original specification and the newly added requirements is then transmitted to a device which carries out the method for determining a suitable installation location in order to find the suitable host.
  • the location information, the actual utilization of the available hosts and more (according to the requirements) must be taken into account.
  • Duty planning unit A Duty planning unit A, a placement unit B and an installation unit C.
  • step Sla the service planning unit A is provided with the manufacturer's service description in the form of a machine-readable description of the application to be installed. Furthermore, in method step S1b, the guidelines of the factory owner LB are supplied, which contain further requirements and / or properties, as described above for the pseudocode shown.
  • the service planning unit A further links the application to be installed with an object identifier, which includes the enriched description and the requirements and / or properties of the application to be installed, which were previously provided by the factory owner, so that a complete Service description is generated.
  • the object identifiers of the application to be installed are stored as a complete service description in a database.
  • step S3a The complete service description is provided in step S3a to a placement unit B as soon as a request for an application to be installed is received.
  • the placement unit B receives information 3a-3d about device groups and service groups, the current status of the "Edge Cloud", the current network status and the floor plan of the factory.
  • This information was previously linked to at least objects in the distributed network environment each created a further object identifier, which describes at least one property of an object, the object identifiers of the objects in the distributed network environment being stored in a database.
  • the placement unit B provides the information of the stored object identifiers of the application to be installed and the objects obtained in method steps S3a and S3b for an evaluation unit after a request for the application to be installed has been received. The placement unit B then receives a determined suitable installation location back from the evaluation unit.
  • step S4a the optimal installation location determined is combined by the placement unit B together with the images 4a-4c of software applications to be installed, which were received in step S4b, in order to generate topology information for the software distribution 5.
  • Enterprise WLAN can contain access points that are not intended for real-time traffic.
  • Each group is a list of entries.
  • An entry has a description that describes the point-of-attachment to the network (ie the IP address of a management interface) and a location. For services, this can be the host on which the service is running.
  • a "semantic location description” can be used which reflects the most important properties of a location.
  • This can comprise a physical area which consists of many points and is not restricted to one point
  • the location can use a structured, symbolic and user-defined naming scheme, for example "LocationTurin / Hall5 / Transportband8" or "Location Turin / Hall5 / Schweisszelle23". This essentially allows a coarse-grained floor plan to be mapped.
  • the location can be real location information or topological, network-related information play, ie all devices in a subnet or everything that is connected to a particular switch.
  • the placement algorithm now takes over the specification of the service, extracts all the services and devices mentioned there and makes them available to an evaluation unit. The latter can then consider finding a target computer that is “in the vicinity” of the required points.
  • TOSCA Topic and Orchestration Specification for Cloud Applications
  • TOSCA Topic and Orchestration Specification for Cloud Applications
  • other software can also be used.
  • the above exemplary embodiments are based on the assumption that there is a specification of an application which contains requirements for resources, the network QoS (Quality Of Service), provision steps or more. This can be seen as a digital equivalent to today's "data sheet". Furthermore, it is assumed that the network QoS is always connected to one or more destinations, that is, for example in the form of a minimal bandwidth to the edge router and / or a maximum delay to a specific terminal, in which case a target is a device or a service outside the application or within the application, but in the form of another component of the same
  • an application is linked to other applications and to devices that use this application.
  • Devices or services that are mentioned in the specification of an application refer to a clearly identifiable device (e.g. "PLC3") or a group of destinations ("forklift group”).
  • PLC3 clearly identifiable device
  • forklift group a group of destinations
  • an application can be started multiple times or can be virtualized.
  • the application can be bundled in one or more software images or "images", whereby each image can have different requirements and dependencies.
  • An image can be in the form of a container or a virtualization image. It contains a deployment specification preferably also steps that take place before the start (e.g. VM preparation), at the start or after the start (e.g.
  • the "edge cloud” is assumed to have multiple hosts. Each host can have different resources and capabilities and have interfaces. Furthermore, each node has a known location and a known management address and an entry point.
  • the distributed network connects hosts of the "Edge Cloud” and devices and can be logically divided into subnetworks, whereby a logical structuring means that parts of the network can be identified (eg by means of symbolic names and / or addressing schemes) - or IP level is therefore not necessarily meant.
  • the properties regarding the network topology and the network connections are available and can be considered as additional input.
  • the network can also support a type of traffic control, for example using SDN (software-defined networking), a proprietary solution or a preconfigured system (i.e. preconfigured VLANs).
  • Relevant nodes such as "Edge Cloud” hosts, network nodes or software services) have object identifiers that map various information that is required for the placement process described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

Das Verfahren umfasst die Schritte: Bereitstellen einer maschinenlesbaren Beschreibung der zu installierenden Applikation, Anreichern der maschinenlesbaren Beschreibung mit weiteren Anforderungen und/oder Eigenschaften, Verknüpfen der zu installierenden Applikation mit einem Objektidentifikator, welcher die angereicherte Beschreibung sowie die Anforderungen und/oder Eigenschaften der zu installierenden Applikation umfasst, Verknüpfen von in der verteilten Netzwerkumgebung existierenden Objekten mit wenigstens jeweils einem weiteren Objektidentifikator, welcher wenigstens eine Eigenschaft eines Objektes beschreibt, Speichern der Objektidentifikatoren von der zu installierenden Applikation und den Objekten in der verteilten Netzwerkumgebung in einer Datenbank, Empfangen einer Anfrage hinsichtlich der zu installierenden Applikation, Bereitstellen der gespeicherten Objektidentifikatoren der zu installierenden Applikation und der Objekte für eine Auswerteeinheit, und Empfangen eines ermittelten geeigneten Installationsortes von der Auswerteeinheit. Applikationen können auf einem Host automatisch und auf optimale Weise installiert werden.

Description

Beschreibung
Verfahren und System zur Bestimmung eines geeigneten Instal lationsortes für eine zu installierende Applikation in einer verteilten Netzwerkumgebung
Die vorliegende Erfindung betrifft ein Verfahren zur Bestim mung eines geeigneten Installationsortes für eine zu instal lierende Applikation sowie ein System zur Bestimmung eines geeigneten Installationsortes für eine zu installierende Ap plikation in einer verteilten Netzwerkumgebung unter Berück sichtigung der Kommunikationseigenschaften mit den Kommunika tionspartnern der Anwendung.
Es ist bekannt, dass Applikationen innerhalb einer verteilten Netzwerkumgebung - wie beispielsweise einem Datennetz in ei ner Produktionsumgebung - oftmals auf einem geeigneten Host installiert werden sollen. Der Host ist dabei zum Beispiel Teil einer Umgebung, welche Rechenkapazitäten an einer Pro duktionsstätte bereitstellt und dazu in Nähe von Produktions maschinen am äußeren Rand eines Netzwerks angeordnet ist (so genannte „Edge Cloud") . Ein Host gilt als geeignet, wenn an wendungsspezifische Kriterien erfüllt sind.
Eine Applikation besteht üblicherweise aus mehreren Software- Komponenten und hat Anforderungen gegenüber unterschiedlichen Komponenten der Edge-Cloud-basierten Produktionsumgebung so wie gegenüber dem Netzwerk. Die so genannte „Edge Cloud" weist dabei im Allgemeinen eine heterogene Struktur auf und umfasst einen oder mehrere Hosts in der Nähe zu beziehungs weise innerhalb von Produktionsumgebungen. Ein Host ist ins besondere eine Rechnerplattform oder eine Rechnereinheit (Rechner), die dazu geeignet ist, zumindest eine Applikation auszuführen. Ein Host kann beispielsweise auch eine Netzwerk- Komponente oder ein Switch sein.
Jeder einzelne Host kann dabei unterschiedliche Eigenschaften beziehungsweise Fähigkeiten, Ressourcen oder Einschränkungen haben. Darüber hinaus können die Eigenschaften beziehungswei se Fähigkeiten dieser Hosts variieren, je nachdem, wie sie verwendet werden und wo sie installiert sind. Das Netzwerk verbindet die Hosts ferner mit Endgeräten und Diensten außer halb des Netzes der Produktionsumgebung. Solche Verbindungen des Netzwerks können unterschiedliche Eigenschaften haben, d.h. unterschiedliche Bandbreiten, Verzögerungen und derglei chen .
In industriellen Umgebungen, wie der Fabrikautomation, der Gebäudeautomation oder der Supervisory Control and Data Ac- quisition (SCADA) , können die Knoten von kleinen, eingebette ten Geräten bis hin zu großen Servern reichen. Netzwerke kön nen beispielsweise schnelle lokale Industrial-Ethernet- Varianten, ge-switched, geroutet, drahtgebunden oder drahtlos sein. Typischerweise haben industrielle Anwendungen eine Vielzahl von Anforderungen an die Kommunikation, beispiels weise hinsichtlich Echtzeitanforderungen, benötigter Redun danz und dergleichen.
Ein weiteres Problem besteht darin, dass ein Anbieter einer Software, welche an bestimmte Geräte gebunden sein kann oder nicht, vor dem Problem steht, dass er eine bestimmte Situati on beziehungsweise ein Szenario beim Kunden nicht vorausset zen oder einfordern kann. Der Kunde hingegen sollte sicher stellen, dass ein von ihm bestelltes Produkt bei ihm instal liert und betrieben werden kann.
Hinzukommt, dass eine Software-Komponente Anforderungen unter anderem hinsichtlich der Laufzeitumgebung - inklusive der Netzwerkleistung selbst - gegenüber anderen Komponenten haben kann. Ein Software-Hersteller muss in der Lage sein, solche Anforderungen terminologisch auszudrücken, z.B. mittels einer Beschreibung wie „Die Datenbank soll in der Nähe der Sensoren betrieben werden". Zudem muss ein Kunde über Mittel verfügen, um automatisch den geeigneten Ort - sofern es mehrere Mög lichkeiten gibt - für die Installation und den Betrieb der Software-Komponente zu finden und die erforderliche Netzwerk Verbindung zu konfigurieren, beispielsweise in Bezug auf vir tuelle Schnittstellen (VLANs; Virtual Local Area Networks) .
Weiterhin benötigt ein Dienst beziehungsweise eine Applikati on typischerweise Verbindungen zu verschiedenen anderen Punk ten in einer Kundeninstallation. So sollten die Informationen abgeleitet werden, die zum Aufbau eines virtuellen Netzwerks für den Software-Dienst erforderlich sind. Beispielsweise kann eine Datenbank eine Verbindung zum öffentlichen Internet und zudem eine Verbindung zu lokalen Sensoren benötigen.
Letztlich können industrielle IoT- Installationen (Internet Of Things-Installationen) im Gegensatz zu Rechenzentren oder Verbrauchernetzen viel mehr unterschiedliche Geräte auf einer großen Fläche haben. Diese Geräte können zum einen sehr un terschiedlich sein, zum anderen können auch gleichartige Ge räte in großen Stückzahlen auftreten, wobei beispielsweise eine kleine speicherprogrammierbare Steuerung (SPS) mehrere hundert Male in einer Fabrik installiert werden kann. Dadurch ist die Konfiguration für eine zu installierende Applikation beziehungsweise Software-Komponente umständlich und fehleran fällig, insbesondere da heute eine für dieses Problem ausrei chende maschinenlesbare Beschreibung nicht oder nur in Ansät zen existiert.
Die US 2014/0344461 Al offenbart Techniken zur intelligenten Bereitstellung von Diensten, bei denen Cloud- und Serviceda ten ausgewertet werden, um einen Service-Einsatzplan für die Bereitstellung eines Dienstes in einer Ziel-Cloud- Verarbeitungsumgebung zu entwickeln. Wenn es durch den Plan oder durch Ereignisse, die die Bereitstellung auslösen, vor gegeben wird, wird der Dienst gemäß dem Service- Bereitstellungsplan in die Ziel -Cloud-Verarbeitungsumgebung bereitgestellt .
Die US 2017/0289060 Al offenbart ein modellgetriebenes Sys tem, welches automatisch einen virtualisierten Dienst, ein schließlich mehrerer Dienstkomponenten, auf einer verteilten Cloud- Infrastruktur bereitstellt . Ein Master-Service- Orchestrator veranlasst dabei einen Cloud-Plattform- Orchestrator, eine Cloud-Service-Archivdatei abzurufen, eine Cloud-Ressourcen-Konfigurationsvorlage zu extrahieren und Cloud-Ressourcen in geeigneten Rechenzentren wie angegeben zu erstellen. Der Master Service Orchestrator veranlasst ferner einen softwaredefinierten Netzwerk-Controller auch, die Cloud Services-Archivdatei abzurufen, eine Cloud Network- Konfigurationsvorlage zu extrahieren und Schicht 1 bis
Schicht 3 virtuelle Netzwerkfunktionen zu konfigurieren und Routen zwischen ihnen einzurichten.
Die Veröffentlichung „Topology and Orchestration Specificati- on for Cloud Applications" (Version 1.0) thematisiert die formale Beschreibung von Service Templates, welche zur Be reitstellung von Diensten in einer IT- Infrastruktur genutzt werden .
Die Veröffentlichung „MODACLOUDS: A Model-Driven Approach for the Design and Execution of Applications on Multiple Clouds" (Danilo Ardagna et al . ) präsentiert einen auf einer modellba sierten Entwicklung basierenden Ansatz, welcher darauf ab zielt, Systementwickler und -betreiber dabei zu unterstützen, mehrere Clouds für das gleiche System zu nutzen und bei Be darf zu migrieren.
Die Veröffentlichung „Standards-based Function Shipping - How to use TOSCA for Shipping and Executing Data Analytics Soft ware in Remote Manufacturing Environments" (Michael Zimmer mann et al . ) validiert die Praxistauglichkeit verschiedener Modellierungsansätze anhand einer Fallstudie aus dem Bereich der Fertigung, die auf dem Open-Source-TOSCA-Ökosystem (Open TOSCA) basiert, welches ein Modellierungswerkzeug, eine Lauf zeit sowie ein Selbstbedienungsportal für TOSCA bereitstellt .
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, die automatische Installation einer Applika tion auf einem Host als Teil eines Netzwerks einer Produkti onsumgebung zu verbessern. Insbesondere ist es wünschenswert, eine Applikation auf einem Host beziehungsweise einer be stimmten Recheneinheit automatisch und auf nahezu optimale Art und Weise zu installieren.
Demgemäß wird ein Verfahren zur Bestimmung eines geeigneten Installationsortes für eine zu installierende Applikation in einer verteilten Netzwerkumgebung vorgeschlagen. Das Verfah ren umfasst:
Bereitstellen einer maschinenlesbaren Beschreibung der zu in stallierenden Applikation,
Anreichern der maschinenlesbaren Beschreibung mit weite ren Anforderungen und/oder Eigenschaften,
Verknüpfen der zu installierenden Applikation mit einem Obj ektidentifikator, welcher die angereicherte Beschreibung sowie die Anforderungen und/oder Eigenschaften der zu instal lierenden Applikation und ferner eine systemweit eindeutige Bezeichnung umfasst,
Verknüpfen von in der verteilten Netzwerkumgebung exis tierenden Objekten mit wenigstens jeweils einem weiteren Ob- j ektidentifikator, welcher wenigstens eine Eigenschaft eines Objektes beschreibt,
Speichern der Obj ektidentifikatoren von der zu installie renden Applikation und den Objekten in der verteilten Netz werkumgebung in einer Datenbank,
Empfangen einer Anfrage hinsichtlich der zu installieren den Applikation,
Bereitstellen der gespeicherten Obj ektidentifikatoren der zu installierenden Applikation und der Objekte für eine Aus werteeinheit, und
Empfangen eines ermittelten geeigneten Installationsor tes von der Auswerteeinheit.
Dadurch wird es erfindungsgemäß ermöglicht, dass die Platzie- rungsentscheidung für eine Anwendung beziehungsweise einer Komponente einer Anwendung automatisch erfolgen kann. Falls dabei mehrere geeignete Orte für die Installation von Soft ware-Komponenten gefunden wurden, kann - optional - der opti- male Installationsort unter diesen Orten ausgewählt werden. Die Netzwerkumgebung ist vorzugsweise eine industrielle Netz- werkumgebung . Ein geeigneter Installationsort ist insbesonde re im Sinne der Auswahl eines Hosts an einem geeigneten Ort zu verstehen. Der Obj ektidentifikator umfasst eine systemweit eindeutige Bezeichnung.
Der Erfindung liegt die Erkenntnis zugrunde, dass das Plat- zierungsproblem in industriellen Infrastrukturen nicht nur ein Ressourcen- oder Nutzungsproblem in Bezug auf einen Host
ist, sondern auch der Einsatzort der zu installierenden Soft ware beziehungsweise Applikation sowie die zukünftige Nut zungsumgebung eine Rolle spielen. Ein weiterer Vorteil ist darin gegeben, dass auch ein zeitlicher Faktor berücksichtigt werden kann, falls beispielsweise eine Kalkulation von Daten auf einem kritischen Host bei aktiver Nutzung in einer Pro duktion nicht zugelassen werden soll. Im Gegensatz zu Rechen zentren sind in industriellen Netzwerken beispielsweise nicht durchgängig Netzwerkinfrastrukturen mit homogenen Eigenschaf ten, wie lOGE-Fähigkeiten und/oder homogenen Recheninfra strukturen, gegeben.
Entsprechend der erfindungsgemäßen Lösung ist jeder nutzbare Teil eines Hosts oder einer Software-Komponente beziehungs weise Applikation mit einem bestimmten Obj ektidentifikator versehen. Solche durch die Obj ektidentifikatoren beschriebe nen Eigenschaften werden an einer zentralen Stelle, z.B. in einer Datenbank, gesammelt und gegebenenfalls zu einer Ar beitsgruppe zusammengefasst. Eine Arbeitsgruppe kann dabei beispielsweise in Bezug auf eine bestimmte Applikation, eine bestimmte Recheneinheit, bestimmte Sensoren oder bestimmte Aktoren definiert werden.
Beschreibungen zur Softwareverteilung (Deployment- Beschreibungen) verwenden diese definierten Arbeitsgruppen und identifizieren dadurch, wohin eine Verteilung der Soft ware beziehungsweise eine Installation erfolgen soll. Obj ek tidentifikatoren können jede Eigenschaft widerspiegeln, die im Platzierungsprozess benötigt wird, z.B. Standort, Sicher- heitsbedürfnisse, Gerätetyp und mehr. Anstatt detaillierte Geräte- oder Servicebeschreibungen zu replizieren, werden Ob- j ektidentifikatoren verwendet, um logische Gruppen zu bilden, welche Gemeinsamkeiten, Rollen, Standorte oder andere Themen widerspiegeln, die für die Platzierungsentscheidung wichtig sind, jedoch nicht in einer Geräte- oder Software- Beschreibung enthalten sind. Obj ektidentifikatoren können dabei eine Hierarchie bilden. Beispiele sind „gebauede5/raum47 " für alle Geräte und Dienste in Raum 47, Gebäude 5 oder „ rauchDetektor" für Rauchmelder verschiedener Hersteller oder „OPC-UA Broker" (Open Platform Communications Unified Architecture) für alle Software- Komponenten, die einen OPC-UA Messaging Broker implementie ren. Ein Dienst, welcher Rauchmelder mit OPC-UA an eben die ser Stelle überwacht, kann nun so konfiguriert werden, dass er diese Komponenten verwendet und - auf Basis eines Ort- Obj ektidentifikators - der bevorzugte Ort für das Hosting des Dienstes beziehungsweise der Applikation in oder in der Nähe von Gebäude 5 ist.
Durch eine derartige Lösung wird demnach eine Anbieter- Servicebeschreibung mit Kundenrichtlinien und aktuellen Daten der verfügbaren „Edge Cloud" sowie Netzwerkressourcen zusam mengeführt. Dadurch werden Abstraktionen ermöglicht, welche den Konfigurationsaufwand reduzieren, nämlich in Form eines Konzepts zur Gruppierung und Kennzeichnung von Geräten, Diensten und Orten.
Gemäß einer Ausführungsform wird der ermittelte optimale In stallationsort zur automatischen Installation der zu instal lierenden Applikation genutzt. Dies kann dadurch erfolgen, dass die Informationen hinsichtlich der empfangenen ermittel ten geeigneten Installationsorte automatisch an ein Deploy- ment-Tool bereitgestellt werden. Auf diese Weise kann ohne Zutun eines Nutzers eine Applikation am bestmöglichen Ort in stalliert werden.
Gemäß einer weiteren Ausführungsform umfasst das Anreichern der maschinenlesbaren Beschreibung eine Anreicherung mit Si cherheitsrichtlinien. Diese Sicherheitsrichtlinien können In formationen bezüglich des Managements eines Objektes aufwei- sen, beispielsweise inwieweit oder ob ein Objekt von einem Lieferanten verwaltet wird. Dadurch können mögliche Abhängig keiten zu Dritten abgebildet werden und entsprechende Maßnah men in Bezug auf eine zu erzielende Sicherheit im Rahmen der Bestimmung des geeigneten Installationsortes berücksichtigt werden .
Gemäß einer weiteren Ausführungsform erfolgt das Ermitteln eines geeigneten Installationsortes unter Berücksichtigung von zwischen den Objekten gegebenen und in deren Objektiden- tifikatoren beschriebenen Abhängigkeiten. Dies hat den Vor teil, dass eine statische Bereitstellung eines Installation sortes vermieden wird und stattdessen eine Optimierung der Wahl eines Installationsortes unter Berücksichtigung mehrerer Dimensionen erfolgt.
Gemäß einer weiteren Ausführungsform umfassen die Eigenschaf ten der Objekte eine garantierte minimale Übertragungsband breite, einen QoS-Wert, eine Zugehörigkeit zu einer logischen Gruppe, eine Zugehörigkeit zu einer logischen Topologie, ei nen physischen Einsatzort, und/oder Eigenschaften einer phy sischen oder virtuellen Verbindung. Durch diese Eigenschaften werden die wesentlichen Merkmale eines Objektes widergespie gelt, wobei es sich bei den Objekten um Recheneinheiten, Sen soren, Aktoren, Orte oder um Beziehungen zwischen wenigstens Objekten selbst handeln kann. Ein Objekt ist beispielsweise ein Host, ein Service (Dienst), ein Teil eines Netzwerkes o- der eine Produktionszelle in einer industriellen Netzwerkum gebung .
Gemäß einer weiteren Ausführungsform umfassen die Anforderun gen und Eigenschaften der zu installierenden Applikation Be- reitstellungs- beziehungsweise Deploymentanforderungen, eine notwendige Virtualisierbarkeit , eine maximal erlaubte Latenz zeit, eine Anzahl benötigter VLAN-Schnittstellen, eine Ver antwortlichkeit hinsichtlich ihrer Verwaltung, bestehende Si cherheitsanforderungen, einen zu einer Zieladresse erforder lichen QoS-Wert, und/oder eine Zugehörigkeit zu weiteren Ap plikationen und/oder Objekten. Durch eine derart präzise De finition wird eine möglichst optimale Wahl eines Installati onsortes ermöglicht, indem die ebenfalls präzise definierten Eigenschaften der verschiedenen Objekte in Anbetracht der An forderungen berücksichtigt werden.
Gemäß einer weiteren Ausführungsform sind die weiteren Appli kationen und/oder Objekte eindeutig identifizierbar. Eine Identifizierbarkeit kann beispielsweise durch Bereitstellung eines einmalig vergebenen Identifikators erfolgen, welcher z.B. einem Gerät zugeordnet wird (beispielsweise „PLC3" für eine speicherprogrammierbare Steuerung) .
Gemäß einer weiteren Ausführungsform umfassen die Objekte der verteilten Netzwerkumgebung physische Geräte, physische Ver bindungen, virtuelle Verbindungen, virtuelle Dienste, und/oder logische Topologien. Durch die Verwendung von logi schen Konstrukten wird insbesondere eine Gruppierung physisch vorhandener Objekte erleichtert.
Gemäß einer weiteren Ausführungsform hat jedes der physischen Geräte einen bekannten physischen Einsatzort. Weiter kann vorgesehen sein, dass jedes der physischen Geräte eine be kannte Verwaltungsadresse und einen zumindest eine bekannte Netzwerk-Schnittstelle aufweist. Dadurch wird die Identifi- zierbarkeit der einzelnen Geräte weiter erhöht. Die Verwal tungsadresse kann auch als Management-Adresse bezeichnet wer den. Die Netzwerk-Schnittstelle kann auch als Netzinterface oder als Entry-Point oder als Einspeisepunkt bezeichnet wer den .
Gemäß einer weiteren Ausführungsform ist die verteilte Netz werkumgebung in Subnetze gegliedert. Durch die Subnetze er folgt eine logische Strukturierung, so dass Teile eines Netz werks beispielsweise mittels eines symbolischen Namens und/oder eines Adressierungsschemas angesprochen werden kön nen .
Gemäß einem weiteren Aspekt wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrich- tung die Durchführung des wie oben erläuterten Verfahrens veranlasst .
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm- Mittel, kann beispielsweise als Speichermedium, wie z.B.
Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form ei ner herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerkdurch die Übertra gung einer entsprechenden Datei mit dem Computerprogrammpro dukt oder dem Computerprogramm-Mittel erfolgen.
Gemäß einem weiteren Aspekt wird ein System zur Bestimmung eines geeigneten Installationsortes für eine zu installieren de Applikation in einer verteilten Netzwerkumgebung vorge schlagen. Das System umfasst
eine Dienstplanungseinheit, welche zum Empfang einer ma schinenlesbaren Beschreibung der zu installierenden Applika tion, zum Anreichern der maschinenlesbaren Beschreibung mit weiteren Anforderungen und/oder Eigenschaften sowie zum Ver knüpfen der zu installierenden Applikation mit einem Objekti- dentifikator, welcher die angereicherte Beschreibung sowie die Anforderungen und/oder Eigenschaften der zu installieren den Applikation und ferner eine systemweit eindeutige Be zeichnung umfasst, ausgebildet ist,
eine Datenbank zur Speicherung der Obj ektidentifikatoren von der zu installierenden Applikation und den Objekten in der verteilten Netzwerkumgebung, wobei in der verteilten Netzwerkumgebung existierende Objekte mit wenigstens jeweils einem weiteren Obj ektidentifikator, welcher wenigstens eine Eigenschaft eines Objektes beschreibt, verknüpft sind, und eine Platzierungseinheit , welche zum Empfangen einer An frage hinsichtlich der zu installierenden Applikation, zum Empfang der gespeicherten Obj ektidentifikatoren der zu in stallierenden Applikation und der Objekte für eine Auswer teeinheit, sowie zum Empfangen eines ermittelten geeigneten Installationsortes von der Auswerteeinheit ausgebildet ist. Gemäß einer weiteren Ausführungsform umfasst das System eine Installationseinheit, welche dazu ausgebildet ist, auf Basis des ermittelten geeigneten Installationsortes die automati sche Installation der zu installierenden Applikation durchzu führen. Die Installationseinheit kann dabei beispielsweise in Form eines Deployment-Tools bereitgestellt werden, welches ohne Zutun eines Nutzers eine Applikation am bestmöglichen Ort installiert.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der je weiligen Grundform der Erfindung hinzufügen.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfin dung sind Gegenstand der Unteransprüche sowie der im Folgen den beschriebenen Ausführungsbeispiele der Erfindung. Im Wei teren wird die Erfindung anhand von bevorzugten Ausführungs formen unter Bezugnahme auf die beigelegte Figur näher erläu tert .
Fig. 1 zeigt ein Beispiel eines Deployment-Prozesses unter
Nutzung des vorgeschlagenen Verfahrens.
In der Figur sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts ande res angegeben ist.
Nachfolgend ist zunächst ein Beispiel für eine maschinenles bare Beschreibung einer zu installierenden Applikation mit dem Namen „Real Time Factory Monitoring" (RTM) Pseudocode ge geben, welche einen Kollektor „Collector" für die Überwachung der Daten von industriellen Geräten und einen VPN-Endpunkt („VPN-Gateway") umfasst, der alles verschlüsselt, was in eine öffentliche Cloud- Infrastruktur gelangt. Der Kollektor führt eine Vorverarbeitung durch und sendet das Ergebnis dieser Vorverarbeitung an ein Backend. Die maschinenlesbare Be schreibung kann dabei wie folgt aufgebaut sein: app RTM {
component Collector {
node properties : Intel comp., min 2 GB mem. , 20 GB stör peers {
VPN-Gateway {
min BW ...
}
devices * {
close
min 0.5 Mbps
}
}
license_key ...
}
component VPN-Gateway {
node properties : Intel compatible, min 0.5 GB memory peers {
Collector {}
mindsphere.com, min 2 Mbps
}
license_key ...
}
}
Die in Pseudocode dargestellte Spezifikation beziehungsweise Beschreibung enthält grundsätzlich die Anforderungen und nennt weitere notwendige Dienste, welche erreichbar sein müs sen. Der Eintrag „devices *" bezeichnet eine beliebige Anzahl von Geräten, die sich in der Nähe der Kollektor-Komponente befinden sollten. Jedes dieser Geräte benötigt eine minimale Bandbreite von 0,5 Mbit/s als Konnektivität. In analoger Wei se können weitere Parameter als Anforderungen für die Appli kation definiert werden, welche anschließend bei Bestimmung eines geeigneten Installationsortes zu berücksichtigen sind. Zu verbindende Geräte sind vorab vom Betreiber der Applikati on, beispielsweise einem Fabrikbesitzer, hinzuzufügen. Dies kann auch mittels einer Liste oder einer Gruppe erfolgen, beispielsweise indem der Betreiber eine Gruppe „Profinetl- O_motortemp" definiert und dort Geräte hinzufügt. Der Betrei ber kann auch Einschränkungen hinzufügen, wie z.B. eine maxi male Bandbreite oder ein Verbot hinsichtlich eines Standortes wie „nicht in Halle 5".
Die aus der ursprünglichen Spezifikation und den neu hinzuge fügten Anforderungen erhaltene maschinenlesbare Beschreibung wird anschließend an eine Einrichtung übermittelt, welche das Verfahren zur Bestimmung eines geeigneten Installationsortes durchführt, um den geeigneten Host zu finden. Dabei sind die Ortsangaben, die tatsächliche Auslastung der zur Verfügung stehenden Hosts und mehr (entsprechend den Anforderungen) zu berücksichtigen .
Fig. 1 zeigt ein Beispiel eines Deployment-Prozesses unter Nutzung des vorgeschlagenen Verfahrens, umfassend eine
Dienstplanungseinheit A, eine Platzierungseinheit B sowie ei ne Installationseinheit C.
Der Dienstplanungseinheit A wird in Verfahrensschritt Sla die Dienstbeschreibung des Herstellers in Form einer maschinen lesbaren Beschreibung der zu installierenden Applikation be- reitgestellt . Ferner werden in Verfahrensschritt Slb die Richtlinien des Fabrikbesitzers lb zugeführt, welche weitere Anforderungen und/oder Eigenschaften enthalten, wie vorste hend zu dem dargestellten Pseudocode ausgeführt.
Von der Dienstplanungseinheit A wird in Verfahrensschritt S2 weiter die zu installierende Applikation mit einem Objekti- dentifikator, welcher die angereicherte Beschreibung sowie die Anforderungen und/oder Eigenschaften der zu installieren den Applikation umfasst, welche zuvor vom Fabrikbesitzer be- reitgestellt wurden, verknüpft, so dass eine vollständige Dienstbeschreibung erzeugt wird. Es erfolgt eine Speicherung der Obj ektidentifikatoren von der zu installierenden Applika tion als vollständige Dienstbeschreibung in einer Datenbank.
Die vollständige Dienstbeschreibung wird in Verfahrensschritt S3a an eine Platzierungseinheit B bereitgestellt, sobald eine Anfrage hinsichtlich einer zu installierenden Applikation empfangen wird. Gleichzeitig erhält die Platzierungseinheit B Informationen 3a-3d zu Gerätegruppen und Dienstgruppen, dem derzeitigen Status der „Edge Cloud", dem derzeitigen Netz werkstatus sowie zu dem Grundriss der Fabrik. Diese Informa tionen wurden zuvor durch Verknüpfen von in der verteilten Netzwerkumgebung existierenden Objekten mit wenigstens je weils einem weiteren Obj ektidentifikator, welcher wenigstens eine Eigenschaft eines Objektes beschreibt, erstellt, wobei die Obj ektidentifikatoren von den Objekten in der verteilten Netzwerkumgebung in einer Datenbank gespeichert wurden.
Die Platzierungseinheit B stellt die in den Verfahrensschrit ten S3a und S3b erhaltenen Informationen der gespeicherten Obj ektidentifikatoren der zu installierenden Applikation und der Objekte für eine Auswerteeinheit bereit, nachdem eine An frage hinsichtlich der zu installierenden Applikation empfan gen wurde. Anschließend empfängt die Platzierungseinheit B einen ermittelten geeigneten Installationsort von der Auswer teeinheit zurück.
In Verfahrensschritt S4a wird der ermittelte optimale Instal lationsort von der Platzierungseinheit B zusammen mit den Ab bildern 4a-4c von zu installierenden Software-Applikationen, welche in Schritt S4b empfangen wurden, zur Erzeugung einer Topologie- Information zur Softwareverteilung 5 kombiniert.
Diese Informationen werden anschließend an eine Installati onseinheit C bereitgestellt, welche die eigentliche Installa tion beziehungsweise das Deployment von Software- Applikationen durchführt. Zusammenfassend können die Grundgedanken des Platzierungsbe- darfs wie folgt festgehalten:
1. Endpunktgruppen
Geräte und Dienste können in Gruppen zusammengefasst werden. Beispielsweise kann eine Gruppe mit dem Namen „Enterprise WLAN" Access Points enthalten, welche nicht für den Echtzeit verkehr bestimmt sind. Jede Gruppe ist eine Liste von Einträ gen. Ein Eintrag hat eine Beschreibung, die den Point-of- Attachment zum Netzwerk (d.h. die IP-Adresse einer Manage ment-Schnittstelle) und einen Standort enthält. Bei Diensten kann dies der Host sein, auf welchem der Dienst läuft.
2. Standorte
Anstatt einen auf den Meter genauen geografischen Standort zu bestimmen, kann eine „semantische Standortbeschreibung" ver wendet werden, welche die wichtigsten Eigenschaften eines Standortes widerspiegelt. Diese kann einen physischen Bereich umfassen, der aus vielen Punkten besteht und nicht auf einen Punkt beschränkt ist. Der Standort kann ein strukturiertes, symbolisches und benutzerdefiniertes Namensschema verwenden, z.B. „StandortTurin/Halle5/Transportband8 " oder „Standort Turin/Halle5/Schweisszelle23 " . Im Wesentlichen kann dadurch ein grobkörniger Grundriss abgebildet werden. Der Standort kann reale Standortinformationen oder topologische, netzwerk bezogene Informationen wiedergeben, d.h. alle Geräte in einem Subnetz oder alles, was an einen bestimmten Switch ange schlossen ist.
3. Platzierung
Der Platzierungsalgorithmus übernimmt nun die Spezifikation des Dienstes, extrahiert alle dort genannten Dienste und Ge räte und stellt diese an eine Auswerteeinheit bereit. Diese kann dann in Betracht ziehen, einen Zielrechner zu finden, der sich „in der Nähe" der benötigten Punkte befindet.
4. Installation beziehungsweise Deployment Zum Deployment kann beispielsweise TOSCA (Topology and Or- chestration Specification for Cloud Applications) verwendet werden, um die Software- Images an dem von der Platzierungs- einheit angegebenen Ort zu verteilen und zu installieren. Al ternativ ist auch eine Nutzung einer anderen Software mög lich .
Die vorstehenden Ausführungsbeispiele beruhen auf der Annah me, dass eine Spezifikation einer Applikation vorhanden ist, welche Anforderungen an Ressourcen, die Netzwerk-QoS (Quality Of Service), Bereitstellungsschritte oder mehr enthält. Dies kann als ein digitales Äquivalent zum heutigen „Datenblatt" angesehen werden. Des Weiteren wird vorausgesetzt, dass das Netzwerk-QoS immer mit einem oder mehreren Zielen verbunden ist, das heißt, beispielsweise in Form einer minimalen Band breite zum Edge-Router und/oder einer maximalen Verzögerung zu einem bestimmten Endgerät. Ein Ziel ist dabei ein Gerät oder ein Dienst außerhalb der Applikation oder innerhalb der Applikation, jedoch in Form einer anderen Komponente dersel ben. Ferner
wird eine Anwendung mit anderen Anwendungen und mit Geräten, die diese Anwendung verwenden, verknüpft. Geräte oder Diens te, welche in der Spezifikation einer Applikation erwähnt werden, beziehen sich auf ein eindeutig identifizierbares Ge rät (z.B. „ PLC3 " ) oder eine Gruppe von Zielen („Gabelstapler- Gruppe") . Optional kann ferner vorgesehen sein, dass eine An wendung mehrfach gestartet werden kann bzw. virtualisiert werden kann. Die Anwendung kann in einem oder mehreren Soft ware-Abbildern bzw. „Images" gebündelt sein, wobei jedes Image unterschiedliche Anforderungen und Abhängigkeiten haben kann. Ein Image kann in Form eines Containers oder eines Vir- tualisierungs-Images vorliegen. Eine Deployment -Spezifikation enthält vorzugsweise auch Schritte, die vor dem Start (z.B. VM-Vorbereitung) , beim Start oder nach dem Start (z.B.
Startskripte) und während des Betriebs (z.B. Schritte zur Steuerung eines Update-Prozesses) durchgeführt werden. Hinsichtlich der „Edge Cloud" wird angenommen, dass diese mehrere Hosts aufweist. Jeder Host kann unterschiedliche Res sourcen und Fähigkeiten haben und hat Schnittstellen. Ferner hat jeder Knoten einen bekannten Standort und eine bekannte Verwaltungsadresse sowie einen Einstiegspunkt.
Das verteilte Netzwerk verbindet Hosts der „Edge Cloud" und Geräte und kann logisch in Subnetze gegliedert sein, wobei eine logische Strukturierung bedeutet, dass Teile des Netz werks identifiziert werden können (z.B. mittels symbolischem Namen und/oder Adressierungsschema) . Eine Struktur auf Ether net- oder IP-Ebene ist demnach nicht zwangsläufig gemeint.
Die Eigenschafteten hinsichtlich der Netzwerk-Topologie und der Netzwerkverbindungen sind verfügbar und können als zu sätzliche Eingabe berücksichtigt werden. Das Netzwerk kann zudem eine Art der Verkehrssteuerung unterstützen, beispiels weise mittels SDN (Software-defined Networking) , einer proprietären Lösung oder einem vorkonfigurierten System (d.h. vorkonfigurierte VLANs) . Relevante Knoten (wie Hosts der „Edge Cloud", Netzwerkknoten oder Software-Dienste) haben Ob- j ektidentifikatoren, welche verschiedene Informationen abbil den, die für den vorbeschriebenen Platzierungsprozess benö tigt werden.
Letztlich wird vorausgesetzt, dass ein Tool zur Bereitstel lung von Images (in Verfahrensschritt S4b) existiert.
Obwohl die vorliegende Erfindung anhand von Ausführungsbei spielen beschrieben wurde, ist sie vielfältig modifizierbar.

Claims

Patentansprüche
1. Verfahren zur Bestimmung eines geeigneten Installation sortes für eine zu installierende Applikation in einer ver teilten Netzwerkumgebung, umfassend folgende Schritte:
- Bereitstellen (Sla) einer maschinenlesbaren Beschreibung der zu installierenden Applikation,
- Anreichern (Slb) der maschinenlesbaren Beschreibung mit weiteren Anforderungen und/oder Eigenschaften,
- Verknüpfen (S2) der zu installierenden Applikation mit ei nem Obj ektidentifikator , welcher die angereicherte Beschrei bung sowie die Anforderungen und/oder Eigenschaften der zu installierenden Applikation und ferner eine systemweit ein deutige Bezeichnung umfasst,
- Verknüpfen von in der verteilten Netzwerkumgebung existie renden Objekten mit wenigstens jeweils einem weiteren Obj ek tidentifikator , welcher wenigstens eine Eigenschaft eines Ob jektes beschreibt,
- Speichern der Obj ektidentifikatoren von der zu installie renden Applikation und den Objekten in der verteilten Netz werkumgebung in einer Datenbank,
- Empfangen einer Anfrage hinsichtlich der zu installierenden Applikation,
- Bereitstellen (S3a, S3b) der gespeicherten Obj ektidentifi - katoren der zu installierenden Applikation und der Objekte für eine Auswerteeinheit, und
- Empfangen eines ermittelten geeigneten Installationsortes von der Auswerteeinheit.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der ermittelte optimale Installationsort zur automatischen Installation der zu installierenden Applikation genutzt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Anreichern der maschinenlesbaren Beschreibung eine Anreicherung mit Sicherheitsrichtlinien umfasst.
4. Verfahren nach einem der Ansprüche 1 - 3, dadurch gekenn zeichnet, dass das Ermitteln eines geeigneten Installation sortes unter Berücksichtigung von zwischen den Objekten gege benen und in deren Obj ektidentifikatoren beschriebenen Abhän gigkeiten erfolgt.
5. Verfahren nach einem der Ansprüche 1 - 4, dadurch gekenn zeichnet, dass die Eigenschaften der Objekte
- eine garantierte Übertragungsbandbreite,
- einen QoS-Wert,
- eine Zugehörigkeit zu einer logischen Gruppe,
- eine Zugehörigkeit zu einer logischen Topologie,
- einen physischen Einsatzort, und/oder
- Eigenschaften einer physischen oder virtuellen Verbindung umfassen .
6. Verfahren nach einem der Ansprüche 1 - 5, dadurch gekenn zeichnet, dass die Anforderungen und Eigenschaften der zu in stallierenden Applikation
- Bereitstellungs- beziehungsweise Deploymentanforderungen,
- eine notwendige Virtualisierbarkeit ,
- eine maximal erlaubte Latenzzeit,
- eine Anzahl benötigter VLAN-Schnittstellen,
- eine Verantwortlichkeit hinsichtlich ihrer Verwaltung,
- bestehende Sicherheitsanforderungen,
- einen zu einer Zieladresse erforderlichen QoS-Wert, und/oder
- eine Zugehörigkeit zu weiteren Applikationen und/oder Ob- j ekten
umfassen .
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die weiteren Applikationen und/oder Objekte eindeutig identi fizierbar sind.
8. Verfahren nach einem der Ansprüche 1 - 7, dadurch gekenn zeichnet, dass die Objekte der verteilten Netzwerkumgebung
- physische Geräte, - physische Verbindungen,
- virtuelle Verbindungen,
- virtuelle Dienste, und/oder
- logische Topologien
umfassen .
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass jedes der physischen Geräte einen bekannten physischen Ein satzort hat.
10. Verfahren nach einem der Ansprüche 1 - 9, dadurch gekenn zeichnet, dass die verteilte Netzwerkumgebung in Subnetze ge gliedert ist.
11. Computerprogrammprodukt, welches auf einer programmge steuerten Einrichtung die Durchführung des Verfahrens nach einem der Ansprüche 1 - 10 veranlasst.
12. System zur Bestimmung eines geeigneten Installationsortes für eine zu installierende Applikation in einer verteilten Netzwerkumgebung, umfassend
- eine Dienstplanungseinheit (A) , welche zum Empfang (Sla) einer maschinenlesbaren Beschreibung der zu installierenden Applikation, zum Anreichern (Slb) der maschinenlesbaren Be schreibung mit weiteren Anforderungen und/oder Eigenschaften sowie zum Verknüpfen (S2) der zu installierenden Applikation mit einem Obj ektidentifikator, welcher die angereicherte Be schreibung sowie die Anforderungen und/oder Eigenschaften der zu installierenden Applikation und ferner eine systemweit eindeutige Bezeichnung umfasst, ausgebildet ist,
- eine Datenbank zur Speicherung der Obj ektidentifikatoren von der zu installierenden Applikation und den Objekten in der verteilten Netzwerkumgebung, wobei in der verteilten Netzwerkumgebung existierende Objekte mit wenigstens jeweils einem weiteren Obj ektidentifikator, welcher wenigstens eine Eigenschaft eines Objektes beschreibt, verknüpft sind, und - eine Platzierungseinheit (B) , welche zum Empfangen einer Anfrage hinsichtlich der zu installierenden Applikation, zum Empfang (S3a, S3b) der gespeicherten Obj ektidentifikatoren der zu installierenden Applikation und der Objekte für eine Auswerteeinheit, sowie zum Empfangen eines ermittelten geeig neten Installationsortes von der Auswerteeinheit ausgebildet ist .
13. System nach Anspruch 12, gekennzeichnet durch eine In- stallationseinheit (C) , welche dazu ausgebildet ist, auf Ba sis des ermittelten geeigneten Installationsortes die automa tische Installation der zu installierenden Applikation durch zuführen .
PCT/EP2019/065905 2018-06-26 2019-06-17 Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung WO2020002030A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19734301.5A EP3794442A1 (de) 2018-06-26 2019-06-17 Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung
CN201980056407.7A CN112585574A (zh) 2018-06-26 2019-06-17 用于确定在分布式网络环境中所要安装的应用程序的适合的安装位置的方法和系统
US17/253,900 US11561781B2 (en) 2018-06-26 2019-06-17 Method and system for determining an appropriate installation location for an application to be installed in a distributed network environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018210405 2018-06-26
DE102018210405.0 2018-06-26

Publications (1)

Publication Number Publication Date
WO2020002030A1 true WO2020002030A1 (de) 2020-01-02

Family

ID=67107392

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/065905 WO2020002030A1 (de) 2018-06-26 2019-06-17 Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung

Country Status (4)

Country Link
US (1) US11561781B2 (de)
EP (1) EP3794442A1 (de)
CN (1) CN112585574A (de)
WO (1) WO2020002030A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4053698A1 (de) 2021-03-05 2022-09-07 Siemens Aktiengesellschaft Bedarfsabhängiger kanten-netzwerk-einsatz durch eine industrielle ausrüstung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706869B2 (en) * 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
US20140344461A1 (en) 2010-03-19 2014-11-20 Novell, Inc. Techniques for intelligent service deployment
US20150100684A1 (en) * 2012-06-08 2015-04-09 Stephane Maes Test and management for cloud applications
US20170289060A1 (en) 2016-04-04 2017-10-05 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US20120137278A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Generating a customized set of tasks for migration of a deployed software solution
US8627311B2 (en) * 2011-02-01 2014-01-07 Hewlett-Packard Development Company, L.P. Systems, methods, and apparatus to deploy software
US8881136B2 (en) * 2012-03-13 2014-11-04 International Business Machines Corporation Identifying optimal upgrade scenarios in a networked computing environment
US9256424B1 (en) * 2014-09-26 2016-02-09 Oracle International Corporation Managing software configurations across different target software deployments
US10282187B2 (en) * 2014-07-03 2019-05-07 Oracle International Corporation Efficient application patching in heterogeneous computing environments
US10530660B2 (en) * 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US20160344772A1 (en) * 2015-05-22 2016-11-24 Brian Quentin Monahan Modelling network to assess security properties
US10761827B2 (en) * 2016-11-30 2020-09-01 Vmware, Inc. WIN32 software distribution architecture
US11102053B2 (en) * 2017-12-05 2021-08-24 Cisco Technology, Inc. Cross-domain assurance
US10642603B2 (en) * 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US20190354403A1 (en) * 2018-05-18 2019-11-21 International Business Machines Corporation Deploying embedded computing entities based on features within a storage infrastructure
US10671370B2 (en) * 2018-05-30 2020-06-02 Red Hat, Inc. Distributing file system states

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344461A1 (en) 2010-03-19 2014-11-20 Novell, Inc. Techniques for intelligent service deployment
US8706869B2 (en) * 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
US20150100684A1 (en) * 2012-06-08 2015-04-09 Stephane Maes Test and management for cloud applications
US20170289060A1 (en) 2016-04-04 2017-10-05 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OASIS: "Topology and Orchestration Specification for Cloud Applications Version 1.0", 25 November 2013 (2013-11-25), XP055580323, Retrieved from the Internet <URL:http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.pdf> [retrieved on 20190411] *
XIAOYUN ZHU ET AL: "Automated application component placement in data centers using mathematical programming", INTERNATIONAL JOURNAL OF NETWORK MANAGEMENT, vol. 18, no. 6, 1 November 2008 (2008-11-01), GB, pages 467 - 483, XP055619980, ISSN: 1055-7148, DOI: 10.1002/nem.707 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4053698A1 (de) 2021-03-05 2022-09-07 Siemens Aktiengesellschaft Bedarfsabhängiger kanten-netzwerk-einsatz durch eine industrielle ausrüstung
WO2022184313A1 (en) 2021-03-05 2022-09-09 Siemens Aktiengesellschaft On-demand edge-network deployment by industrial equipment

Also Published As

Publication number Publication date
US20210271462A1 (en) 2021-09-02
US11561781B2 (en) 2023-01-24
CN112585574A (zh) 2021-03-30
EP3794442A1 (de) 2021-03-24

Similar Documents

Publication Publication Date Title
DE102020124789A1 (de) Hyperkonvergente architektur für industrieleitsystem
EP2625822B1 (de) Verfahren zur konfiguration eines oder mehrerer geräte in einem ethernet-basierten kommunikationsnetz
DE102004016850B4 (de) Verfahren, Management-Server und Computerprogramm zum Zuordnen von Status-Nachrichten überwachter Objekte einer IT-Ifrastruktur
DE112013001597T5 (de) Planung und Überwachung von Autonomen-Mission
WO2011098231A2 (de) Verfahren, computerprogram-produkt sowie computerlesbares speichermedium zur generischen erstellung eines strukturbaums zur beschreibung eines it-verfahrens
DE112010003144T5 (de) Erweiterbare Grundstruktur zur Unterstützung verschiedener Einsatzarchitekturen
DE112016006514T5 (de) Verfahren und Datenverarbeitungssystem zum Verwalten von Datenstromverarbeitungstasks einervordefinierten Anwendungstopologie
DE10343963A1 (de) Bereitstellung von Diagnoseinformationen
WO2020249345A1 (de) Verfahren zur bereitstellung von steuerungsanwendungen und konfigurationssteuerungseinrichtung
WO2020002030A1 (de) Verfahren und system zur bestimmung eines geeigneten installationsortes für eine zu installierende applikation in einer verteilten netzwerkumgebung
Iglesias-Urkia et al. Trilateral: A model-based approach for industrial cps–monitoring and control
EP1457002B1 (de) Persistente speicherung von netzwerkmanagementdaten unter verwendung von objektreferenzen
DE102019211908A1 (de) Verfahren und Vorrichtung zum Verteilen einer Anwendung
EP3739407A1 (de) Verfahren zur anpassung einer kommunikationstopologie in einem cyber-physischen system
EP3579498B1 (de) Verfahren zum konfigurieren eines kommunikationsnetzes
LU101163B1 (de) Verfahren und Vorrichtungen für eine Lastzuweisung und Überwachung für eine zuzuweisende versorgungssicherheitskritische Ressource in einem Netzwerk
DE102019102617A1 (de) Verfahren zum Zugriff auf Daten und Dienste eines Netzwerkknotens in einem Netzwerk der Automatisierungstechnik
EP2927811B1 (de) Verfahren zur Steuerung eines automatisierten Ablaufs
DE102022207594A1 (de) Verfahren zum Bilden einer Kommunikationsschnittstelle zwischen einem Softwaremodul und einem Adressaten
DE102021204789A1 (de) Verfahren und system zur zusicherung garantierter dienstgüte in fahrzeugen
DE112022004035T5 (de) Verteilter Einsatz von Softwareanwendungen zur Prozessautomatisierung
DE102019102616A1 (de) Verfahren zum Zugriff auf Daten und Dienste eines Netzwerkknotens in einem Netzwerk der Automatisierungstechnik
DE102019102615A1 (de) Verfahren zum Zugriff auf Daten und Dienste eines Netzwerkknotens in einem Netzwerk der Automatisierungstechnik
Ozawa et al. A platform for tenant network provisioning with provisioning template
EP2996004A1 (de) Verfahren zur Bereitstellung von Informationen über Kommunikationsnetzadressen innerhalb eines industriellen Automatisierungssystems und Router

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19734301

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019734301

Country of ref document: EP

Effective date: 20201214

NENP Non-entry into the national phase

Ref country code: DE