-
Die vorliegende Erfindung betrifft ein Verfahren zum Verteilen einer Anwendung. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
-
Auf dem Gebiet des IT-Managements werden unterschiedlichste Prozesse zur Installation von Softwareanwendungen auf Rechnern und in Rechenzentren gemeinhin unter dem Begriff der Softwareverteilung (software deployment) zusammengefasst.
-
Edge Computing bezeichnet - in Anlehnung an das hinlänglich bekannte Cloud Computing - die dezentrale Datenverarbeitung am topologischen Rand (edge) eines Rechnernetzes. Hierzu werden Datenströme ressourcenschonend teilweise an Ort und Stelle - z. B. direkt am Endgerät oder innerhalb einer Fabrik -, teilweise jedoch in der Cloud verarbeitet.
-
WO 2018/206502 A1 beschreibt ein Verfahren zum Zuteilen digitaler Ressourcen eines lokalen, modularen Rechnernetzwerkes, dessen Modulen jeweils ein Ressourcenwert für eine Ressource zugeordnet ist, in Abhängigkeit von einem Eingabedatensatz, der eine Ressourcenanfrage mit einem Bedarfswert aufweist. Zunächst wird hierzu der Eingabedatensatz eingelesen, dann von jedem Rechenmodul der Ressourcenwert ab, welcher die Verfügbarkeit des jeweiligen Moduls repräsentiert. Sodann wird der Bedarfswert mit den abgerufenen Ressourcenwerten verglichen. In Abhängigkeit vom Ergebnis werden die Ressourcen der Anfrage zugeteilt.
-
US 9,336,060 B2 beschreibt ein Framework für Middleware-Dienste, welches auf einem ähnlichen Ansatz beruht.
-
CN 107357241 A offenbart eine einschlägige Lösung aus dem Industrial-loT-Umfeld.
-
CN 109144659 A diskutiert Techniken zur Live-Migration von Edge-Computing-Funktionen insbesondere anhand von deren Anforderungen und Auslastung der Knoten.
-
Stand der Technik
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zum Verteilen einer Anwendung, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Die vorgeschlagene Lösung fußt auf der Erkenntnis, dass in der modernen Unternehmensinfrastruktur die Arbeitslast nicht über die gesamte Organisation verteilt werden kann. Die gattungsmäßige Unternehmensinfrastruktur verfügt derzeit nicht über eine vollständig vernetzte Architektur insofern, als sie keine verteilte Dienste-Schicht und damit verbundene Verwaltungsfunktionen zu ihrer Organisation unterstützt. Darüber hinaus werden die Anwendungsfunktionen derzeit im Allgemeinen nicht in virtualisierten Umgebungen wie Containern und virtuellen Maschinen oder als eigenständige Funktionsbausteine ausgeführt. Zudem sind die Anforderungen der Anwendungsfunktionen sowie die Gegebenheiten der Topologie und der jeweiligen Ressourcen der Infrastruktur in der Regel nicht maschinenlesbar systemweit bekannt, was eine automatische Platzierung oder dynamische automatisierte Verschiebung der Funktionen derzeit unmöglich macht.
-
Ein Grundgedanke des erfindungsgemäßen Ansatzes liegt vor diesem Hintergrund darin, eine automatische und dynamische Zuweisung beziehungsweise Neuzuweisung von Anwendungsfunktionen an die für deren Ausführung günstigste Position innerhalb einer Infrastruktur in Abhängigkeit von den Anforderungen der jeweiligen Funktion vorzunehmen.
-
Die Infrastruktur besteht hierbei aus einer Reihe topologisch verteilter Knoten. Diese Knoten sind mit Ressourcen wie Datenverarbeitungseinheiten, Speicher usw. verknüpft. Sie sind zudem direkt oder indirekt miteinander und direkt oder indirekt mit Endgeräten verbunden.
-
Beim Systemstart wird mindestens ein zentraler Knoten der Topologie identifiziert und mit einer Dienste-Schicht (platform as a service, PaaS; function as a service, FaaS) ausgestattet. Ausgehend von diesem zentralen Knoten sind die restlichen Knoten der Topologie ebenfalls mit einer entsprechenden Schicht ausgestattet, sodass eine über die gesamte Topologie verteilte Schicht entsteht. Wenn ein Endgerät dazu geeignet ist, kann auch dieses mit einer entsprechenden Schicht ausgestattet werden.
-
Eine Logik stimmt die Anforderungen der Anwendungsfunktion mit den verfügbaren Ressourcen ab. Diese Logik ist innerhalb der Infrastruktur im Rahmen der zentralen oder der lokalen Edge-Management-Funktion der zentralen bzw. der lokalen PaaS- bzw. FaaS-Schichten verfügbar.
-
Darüber hinaus überwacht eine weitere Logik des Systems die derzeitige Ressourcenverfügbarkeit, um die Erfüllung der Anforderungen an die Anwendungsfunktion sowie die dynamische und automatisierte Zuweisung und Neuzuweisung von Anwendungsfunktionen zu unterstützen. Diese Logik sollte ebenfalls in jeder PaaS- bzw. FaaS-Schicht der Topologie verfügbar sein.
-
Wie bereits erwähnt können je nach Leistungsfähigkeit der Endgeräte auch diesen Anwendungsfunktionen zugeordnet werden. Wenn ein Endgerät mit einer PaaS- oder FaaS-Schicht ausgestattet ist, kann es ebenfalls die Neuzuweisung der Anwendungsfunktionen an einen anderen Knoten auslösen. Wenn das Endgerät selbst nicht über eine PaaS- oder FaaS-Schicht verfügt, wird die Neuzuweisung durch einen anderen PaaS- oder FaaS-Knoten innerhalb der Infrastruktur vorgenommen.
-
Ein Vorzug dieser Lösung liegt darin, dass sie - im Vergleich zu einigen der oben genannten Lösungen - von einem generischen Systemmodell ausgeht. Die skizzierten Methoden sind insbesondere nicht auf mobile Kommunikationssysteme begrenzt. Weiterhin werden allgemeine Endgeräte und nicht unbedingt mobile Geräte oder Sensorgeräte als Endgeräte unterstützt. Diese Endgeräte liefern verschiedene Arten von Daten und sind nicht etwa auf Sensordaten beschränkt.
-
Hierbei berücksichtigt das Konzept allgemeine Infrastruktureinheiten und Ressourcen wie virtualisierte oder nicht virtualisierte Rechenleistung, Speicher, Verbindungs- und Kommunikationsressourcen sowie Anwendungsfunktionen, die bei der Verwaltung der genannten Ressourcen zum Einsatz kommen.
-
Ein Publikations- und Abonnementverfahren (publish-subscribe) und eine konfigurierbare Nachricht können verwendet werden, um die Verteilung von Informationen über Betriebsmittel wie Rechenleistung, Speicher, Konnektivität usw. zu koordinieren. Ein entsprechendes Verfahren kann auf die Anforderungen der Anwendungsfunktion angewendet werden. Auch semantische Methoden sollten herangezogen werden, um die im Rechnernetz verfügbaren Betriebsmittel und deren Beziehungen sowie die Anforderungen der Anwendungsfunktionen zu beschreiben.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So besteht eine erfindungsgemäße Unternehmensinfrastruktur beispielsweise aus einem globalen Rechenzentrum, mehreren regionalen Rechenzentren und auf regionaler Ebene weiteren lokalen Rechenzentren, die Infrastrukturdienste für entfernte Standorte anbieten. Weitere Betriebsmittel können z. B. aus öffentlichen Clouds wie Microsoft Azure oder Amazon Web Services (AWS) abgerufen werden. Innerhalb oder in der Nähe der lokalen Rechenzentren könnten beispielsweise weitere Netzwerkknoten wie Server im Werksumfeld zur Verfügung stehen, um Anwendungsfunktionen zu erfüllen.
-
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Anwendungsverwaltung über die Laufzeitumgebung verteilt erfolgt. Die Rechenzentren, Server und öffentlichen Cloud-Ressourcen werden dabei mit der verteilten PaaS- oder FaaS-Schicht, im Folgenden auch Edge Runtime (ERT) genannt, ausgestattet. Eine ERT beinhaltet sogenannte Edge Services, lokal erforderliche Management- sowie andere PaaS- und FaaS-typische Funktionen
-
Figurenliste
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
- 1 eine erfindungsgemäße Infrastruktur.
- 2 das Flussdiagramm eines erfindungsgemäßen Verfahrens.
- 3 beispielhaft die Anwendungsfunktionen maschinelles Lernen, Fernüberwachung und Qualitätsvorhersagen.
-
Ausführungsformen der Erfindung
-
Eine erfindungsgemäße Anwendungsverwaltung sollte in der Lage sein, vollständig zentral oder hybrid wie in 1 zu arbeiten: als teils zentrale, teils dezentrale Anwendungsverwaltung (24). Im Folgenden wird die letztgenannte Hybridlösung anhand der 2 näher beschrieben. Die Topologie der Infrastruktur wird in diesem Fall den dezentralen ERTs (28) zur Verfügung gestellt und regelmäßig aktualisiert.
-
Anwendungen haben verschiedene Funktionen. Die Anforderungen an diese Anwendungsfunktionen werden semantisch in Bezug auf Programmierschnittstelle (application programming interface, API), Priorität, Latenz, Bandbreite, Rechenleistung, Ressourcenkosten, Leistung usw. beschrieben. Diese semantischen Beschreibungen werden als Eingabe der zentralen Anwendungsverwaltung (24) zugeführt (23). Letztere erzeugt (25) ihrerseits eine Konfigurationsbeschreibung (edge compute as code), die an jede lokale ERT (28) oder mit der ERT (28) der Infrastrukturknoten, die der Anwendung (21) oder bestimmten Anwendungsfunktionen zugeordnet sind, verteilt wird. Die Verteilung des edge compute as code kann bei großen Infrastrukturen auch topologisch begrenzt erfolgen. Eine Änderung der Anforderungen an die Anwendungsfunktion führt zu einer Änderung der semantischen Beschreibung (26), die wiederum zu einer Änderung der edge compute as code-Beschreibung der ERTs (28) führt.
-
Darüber hinaus werden der Anwendungsverwaltung (24) der ERTs (28) semantische Beschreibungen der Ressourcen, betreffend etwa aktuellen Speicherzustand, Rechenleistung, Bandbreite, Latenzzeit, Ressourcenkosten usw., zur Verfügung gestellt.
-
Die Aktualisierung von Topologie-, Ressourcen- und Anwendungsinformationen kann - zum Beispiel auf ein bestimmtes geografisches Gebiet - eingeschränkt werden, um übermäßige Aktualisierungen zu vermeiden und den Kommunikationsaufwand zu senken. Hierzu kann beispielsweise eine selbstlernende Logik vorgesehen sein. Auch ein Publish-Subscribe-Mechanismus kann angewendet werden, um die Aktualisierungen auf ERTs (28) zu beschränken, welche zuvor durch eine Subscribe-Nachricht mit einer bestimmten Konfiguration ihr Interesse bekundet haben. Die vorliegenden Ressourcenverhältnisse sollten hierbei stets bekannt sein, insbesondere unter hoher Belastung. Infrastruktureinrichtungen, die während eines vorgegebenen Zeitraums nicht für die Zuweisung oder Neuzuweisung genutzt wurden, können von einer regelmäßigen und zeitnahen Aktualisierung ausgenommen werden. Die Aktualisierung der Topologie-Informationen sollte sodann in größeren Zeitabständen bei geringer Netzlast erfolgen.
-
Die zentrale Anwendungsverwaltung (24) wertet die Konfigurationsdatei aus und verteilt die Anwendungsfunktionen anhand ihrer Laufzeitanforderungen (22), der Topologie und den Eigenschaften der Infrastrukturknoten.
-
3 zeigt beispielhaft die für die vernetzte Industrie zentralen Anwendungsfunktionen maschinelles Lernen (machine learning, ML, 31), Fernüberwachung (remote monitoring, RM, 32) und Qualitätsvorhersagen (quality prediction, QP, 33).
-
Die ERTs (28) des regionalen Rechenzentrums (12) und der lokalen Rechenzentren (13), die entweder die jeweilige Anwendung (21) abonniert haben oder von der Anwendungsverwaltung (24) des globalen Rechenzentrums (11) ausgewählt wurden, erhalten von diesem die semantische Beschreibung (26) der Anwendungsfunktionen. Die ERTs (28) verfügen zudem über die aktuellen Topologie-Informationen und Ressourcenfähigkeiten. Basierend auf diesen topologischen Informationen, aktuellen Ressourcenfähigkeiten und der kodierten Beschreibung (26) wählt das globale Rechenzentrum (11) ein lokales Rechenzentrum (13) aus, um die Anwendungsfunktionen zu erfüllen. Die Platzierung durch das globale Rechenzentrum erfolgt im Rahmen der Erstplatzierung oder im Zusammenhang eines zyklisch wiederkehrenden Optimiervorganges.
-
Durch Änderung der Code-, Topologie- oder Ressourcensituation löst die ERT (28) des betreffenden lokalen Rechenzentrums (13) die Neuzuordnung der Anwendungsfunktionen aus. Die ERT (28) ordnet dann ML (31), RM (32) und QP (33) in Abhängigkeit von Konfiguration, Topologie und Ressourcensituation des globalen Rechenzentrums (11), der lokalen Rechenzentren (13) und des Servers (14) vor Ort (on premises) erneut zu.
-
Eine Anzahl n von Infrastrukturknoten InfrKnoteni definiert die Topologie der Infrastruktur. Die zentralen und lokalen ERTs (28) erstellen und pflegen Ressourcenlisten auf der Grundlage der derzeitigen Ressourcenverhältnisse aller Knoten InfrKnoteni der Topologie. Weiterhin kennt jedes ERT (28) eines InfrKnoteni die Anforderungen der Anwendungsfunktionen, z. B. die Latenzanforderung latenzAnforderungk der Anwendungsfunktion k, aus diesbezüglichen Funktionslisten.
-
Die folgende Tabelle illustriert anhand eines Beispiels die aktuellen Latenzwerte und die Kosten der Ressourcen zwischen Knoten und Endgerät:
Knoten | Latenz | Ressourcenkosten | S |
InfrKnoten22 | 100 | 100 | 250 |
InfrKnoten9 | 110 | 80 | 245 |
-
Wenn die Latenz als entscheidende Anforderung festgelegt ist, wird in diesem Beispiel InfrKnoten22 ausgewählt, da die Latenz22 die niedrigste Latenz zwischen anforderndem Endgerät und InfrKnoten22 darstellt. Wenn hingegen die Kosten als entscheidende Anforderung definiert sind, wird folglich InfrKnoten9 ausgewählt. Auch eine Kombination mehrerer Kriterien, gegebenenfalls mit einer Gewichtung, die die Rangfolge der Anforderungen widerspiegelt, kann als Entscheidungsgrundlage herangezogen werden. Z. B. könnte anhand der Berechnungen 1,5 · 100 + 1 · 100 = 250 und 1,5 · 110 + 1 · 80 = 245 die Entscheidung fallen, dass InfrKnoten9 gewählt wird.
-
Eine Erstplatzierung erfolgt durch die zentrale Anwendungsverwaltung (24). Falls der Zusammenhang latenzAnforderungk ≥ Latenzi' gilt, wählt die Anwendungsverwaltung (24) bei alleiniger Betrachtung der Latenz InfrKnoteni' als denjenigen Knoten mit der geringsten Latenz in der Ressourcenliste.
-
Eine Ersetzung gestaltet sich in diesem Beispiel wie folgt: Idealerweise wird der Ersetzungsvorgang durch die lokale ERT (28) von InfrKnoteni' ausgelöst. Alternativ kann der Ersetzungsvorgang auch durch die zentrale Anwendungsverwaltung (24) veranlasst werden. Dabei ist eine Hysterese empfehlenswert, um die Ersetzung hinauszuzögern und einen andernfalls drohenden Pingpong-Effekt zu vermeiden.
-
Sobald der Zusammenhang latenzAnforderungk + h ≤ Latenzi' erfüllt ist, wird die aktuelle Ressourcenliste geprüft. Da diese häufig aktualisiert wird, wählt die Anwendungsverwaltung (24) einen anderen Knoten InfrKnoteni'' als Ersatz aus.
-
Auch eine Verlagerung anderer Anwendungen wird idealerweise durch die lokale ERT (28) von InfrKnoteni' ausgelöst. Alternativ kann die Verlagerung auch von der zentralen Anwendungsverwaltung (24) ausgelöst werden, insbesondere im Rahmen zyklischer Optimierprozesse.
-
Die folgende Tabelle berücksichtigt die Funktionen Funktion
3 und Funktion
7 des Knotens InfrKnoten
22. Die weitere Funktion Funktion
8 ist wegen stringenter Latenzanforderungen auf denselben Knoten zu verlagern.
Anwendungsfunktion | Rechenleistung | Latenzanforderung |
Funktion3 | 100 | 100 |
Funktion7 | 120 | 500 |
Funktion8 | 100 | 50 |
-
Indes lassen aktuelle Messungen ein Absinken der auf Knoten InfrKnoten
22 verfügbaren Rechenleistung erkennen, wenn Funktion
8 an Knoten InfrKnoten
22 zugewiesen wird; in diesem Fall beläuft sich die erforderliche Rechenleistung auf 320 und übersteigt somit die verfügbare Rechenleistung von 20:
Knoten | Rechenleistung | Latenz bezüglich Endgerät für Funktion3 | Latenz bezüglich Endgerät für Funktion7 |
InfrKnoten22 | 300 | 90 | 150 |
InfrKnoten9 | 300 | 200 | 260 |
-
Wenn - wie in diesem Fall - die Summe der Rechenleistungsanforderungen die verfügbare Rechenleistung mindestens um einen Hysteresewert h übersteigt, wird die aktuelle Ressourcenliste geprüft. Da kein alternativer Knoten InfrKnoteni ermittelt werden kann, der die Latenzanforderungen von Funktion8 erfüllen könnte, wird die Verlagerung einer anderen Funktion eingeleitet.
-
Im vorliegenden Beispiel wird für Funktion7 der Knoten InfrKnoten9 ausgewählt, da diese Funktion geringere Latenzanforderungen stellt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2018/206502 A1 [0004]
- US 9336060 B2 [0005]
- CN 107357241 A [0006]
- CN 109144659 A [0007]