DE102019211908A1 - Verfahren und Vorrichtung zum Verteilen einer Anwendung - Google Patents

Verfahren und Vorrichtung zum Verteilen einer Anwendung Download PDF

Info

Publication number
DE102019211908A1
DE102019211908A1 DE102019211908.5A DE102019211908A DE102019211908A1 DE 102019211908 A1 DE102019211908 A1 DE 102019211908A1 DE 102019211908 A DE102019211908 A DE 102019211908A DE 102019211908 A1 DE102019211908 A1 DE 102019211908A1
Authority
DE
Germany
Prior art keywords
application
runtime
requirements
following
runtime environment
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
DE102019211908.5A
Other languages
English (en)
Inventor
Heidrun Grob-Lipski
Martin Zimmermann
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019211908.5A priority Critical patent/DE102019211908A1/de
Priority to CN202010788606.1A priority patent/CN112346853A/zh
Publication of DE102019211908A1 publication Critical patent/DE102019211908A1/de
Pending legal-status Critical Current

Links

Images

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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren (20) zum Verteilen einer Anwendung (21), gekennzeichnet durch folgende Merkmale:- Laufzeitanforderungen (22) der Anwendung (21) werden einer Anwendungsverwaltung (24) zugeführt (23),- durch die Anwendungsverwaltung (24) wird eine semantische Beschreibung (26) erzeugt (25) und- die Beschreibung (26) wird einer Laufzeitumgebung (28) übergeben (27) und- gemäß der Beschreibung (26) wird die Anwendung (21) innerhalb der Laufzeitumgebung (28) anhand ihrer Laufzeitanforderungen (22) wahlweise auf Cloud-Computing-Plattformen (10), Rechenzentren (11, 12, 13), Server (14) oder Endgeräte verteilt.

Description

  • 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 Funktion3 und Funktion7 des Knotens InfrKnoten22. Die weitere Funktion Funktion8 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 InfrKnoten22 verfügbaren Rechenleistung erkennen, wenn Funktion8 an Knoten InfrKnoten22 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]

Claims (10)

  1. Verfahren (20) zum Verteilen einer Anwendung (21), gekennzeichnet durch folgende Merkmale: - Laufzeitanforderungen (22) der Anwendung (21) werden einer Anwendungsverwaltung (24) zugeführt (23), - durch die Anwendungsverwaltung (24) wird eine semantische Beschreibung (26) erzeugt (25) und - die Beschreibung (26) wird einer Laufzeitumgebung (28) übergeben (27) und - gemäß der Beschreibung (26) wird die Anwendung (21) innerhalb der Laufzeitumgebung (28) anhand ihrer Laufzeitanforderungen (22) wahlweise auf Cloud-Computing-Plattformen (10), Rechenzentren (11, 12, 13), Server (14) oder Endgeräte verteilt.
  2. Verfahren (20) nach Anspruch 1, dadurch gekennzeichnet, dass die Anwendung (21) mindestens eine der folgenden Funktionen erfüllt: - maschinelles Lernen (31), - Fernüberwachung (32) oder - Qualitätsvorhersagen (33).
  3. Verfahren (20) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Rechenzentren (11, 12, 13) mindestens eines der Folgenden umfassen: - ein globales Rechenzentrum (11), - ein regionales Rechenzentrum (11) oder - ein lokales Rechenzentrum (11).
  4. Verfahren (20) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Laufzeitanforderungen (22) mindestens einen der folgenden Dienste betreffen: - eine Entwickler- und Deployment-Programmierschnittstelle - eine Betreiberschnittstelle - eine Netzwerkanwendungsprogrammierschnittstelle oder - eine Container-Virtualisierung-Programmierschnittstelle.
  5. Verfahren (20) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Laufzeitanforderungen (22) der Anwendungsverwaltung (24) als Manifest-Datei zugeführt werden, die mindestens eines der folgenden umfasst: - eine Datenlast, - eine Verzögerung oder - eine Bandbreite.
  6. Verfahren (20) nach einem der Ansprüche 1 bis 5, gekennzeichnet durch folgende Merkmale: - nach dem Verteilen wird die Anwendung (21) sowie die aktuelle Ressourcen-Situation werden fortlaufend überwacht und miteinander abgeglichen und die Anwendung (21) wird bedarfsweise innerhalb der Laufzeitumgebung (28) umverteilt.
  7. Verfahren (20) nach einem der Ansprüche 1 bis 6, gekennzeichnet durch folgendes Merkmal: - die Anwendungsverwaltung (24) erfolgt zentral und/oder über die Laufzeitumgebung (28) verteilt.
  8. Computerprogramm, welches eingerichtet ist, das Verfahren (20) nach einem der Ansprüche 1 bis 7 auszuführen.
  9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  10. Vorrichtung (10, 11, 12, 13, 14), die eingerichtet ist, das Verfahren (20) nach einem der Ansprüche 1 bis 7 auszuführen.
DE102019211908.5A 2019-08-08 2019-08-08 Verfahren und Vorrichtung zum Verteilen einer Anwendung Pending DE102019211908A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019211908.5A DE102019211908A1 (de) 2019-08-08 2019-08-08 Verfahren und Vorrichtung zum Verteilen einer Anwendung
CN202010788606.1A CN112346853A (zh) 2019-08-08 2020-08-07 用于分布应用的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019211908.5A DE102019211908A1 (de) 2019-08-08 2019-08-08 Verfahren und Vorrichtung zum Verteilen einer Anwendung

Publications (1)

Publication Number Publication Date
DE102019211908A1 true DE102019211908A1 (de) 2021-02-11

Family

ID=74191250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019211908.5A Pending DE102019211908A1 (de) 2019-08-08 2019-08-08 Verfahren und Vorrichtung zum Verteilen einer Anwendung

Country Status (2)

Country Link
CN (1) CN112346853A (de)
DE (1) DE102019211908A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021213702A1 (de) 2021-12-02 2023-06-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und System zum Betreiben eines Netzwerks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021213702A1 (de) 2021-12-02 2023-06-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und System zum Betreiben eines Netzwerks

Also Published As

Publication number Publication date
CN112346853A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
DE68919631T2 (de) Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung.
DE60302876T2 (de) Master-knotenauswahl in geclusterten knotenkonfigurationen
DE60016283T2 (de) Arbeitsbelastungsverwaltung in einer rechnerumgebung
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
EP0959407B1 (de) Verfahren zum Zuteilen von Aufträgen Datenverarbeitungssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE112010003027T5 (de) System und Verfahren zur Jobsteuerung in einem verteilten Datenverarbeitungssystem mitKennzeichnung der optimalen Netztopologie
DE102016219854A1 (de) Computersystem und Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
EP1711892B1 (de) Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm
DE112016006514T5 (de) Verfahren und Datenverarbeitungssystem zum Verwalten von Datenstromverarbeitungstasks einervordefinierten Anwendungstopologie
DE102021125182A1 (de) Gemeinsam genutzte unternehmenscloud
DE112019000421T5 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE102016105595A1 (de) Bedarfsleistungsmanagement in einer vernetzten Computerumgebung
EP1634176B1 (de) Clusteranordnung für dezentrale lastverteilung
DE112022000406T5 (de) Überwachen eines allgemeinzustands eines grossen cloud-computing-systems
DE102021124335A1 (de) Verwalten von ausfällen in edge-computing-umgebungen
DE102019211908A1 (de) Verfahren und Vorrichtung zum Verteilen einer Anwendung
EP1653308B1 (de) System und Verfahren zur Speicherung und Bereitstellung von Informationen
CN110275772A (zh) 一种数据处理方法及其相关设备
DE102004011201B4 (de) Verfahren zum Management und zur Überwachung des Betriebs mehrerer in wenigstens ein Kommunikationsnetz eingebundener verteilter Hard- und/oder Softwaresysteme sowie System zur Durchführung des Verfahrens
DE202021102315U1 (de) Flexibles Computing
LU101163B1 (de) Verfahren und Vorrichtungen für eine Lastzuweisung und Überwachung für eine zuzuweisende versorgungssicherheitskritische Ressource in einem Netzwerk
DE102012110164A1 (de) Rechneranordnung
DE3874007T2 (de) Bueroautomatisierungssystem.