DE102019204491A1 - Verfahren und Vorrichtung zum Betreiben eines Netzwerks - Google Patents

Verfahren und Vorrichtung zum Betreiben eines Netzwerks Download PDF

Info

Publication number
DE102019204491A1
DE102019204491A1 DE102019204491.3A DE102019204491A DE102019204491A1 DE 102019204491 A1 DE102019204491 A1 DE 102019204491A1 DE 102019204491 A DE102019204491 A DE 102019204491A DE 102019204491 A1 DE102019204491 A1 DE 102019204491A1
Authority
DE
Germany
Prior art keywords
network
devices
application program
migration
server
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
DE102019204491.3A
Other languages
English (en)
Inventor
Keerthana Govindaraj
Jibin Pathapparambil John
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 DE102019204491.3A priority Critical patent/DE102019204491A1/de
Publication of DE102019204491A1 publication Critical patent/DE102019204491A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Verfahren zum Betreiben eines Netzwerks, das mehrere Geräte aufweist und eine Mehrzahl von Servern zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms, das wenigstens einem der mehreren Geräte zugeordnet ist, wobei das Verfahren die folgenden Schritte aufweist: Ermitteln, ob für wenigstens zwei Geräte der mehreren Geräte eine Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von einem das Anwendungsprogramm derzeit ausführenden Quell-Server auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server ausgeführt werden soll, und Planen einer Ausführungszeit für die jeweilige Migration.

Description

  • Stand der Technik
  • Die Offenbarung betrifft ein Verfahren zum Betreiben eines Netzwerks.
  • Die Offenbarung betrifft ferner eine Vorrichtung zum Betreiben eines Netzwerks.
  • Offenbarung der Erfindung
  • Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben eines Netzwerks, das mehrere Geräte aufweist und eine Mehrzahl von Servern zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms, das wenigstens einem der mehreren Geräte zugeordnet ist, wobei das Verfahren die folgenden Schritte aufweist: Ermitteln, ob für wenigstens zwei Geräte der mehreren Geräte eine Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von einem das Anwendungsprogramm derzeit ausführenden Quell-Server auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server ausgeführt werden soll, und Planen einer Ausführungszeit für die jeweilige Migration. Dadurch kann die jeweilige Migration besonders effizient und Ressourcen schonend ausgeführt werden, und insbesondere kann auch eine Ende-zu-Ende Zeit zwischen dem Gerät und dem Server innerhalb eines vorgebbaren Grenzwerts gehalten werden.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren, insbesondere das Ermitteln, wenigstens eines der folgenden Elemente aufweist: a) Ermitteln von Bewegungsinformationen wenigstens mancher der mehreren Geräte, insbesondere der wenigstens zwei Geräte, wobei die Bewegungsinformationen insbesondere Informationen bezüglich einer Position und/oder einer zeitlichen Änderung der Position des betreffenden Geräts aufweisen, b) Ermitteln einer Auslastung des Netzwerks, insbesondere von Komponenten (z.B. Netzwerkkopplungselemente wie z.B. Switches und/oder Router und/oder Bridges und/oder Netzwerk- bzw. Datenverbindungen zwischen den Komponenten) des Netzwerks, c) Ermitteln und/oder Aktualisieren von Topologieinformationen des Netzwerks, d) Ermitteln einer geschätzten Dauer für die Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von dem Quell-Server zu dem Ziel-Server.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Ermitteln einer Auslastung des Netzwerks wenigstens eines der folgenden Elemente aufweist: a) Ermitteln einer Umlaufzeit, englisch: round trip time, RTT, für einen Datenaustausch zwischen zwei Elementen des Netzwerks, insbesondere zwischen wenigsten einem der mehreren Geräte und einem Server, der ein dem wenigstens einen Gerät zugeordnetes Anwendungsprogramm ausführt, b) Ermitteln einer verfügbaren Bandbreite bzw. Datenübertragungsrate zwischen zwei Elementen des Netzwerks.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ermitteln, ob für eine Migration der wenigstens zwei Geräte wenigstens teilweise dieselben Elemente und/oder Ressourcen des Netzwerks erforderlich sind, mithin bei z.B. gleichzeitiger Ausführung beider Migrationen eine ggf. unerwünscht hohe Auslastung bzw. Überlastung der betreffenden Elemente und/oder Ressourcen des Netzwerks zu erwarten ist.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: wiederholtes, insbesondere periodisches, Ermitteln von Bewegungsinformationen mehrerer, insbesondere aller mobilen, Geräte des Netzwerks, wiederholtes, insbesondere periodisches, Ermitteln einer, insbesondere möglichen, Auslastung von Elementen des Netzwerks, insbesondere in Abhängigkeit von den Bewegungsinformationen und/oder von Topologieinformationen, die eine Topologie des Netzwerks wenigstens teilweise charakterisieren, Ermitteln, ob für wenigstens zwei, insbesondere alle mobilen, Geräte des Netzwerks eine Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von einem das Anwendungsprogramm derzeit ausführenden Quell-Server auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server ausgeführt werden soll, und Planen einer Ausführungszeit für die jeweilige Migration. Optional können bei weiteren Ausführungsformen in einem nachfolgenden Schritt die geplanten Migrationen ausgeführt bzw. gestartet werden.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass a) wenigstens ein Server der Mehrzahl von Servern ein Edge-Server ist und/oder b) wenigstens eines der mehreren Geräte ein Endgerät, insbesondere ein mobiles Endgerät, ist.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens eines der mehreren Geräte wenigstens eines der folgenden Elemente aufweist: a) mobile Recheneinrichtung, b) Datenbrille, c) augmented reality (AR) und/oder virtual reality (VR) Brille, d) ein autonomes Fahrzeug, insbesondere Autonomous Guided Vehicle.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Netzwerk wenigstens einen Zugangspunkt aufweist, der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung mit wenigstens einem der mehreren Geräte herzustellen. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der wenigstens eine Zugangspunkt dazu ausgebildet ist, drahtlose Datenverbindungen mit wenigstens einem der mehreren Geräte gemäß dem 5G (fünfte Generation)-Standard herzustellen.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Netzwerk wenigstens ein Netzwerkkopplungselement aufweist, das dazu ausgebildet ist, zumindest zeitweise mehrere Elemente des Netzwerks, insbesondere mehrere Zugangspunkte und/oder mehrere Segmente des Netzwerks und/oder mehrere weitere Netzwerkkopplungselemente des Netzwerks miteinander zu verbinden (Ermöglichen einer insbesondere bidirektionalen Datenkommunikation). Bei weiteren bevorzugten Ausführungsformen ist das Netzwerkkopplungselement beispielsweise als Switch ausgebildet.
  • Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zum Betreiben eines Netzwerks, das mehrere Geräte aufweist und eine Mehrzahl von Servern zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms, das wenigstens einem der mehreren Geräte zugeordnet ist, wobei die Vorrichtung zur Ausführung der folgenden Schritte ausgebildet ist: Ermitteln, ob für wenigstens zwei Geräte der mehreren Geräte eine Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von einem das Anwendungsprogramm derzeit ausführenden Quell-Server auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server ausgeführt werden soll, und Planen einer Ausführungszeit für die jeweilige Migration.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
  • Weitere bevorzugte Ausführungsformen beziehen sich auf ein Netzwerkelement, insbesondere a) ein Netzwerkkopplungselement, das dazu ausgebildet ist, zumindest zeitweise mehrere Elemente eines Netzwerks miteinander zu verbinden, oder b) einen Zugangspunkt, der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung zwischen wenigstens einem Gerät und einem bzw. dem Netzwerk herzustellen, wobei das Netzwerkelement wenigstens eine Vorrichtung gemäß den Ausführungsformen aufweist.
  • Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen a) zur Planung einer Migration von Anwendungsprogrammen von einem ersten Edge-Server zu einem zweiten Edge-Server und/oder b) zum Betreiben einer wenigstens ein bzw. das Netzwerk aufweisenden Fertigungseinrichtung.
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
  • In der Zeichnung zeigt:
    • 1 schematisch ein Blockdiagramm eines Netzwerks gemäß bevorzugten Ausführungsformen,
    • 2 schematisch ein Blockdiagramm eines Netzwerks gemäß weiteren bevorzugten Ausführungsformen,
    • 3 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen,
    • 4 schematisch ein Zeitdiagramm gemäß weiteren bevorzugten Ausführungsformen,
    • 5 bis 7 jeweils schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen,
    • 8 schematisch ein Zeitdiagramm gemäß weiteren bevorzugten Ausführungsformen,
    • 9 schematisch ein Netzwerk mit Netzwerkressourcen gemäß weiteren bevorzugten Ausführungsformen,
    • 10 schematisch einen Teil eines Netzwerks gemäß weiteren bevorzugten Ausführungsformen,
    • 11 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen, und
    • 12 schematisch ein Blockdiagramm einer Vorrichtung gemäß weiteren bevorzugten Ausführungsformen.
  • 1 zeigt schematisch ein Blockdiagramm eines Netzwerks 100 gemäß bevorzugten Ausführungsformen. Das Netzwerk 100 weist mehrere Geräte 10a, 10b, 10c auf und eine Mehrzahl 20 von Servern 20a, 20b (vorliegend beispielhaft zwei Server) zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms, das wenigstens einem der mehreren Geräte 10a, 10b, 10c zugeordnet ist. Beispielsweise ist bei der in 1 gezeigten Konfiguration 100 der erste Server 20a dazu ausgebildet ein erstes, dem ersten Gerät 10a zugeordnetes Anwendungsprogramm APa, auszuführen und ein zweites, dem zweiten Gerät 10b zugeordnetes Anwendungsprogramm APb, während der zweite Server 20b dazu ausgebildet ein drittes, dem dritten Gerät 10c zugeordnetes Anwendungsprogramm APc, auszuführen.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens eines der mehreren Geräte 10a, 10b, 10c ein Endgerät, insbesondere ein mobiles Endgerät, ist. Bei weiteren bevorzugten Ausführungsformen können wenigstens manche der Geräte 10a, 10b, 10c auch als nicht-mobiles bzw. stationäres Gerät ausgebildet sein.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens eines der mehreren Geräte 10a, 10b, 10c wenigstens eines der folgenden Elemente aufweist bzw. als solches Element ausgebildet ist: a) mobile Recheneinrichtung (z.B. für ein Steuergerät einer mobilen Einheit wie z.B. einen Roboter bzw. ein fahrerloses Transportsystem), b) Datenbrille, c) augmented reality (AR) oder virtual reality (VR) Brille.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens einer der Server 20a, 20b ein Edge-Server ist, also z.B. ein für Edge-Computing ausgebildeter Server. Typischerweise kann ein Edge-Server bei weiteren bevorzugten Ausführungsformen - bezogen auf die (i.d.R. mobilen) Endgeräte 10a, 10b, 10c - vergleichsweise weit am „Rand“ (englisch: edge) des Netzwerks 100 angeordnet sein, also in relativer Näher zu den Geräten 10a, 10b, 10c, was Latenzzeiten bzw. Umlaufzeiten (z.B. RTT, englisch: round trip times) bei der Datenkommunikation zwischen den Geräten 10a, 10b, 10c und den Edge-Servern 20a, 20b reduziert. Dies ist insbesondere für eine effiziente und störungsarme bzw. störungsfreie Ausführung der Anwendungsprogramme APa, APb, APc vorteilhaft.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Netzwerk 100 wenigstens einen Zugangspunkt 12a, 12b aufweist, der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung 11a, 11b, 11c mit wenigstens einem der mehreren Geräte 10a, 10b, 10c herzustellen. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der wenigstens eine Zugangspunkt 12a, 12b dazu ausgebildet ist, drahtlose Datenverbindungen mit wenigstens einem der mehreren Geräte 10a, 10b, 10c gemäß dem 5G (fünfte Generation)-(Mobilfunk-)Standard herzustellen. Vorliegend sind beispielhaft die 5G-Zugangspunkte 12a, 12b in den jeweiligen Edge-Server 20a, 20b integriert.
  • Optional können ein oder mehrere Netzwerkkopplungselemente wie z.B. Switches, vorliegend beispielhaft der optionale Switch 13, vorgesehen sein, um die Edge-Server 20a, 20b (und/oder Zugangspunkte 12a, 12b) miteinander (und/oder mit anderen Elementen des Netzwerks 100) zu koppeln.
  • Bei weiteren bevorzugten Ausführungsformen ist eine Vorrichtung 300 zum Betreiben des Netzwerks 100 vorgesehen, wobei die Vorrichtung 300 dazu ausgebildet ist, die folgenden Schritte auszuführen, vgl. auch das Flussidagramm gemäß 3: Ermitteln 200, ob für wenigstens zwei Geräte der mehreren Geräte 10a, 10b, 10c (1) eine Migration des dem jeweiligen Gerät zugeordneten Anwendungsprogramms APa, APb von einem das Anwendungsprogramm derzeit ausführenden Quell-Server 20a auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server 20b ausgeführt werden soll, und Planen 210 (3) einer Ausführungszeit für die jeweilige Migration. Dadurch kann die jeweilige Migration besonders effizient und Ressourcen des Netzwerks 100 schonend ausgeführt werden. Die Vorrichtung 300 bzw. ihre Funktionalität kann bei weiteren bevorzugten Ausführungsformen z.B. in einen bestehenden Edge-Controller (Steuereinrichtung für Edge-Server) integriert werden bzw. einen Edge-Controller repräsentieren.
  • Beispielsweise kann insbesondere im Falle mobiler Endgeräte 10a, 10b, deren zugeordnete Anwendungen APa, APb momentan durch den ersten Edge-Server 10a ausgeführt werden, der Fall eintreten, dass ein Wechsel der Anwendungsprogramme APa, APb zu einem anderen Edge-Server 20b wünschenswert ist. Dies kann z.B. dann sinnvoll sein, wenn sich die Endgeräte 10a, 10b physisch so weit von dem Zugangspunkt 12a bzw. ersten Edge-Server 20a wegbewegen, dass die seitherige drahtlose Datenkommunikation 11a, 11b mit dem ersten Zugangspunkt 12a durch eine drahtlose Datenkommunikation zu einem (dann ggf. aufgrund der Bewegung näheren) anderen Zugangspunkt 12b vorzuziehen ist. In diesem Fall sollten auch die zugehörigen Anwendungen APa, APb zu einem Edge-Server 20b migriert werden, der räumlich näher an dem anderen Zugangspunkt 12b liegt, was die Latenzen bzw. Umlaufzeiten reduziert (gegenüber einer Datenkommunikation über den anderen Zugangspunkt 12b, den Switch 13, zu dem ersten Edge-Server 20a).
  • Alternativ oder ergänzend können bei weiteren bevorzugten Ausführungsformen auch Änderungen an der Topologie des Netzwerks 100 (z.B. Ausfall und/oder Hinzufügung einzelner Komponenten) eine Migration einer oder mehrerer Anwendungen von einem Quell-(Edge-)Server 20a zu einem Ziel-(Edge-)Server 20b veranlassen. Auch dies kann bei weiteren bevorzugten Ausführungsformen, z.B. in dem Schritt 200 (3), ermittelt werden.
  • Insbesondere für den Fall, dass mehrere Migrationen z.B. von unterschiedlichen Anwendungen APa, APb (1) unterschiedlicher Endgeräte 10a, 10b zumindest teilweise zeitlich überlappend (oder zumindest zeitlich dicht aufeinander folgend) ausgeführt werden sollen, ist das Planen 210 (3) gemäß weiteren bevorzugten Ausführungsformen besonders zweckmäßig, weil hiermit eine möglichst Ressourcen schonende Abfolge bzw. ggf. gleichzeitige Ausführung zumindest mancher Migrationen erreichbar ist.
  • Beispielsweise kann bei weiteren bevorzugten Ausführungsformen mittels des Planens 210 erreicht werden, dass zwei ggf. zeitlich koinzidierende Migrationen M1, M2, vgl. das Zeitdiagramm aus 4, hintereinander ausgeführt werden, insbesondere dann, wenn beide Migrationen M1, M2 dieselben Ressourcen des Netzwerks 100 (1), z.B. eine bestimmte Datenverbindung zwischen Netzwerkelementen 20a, 20b, benötigen. Vorliegend wird somit die erste Migration M1 (z.B. Anwendungsprogramm APa) zu dem Zeitpunkt t1 gestartet, und die zweite Migration M2 (z.B. Anwendungsprogramm APb) wird direkt danach, zu dem Zeitpunkt t2 gestartet, und dauert bis zu dem Zeitpunkt t3. Mögliche Kriterien für eine Auswahl der Reihenfolge der Migrationen gemäß weiteren bevorzugten Ausführungsformen sind weiter unten beschrieben.
  • Beispielsweise kann bei weiteren bevorzugten Ausführungsformen das Verfahren, insbesondere das Ermitteln 200 (3), wenigstens eines der folgenden Elemente aufweisen, vgl. 5: a) Ermitteln 220 von Bewegungsinformationen BI wenigstens mancher der mehreren Geräte 10a, 10b, 10c, insbesondere der wenigstens zwei Geräte, wobei die Bewegungsinformationen BI insbesondere Informationen bezüglich einer Position und/oder einer zeitlichen Änderung der Position des betreffenden Geräts 10a, 10b, 10c aufweisen, b) Ermitteln 222 einer Auslastung LD des Netzwerks 100, insbesondere von Komponenten (z.B. Netzwerkkopplungselemente wie z.B. Switches 13 und/oder Router und/oder Bridges und/oder Netzwerk- bzw. Datenverbindungen zwischen den Komponenten) des Netzwerks 100, c) Ermitteln 224 und/oder Aktualisieren 224 von Topologieinformationen TI des Netzwerks 100, d) Ermitteln 226 einer geschätzten Dauer D1, D2 (vgl. auch 4) für die Migration M1, M2 des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von dem Quell-Server zu dem Ziel-Server.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Ermitteln 222 (5) einer Auslastung LD des Netzwerks 100 wenigstens eines der folgenden Elemente aufweist, vgl. 6: a) Ermitteln 222a einer Umlaufzeit, englisch: round trip time, RTT, für einen Datenaustausch zwischen zwei Elementen 10a, 20a des Netzwerks 100, insbesondere zwischen wenigsten einem der mehreren Geräte 10a und einem Server 20a, der ein dem wenigstens einen Gerät 10a zugeordnetes Anwendungsprogramm APa ausführt, b) Ermitteln 222b einer verfügbaren Bandbreite bzw. Datenübertragungsrate zwischen zwei Elementen 10a, 20a des Netzwerks 100.
  • Bei weiteren bevorzugten Ausführungsformen können jeweils ein oder mehrere der optionalen Schritte 220, 22, 224, 226, 222a, 222b gemäß 5, 6 auch in einer anderen als der vorstehend beispielhaft beschriebenen Reihenfolge und/oder zeitlich aufeinander folgend und/oder zu verschiedenen Zeitpunkten und/oder periodisch (auch mit unterschiedlichen Periodendauern) ausgeführt werden.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist, vgl. 7: Ermitteln 205, ob für eine Migration M1, M2 der wenigstens zwei Geräte 10a, 10b wenigstens teilweise dieselben Elemente und/oder Ressourcen des Netzwerks 100 erforderlich sind, mithin bei z.B. gleichzeitiger Ausführung beider Migrationen M1, M2 eine ggf. unerwünscht hohe Auslastung bzw. Überlastung der betreffenden Elemente und/oder Ressourcen des Netzwerks zu erwarten ist. Der Schritt 205 kann bei weiteren bevorzugten Ausführungsformen wie beispielhaft in 7 abgebildet zwischen den Schritten 200, 210 (s. auch 3) ausgeführt werden. Bei weiteren bevorzugten Ausführungsformen kann optional in Schritt 212 auch die Ausführung der wenigstens einen Migration M1, M2, z.B. gemäß dem beispielshaft in 4 gezeigten Ablauf, erfolgen.
  • Bei weiteren bevorzugten Ausführungsformen, vgl. 11, ist vorgesehen, dass das Verfahren weiter aufweist: wiederholtes, insbesondere periodisches, Ermitteln 230 von Bewegungsinformationen BI mehrerer, insbesondere aller mobilen, Geräte 10a, 10b, 10c (1) des Netzwerks 100, wiederholtes, insbesondere periodisches, Ermitteln 232 einer, insbesondere möglichen, Auslastung LD von Elementen des Netzwerks 100, insbesondere in Abhängigkeit von den Bewegungsinformationen BI und/oder von Topologieinformationen TI, die eine Topologie des Netzwerks wenigstens teilweise charakterisieren (die Topologieinformationen TI können bei weiteren bevorzugten Ausführungsformen z.B. ebenfalls ermittelt werden und/oder durch Konfiguration vorgegeben sein), Ermitteln 234, ob für wenigstens zwei, insbesondere alle mobilen, Geräte 10a, 10b, 10c des Netzwerks 100 eine Migration M1, M2 des dem jeweiligen Gerät zugeordneten Anwendungsprogramms von einem das Anwendungsprogramm derzeit ausführenden Quell-Server auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server ausgeführt werden soll, und, optional, Planen 236 einer Ausführungszeit t1, t2 (4) für die jeweilige Migration. Optional kann bzw. können bei weiteren Ausführungsformen in einem nachfolgenden Schritt 238 die geplante(n) Migration(en) ausgeführt bzw. gestartet werden.
  • 12 zeigt schematisch ein Blockdiagramm einer Vorrichtung 30 gemäß weiteren bevorzugten Ausführungsformen. Beispielsweise kann die Vorrichtung 300 aus 1 (sowie wenigstens eine der weiter unten beschriebenen Vorrichtungen 300a, 300b, 300c) die Konfiguration 30 gemäß 12 aufweisen. Die Vorrichtung 30 weist wenigstens eine Recheneinrichtung 32 auf, wenigstens eine der Recheneinrichtung 32 zugeordnete Speichereinrichtung 34 zur zumindest zeitweisen Speicherung eines Computerprogramms PRG, wobei das Computerprogramm PRG insbesondere zur Steuerung eines Betriebs der Vorrichtung 30, 300 bzw. zur Steuerung des Betriebs des Netzwerks 100 (1) ausgebildet ist.
  • Bei weiteren bevorzugten Ausführungsformen weist die Recheneinrichtung 32 (12) wenigstens eines der folgenden Elemente auf: einen Mikroprozessor, einen Mikrocontroller, einen digitalen Signalprozessor (DSP), einen programmierbaren Logikbaustein (z.B. FPGA, field programmable gate array), einen ASIC (anwendungsspezifischen integrierten Schaltkreis), eine Hardwareschaltung. Kombinationen hieraus sind bei weiteren bevorzugten Ausführungsformen auch denkbar.
  • Bei weiteren bevorzugten Ausführungsformen weist die Speichereinrichtung 34 wenigstens eines der folgenden Elemente auf: einen flüchtigen Speicher 34a, insbesondere Arbeitsspeicher (RAM), einen nichtflüchtigen Speicher 34b, insbesondere Flash-EEPROM. Bevorzugt ist das Computerprogramm PRG in dem nichtflüchtigen Speicher 34b abgelegt. In der Speichereinrichtung 34 können gemäß weiteren bevorzugten Ausführungsformen zumindest zeitweise auch durch die Vorrichtung 30, 300 verarbeitete Informationen bzw. Daten wie z.B. die Bewegungsinformationen BI (5, 11) und/oder die Auslastung LD und/oder die Topologieinformationen TI und/oder die Dauern D1, D2 und/oder Planungsdaten PD gespeichert werden. Die Planungsdaten PD können bei weiteren bevorzugten Ausführungsformen beispielsweise einzelnen Migrationen M1, M2 von Anwendungsprogrammen, die zukünftig ausgeführt werden sollen, einen jeweiligen Startzeitpunkt t1, t2 zuordnen, und/oder eine Dauer D1, D2.
  • Bevorzugte Ausführungsformen sind vorstehend unter Bezugnahme auf 1, 3 bis 7, 11, 12 beispielhaft unter Bezugnahme auf das Netzwerk 100 gemäß 1 beschrieben worden. Ohne Beschränkung der Allgemeinheit ist das Prinzip gemäß den Ausführungsformen jedoch auch auf komplexere Netzwerke wie das nachfolgend beispielhaft unter Bezugnahme auf 2 beschriebene Netzwerk 100a anwendbar bzw. übertragbar.
  • Das Netzwerk 100a weist einen Edge-Controller 300a zum Betreiben des Netzwerks 100a auf, der zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist. Ferner weist das Netzwerk 100a eine Vielzahl von Switches 13a, 13b, .., 13p auf, die optional auch in unterschiedlichen Hierarchien angeordnet sein können. Beispielsweise binden die Switches 13a, .., 13h jeweils eine Vielzahl 12a, 12a1, 12a2, 12b, .., 12h von (z.B. jeweils als 5G-Zugangspunkt ausgebildeten) in 2 überwiegend nicht einzeln bezeichneten Zugangspunkten an, und die Switches 13i, .., 13p konzentrieren den Datenverkehr der Elemente des Netzwerks 100a, wobei z.B. die Switches 13o, 13p sog. Core-Switches bilden können. Weiter weist das Netzwerk 100a mehrere (Edge-)Server 20c, 20d, .., 20l auf, die bevorzugt direkt mit Zugangspunkten 12b1, 12b2, 12d1 und/oder Switches verbunden sind. Mehrere, vorzugsweise mobile, Endgeräte 10d, 10e, 10f sind ebenfalls abgebildet, sowie deren vorzugsweise bidirektionalen Datenverbindungen 11d, 11e, 11f zu entsprechenden Zugangspunkten bzw. Servern. Bei einem realen Netzwerk 100a gemäß weiteren Ausführungsformen kann insbesondere die Anzahl der Endgeräte um mehrere Größenordnungen größer sein als vorliegend beispielhaft in 2 abgebildet.
  • Das Netzwerk 100a kann bei weiteren bevorzugten Ausführungsformen auch in mehrere Segmente 100a1, 100a2, .. eingeteilt werden, die bevorzugt mittels Switches 13j, 13n, 13o miteinander koppelbar sind.
  • Das Prinzip gemäß den Ausführungsformen, vgl. beispielhaft 3, 4, 5, 6, 7, 11, kann bevorzugt auch auf das Netzwerk 100a gemäß 2 bzw. auf einzelne seiner Segmente 100a1, 100a2 angewendet werden, und ermöglicht somit auch im Falle einer Vielzahl von Zugangspunkten und Endgeräten eine effiziente Ermittlung eines Bedarfs von Migrationen M1, M2 von Anwendungen zwischen unterschiedlichen (Edge-)Servern 20c, 20d, .., 20l und deren effiziente Planung 210 (3) und Ressourcen schonende Ausführung.
  • Weitere bevorzugte Ausführungsformen beziehen sich auf ein Netzwerkelement, insbesondere a) ein Netzwerkkopplungselement 13 (1), 13a (2), das dazu ausgebildet ist, zumindest zeitweise mehrere Elemente eines Netzwerks 100, 100a miteinander zu verbinden, oder b) einen Zugangspunkt 12a (1, 2), der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung zwischen wenigstens einem Gerät 10a, 10b und einem bzw. dem Netzwerk 100, 100a herzustellen, wobei das Netzwerkelement 12a, 13 wenigstens eine Vorrichtung 30, 300, 300a gemäß den Ausführungsformen aufweist.
  • Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 30, 300, 300a, gemäß den Ausführungsformen a) zur Planung und/oder Ausführung einer Migration M1, M2 von Anwendungsprogrammen APa, APb, APc von einem ersten Edge-Server 20a (1) zu einem zweiten Edge-Server 20b und/oder b) zum Betreiben einer wenigstens ein bzw. das Netzwerk 100a aufweisenden Fertigungseinrichtung.
  • 8 zeigt schematisch ein Zeitdiagramm gemäß weiteren bevorzugten Ausführungsformen, bei dem drei Planungszeitfenster ZF1, ZF2, ZF3 abgebildet sind. In einem Planungszeitraum PZ1 ermittelt die Vorrichtung 300b des Netzwerks 100b gemäß 9, insbesondere innerhalb des betreffenden Planungszeitfensters (ZF1) (das bei weiteren bevorzugten Ausführungsformen eine vorgebbare Länge aufweisen kann), dass für wenigstens zwei Geräte 10 des in 9 auszugsweise gezeigten Netzwerks 100b eine Migration ihrer jeweiligen Anwendungsprogramme APa, APb, .. (1) ausgeführt werden soll, vgl. auch Schritt 200 aus 3. Das Ermitteln 200 kann vorliegend beispielsweise durch eine Ermittlung von Umlaufzeiten (RTT) zwischen verschiedenen Netzwerkelementen wie z.B. vorgebbaren Zugangspunkten 12, 12a, 12b (9) und vorgebbaren Edge-Servern 20a, 20b, 20c, 20d, 20e, insbesondere zwischen allen Netzwerkelementen, erfolgen.
  • Bei weiteren Ausführungsformen kann beispielsweise für diejenigen Endgeräte 10a, 10b, .., bei denen (bzw. für deren Datenverbindung in dem Netzwerk zu z.B. einem entsprechenden Edge-Server) vergleichsweise große (größer als ein erster vorgebbarer Schwellwert) Umlaufzeiten ermittelt werden, der Bedarf einer Migration des jeweiligen Anwendungsprogramms zu einem anderen Edge-Server festgestellt werden. Vorliegend ist dies für sechs Endgeräte in dem ersten Planungszeitfenster PZ1 der Fall, vgl. die Migrationsaufgaben 1, 2, 3, 4, 5, 6 aus 8, die die Vorrichtung 300b bei weiteren bevorzugten Ausführungsformen als Ergebnis der Planung 210 (3) erstellt.
  • Beispielsweise können die erste Migrationsaufgabe 1 und die dritte Migrationsaufgabe 3 parallel zueinander ausgeführt werden, weil sie unterschiedliche Ressourcen des Netzwerks 100b (9) benötigen (und sich daher nicht gegenseitig stören), vorliegend sind dies die Datenverbindung DV1 (Migrationsaufgabe 1, Datenpfad von Server 20a zu Server 20b) und die Datenverbindung DV3 (Migrationsaufgabe 3, Datenpfad von Server 20c zu Server 20d).
  • Die zweite Migrationsaufgabe 2 (8) wird jedoch zeitlich erst nach der Migrationsaufgabe 3 eingeplant, weil sich die für die Aufgaben 2, 3 benötigten Ressourcen überlappen (Datenpfad DV2 für Aufgabe 2 und Datenpfad DV3 für Aufgabe 3, also ggf. unerwünschte Doppelbelegung der Datenverbindung zwischen dem Core-Switch 13" und dem Server 20c bzw. dem ihm zugeordneten Switch 13c, sofern die Aufgaben 2, 3 gleichzeitig ausgeführt würden). Jedoch kann vorteilhaft die vierte Aufgabe 4 parallel zur Aufgabe 2 ausgeführt werden, weil sie eine andere Datenverbindung DV4 benötigt, usw.
  • Insgesamt kann durch die Planung 210 (3) somit eine sehr effiziente Migration auch einer Vielzahl von Anwendungsprogrammen zwischen unterschiedlichen (Edge-)Servern 20a, .., 20e eines Netzwerks 100b ausgeführt werden, wobei weiteren bevorzugten Ausführungsformen zufolge entsprechende Migrationsaufgaben 1, .., 8 (englisch: jobs) bei der Planung 210 angelegt werden.
  • In den weiteren Planungszeitfenstern PZ2, PZ3 gemäß 8 ist gemäß weiteren Ausführungsformen beispielhaft jeweils nur eine Migration „1“ auszuführen, wodurch sich die Planung entsprechend vereinfacht.
  • 10 zeigt schematisch einen Teil eines Netzwerks 100c gemäß weiteren bevorzugten Ausführungsformen. Ein Core-Switch 13''' verbindet die Vorrichtung 300c zum Betreiben des Netzwerks 100c, die z.B. dazu ausgebildet ist, das Verfahren gemäß den Ausführungsformen auszuführen, mit weiteren Switches 13a, 13b, die vorliegend zwei Edge-Server 20a, 20b anbinden. Über die weiteren Switches 13a, 13b sind auch 5G-Zugangspunkte 12a1, 12a2, 12a3, 13a1, .. an das Netzwerk 100c angebunden.
  • Unter Ausführung des Prinzips gemäß den Ausführungsformen erkennt die Vorrichtung 300c, dass ein derzeit (vor dem Zeitpunkt t3 auf der Zeitachse t gemäß 10) auf dem ersten Edge-Server 20a ausgeführtes Anwendungsprogramm (nicht in 10 gezeigt, vgl. z.B. Bezugszeichen APa aus 1) zu dem zweiten Edge-Server 20b migriert werden sollte, z.B. weil sich ein das erste Anwendungsprogramm nutzendes mobiles Endgerät 10a von einem dem ersten Edge-Server 20a „nahen“ (also z.B. durch vergleichsweise wenige Netzwerkelemente 13a mit dem ersten Edge-Server 20a verbundenen) 5G-Zugangspunkt 12a2 (10) wegbewegt, z.B. an dem Zugangspunkt 12a3 vorbei auf den Zugangspunkt 13a1 zu, der seinerseits über den Switch 13b an den zweiten Edge-Server 20b angebunden ist, vgl. die Bezugszeichen 10a', 10a'', die symbolisch die weitere Bewegung des Endgeräts 10a angeben.
  • Bei weiteren bevorzugten Ausführungsformen ermittelt die Vorrichtung 300c den spätestmöglichen Zeitpunkt t4, zu dem die auszuführende Migration M abgeschlossen sein sollte, beispielsweise um ein vorgebbares Qualitätskriterium für die Datenkommunikation des Endgeräts 10a mit dem Netzwerk 100c (bzw. einer Komponente hiervon, z.B. seinem Anwendungsprogramm) einzuhalten. Das vorgebbare Qualitätskriterium kann beispielsweise ein vorgebbarer Grenzwert für die Umlaufzeit (RTT) zwischen dem Endgerät 10a und seiner Anwendung sein. Ab dem Zeitpunkt t4 würde dieses Qualitätskriterium, basierend auf den vorliegenden Bewegungsinformationen BI des Endgeräts 10a, also beispielsweise verletzt werden.
  • Daher plant die Vorrichtung 300c die Migration M der Anwendung für das Endgerät 10a zu dem zweiten Edge-Server 20b so ein, dass - unter Berücksichtigung der ebenfalls ermittelbaren Dauer D1 für die Migration, diese rechtzeitig vor bzw. zu dem Zeitpunkt t4 abgeschlossen ist. Beispielsweise kann die Vorrichtung 300c gemäß weiteren bevorzugten Ausführungsformen die Dauer D1 ermitteln, z.B. in Abhängigkeit der Topologieinformationen TI (für die Migration mögliche Datenrate zur Übertragung der Anwendung auf den Ziel-Server 20b) und/oder Informationen über die Anwendung (Datenmenge, die im Rahmen der Migration zu übertragen ist). Auf diese Weise ermittelt die Vorrichtung 300c beispielsweise den Zeitpunkt t3 = t4 - D1 gemäß 10 und startet die Migration M zu dem Zeitpunkt t3. Der Zeitpunkt t3 stellt dabei die spätestmögliche Startzeit für die Migration M des vorliegend betrachteten Anwendungsprogramms dar.
  • Sofern bei weiteren bevorzugten Ausführungsformen mehrere Migrationen z.B. innerhalb eines Planungszeitfensters PZ1 (8) auszuführen sind, kann bei weiteren bevorzugten Ausführungsformen eine Planung der Startzeitpunkte der mehreren Migrationen derart erfolgen, dass diejenigen Migrationen mit einer kleineren, also zeitlich früheren, spätestmöglichen Startzeit t3 mit höherer Priorität eingeplant werden, als andere Migrationen, deren spätestmögliche Startzeit danach liegt.
  • Bei weiteren bevorzugten Ausführungsformen kann die Migration eines Anwendungsprogramms drei Phasen aufweisen, vgl. 10: Die Erstellung Ph1 eines Snapshots (z.B. Speicherabbild, das mit einem Speicherinhalt (Programmcode und/oder Daten) des Quell-Servers 20a assoziiert ist, der der zu migrierenden Anwendung zugeordnet ist, die Übertragung Ph2 des Snapshots über das Netzwerk zu dem Ziel-Server 20b, und die Aktivierung Ph3 des Snapshots bzw. seines Inhalts (Anwendungsprogramm) auf dem Ziel-Server 20b.
  • Nachstehend sind weitere bevorzugte Ausführungsformen und Vorteile beschrieben, die jeweils einzeln für sich oder in Kombination miteinander jeweils mit den vorstehend beschriebenen Ausführungsformen kombinierbar sind.
  • Das Prinzip gemäß bevorzugten Ausführungsformen kann vorteilhaft für Anwendungen im Bereich der Industrie 4.0 eingesetzt werden, bei denen vergleichsweise viele Endgeräte 10a, 10b, 10c (z.B. mehr als 1000 Endgeräte oder mehr als 10000 Endgeräte oder mehr als 100000 Endgeräte) automatisiert und/oder miteinander vernetzt sind, wodurch insbesondere die Flexibilität gesteigert werden kann. Beispielsweise können Endgeräte 10a, 10b, 10c Roboter aufweisen und/oder Brillen für augmented-reality (AR) Anwendungen und/oder sonstige, i.d.R. mobile, elektronische Erzeugnisse, die zumindest teilweise und/oder zumindest zeitweise Anwendung von dem Konzept des Edge-Computing machen können.
  • Das Prinzip gemäß bevorzugten Ausführungsformen kann bevorzugt auch für eine Migration von Anwendungsprogrammen während der Ausführung der Anwendungsprogramme („live-Migration“) verwendet werden. Insbesondere können bevorzugte Ausführungsformen auch dazu verwendet werden, mehrere ggf. koinzidierende bzw. i.w. gleichzeitig erforderlich werdende live-Migrationen so hinsichtlich ihrer Ausführungszeit zu planen, dass Anforderungen der Endgeräte bzw. der Anwendungen bezüglich maximaler Umlaufzeiten (RTT) sicher eingehalten werden.
  • Bei weiteren bevorzugten Ausführungsformen kann eine live-Migration unter Verwendung eines Redundanzprinzips ausgeführt werden, bei dem ein Anwendungsprogramm (bzw. der zugehörige Programmcode und/oder Daten, z.B. in Form einer virtuellen Maschine und/oder eines Containers (z.B. Docker-Container) und/oder der Anwendung („bare metal application“)) auf dem Quell-Server 20a ausgeführt wird, während es auf einen Ziel-Server 20b übertragen, z.B. kopiert, wird (z.B. in Form eines Snapshot). Währenddessen kann das Endgerät 10a z.B. weiter mit dem Quell-Server 20a bzw. mit der auf dem Quell-Server 20a laufenden Anwendung kommunizieren. Datenpakete von dem Endgerät, die für die Anwendung bestimmt sind, können bei weiteren vorteilhaften Ausführungsformen für einen vorgebbaren Zeitraum während der live-Migration an beide Server 20a, 20b weitergeleitet werden, wobei der Ziel-Server 20b z.B. ankommende Datenpakete puffert, bis die Anwendung auf ihm lauffähig und aktiviert ist. Sodann kann der Ziel-Server 20b ausgehend von dem Snapshot die seither gepufferten Datenpakete abarbeiten und auf diese Weise einen Zustand der auf ihm laufenden Anwendung mit dem Zustand der nach wie vor auch auf dem Quell-Server 20a laufenden Anwendung synchronisieren. Bei weiteren bevorzugten Ausführungsformen kann die Vorrichtung 30, 300, 300a, 300b, 300c gemäß den Ausführungsformen einen Bedarf an Ressourcen (Datenübertragung, Rechenzeit, usw.) für das vorstehend Beschriebene Redundanzprinzip berücksichtigen.
  • Das Prinzip gemäß den Ausführungsformen ermöglicht vorteilhaft, eine Migration, insbesondere auch eine live-Migration, von mehreren Anwendungsprogrammen effizient zu planen und auszuführen, so dass für die Endgeräte 10a, 10b, 10c keine störenden Verzögerungen auftreten. Zudem können auch mehrere zeitlich dicht beieinanderliegende oder sogar gleichzeitig erforderlich werdende Migrationen effizient geplant und ausgeführt werden, ohne das Netzwerk 100, 100a, 100b, 100c zu überlasten, was die Effizienz und Zuverlässigkeit weiter steigert.
  • Bei weiteren bevorzugten Ausführungsformen wird für verschiedene Migrationen M1, M2 eine individuelle Priorität ermittelt und/oder zugeordnet, und das Planen 210 (3) der Ausführungszeiten erfolgt in Abhängigkeit der individuellen Prioritäten.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung 30, 300, 300a, 300b, 300c, die z.B. einen Edge-Controller repräsentieren kann, Topologieinformationen TI des Netzwerks, vorzugsweise des vollständigen Netzwerks, kennt und/oder ermitteln kann, und/oder Änderungen der Topologie ermitteln kann und/oder hierüber informiert wird.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass in der Netzwerktopologie wenigstens eine (physische und/oder logische) Datenverbindung vorgesehen bzw. reserviert ist, die für die (live-)Migration nutzbar ist. Dadurch wird vermieden, Antwortzeiten der Endgeräte ggf. durch die (live-)Migration zu beeinflussen.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens ein Server 20a, bevorzugt mehrere, weiter bevorzugt alle Server 20a, 20b, .. dazu ausgebildet sind, insbesondere wiederholt, weiter insbesondere periodisch, eine verfügbare Übertragungsbandbreite bzw. Datenrate bzw. Laufzeit zu verschiedenen, vorzugsweise allen, Zugangspunkten über das Netzwerk zu ermitteln, z.B. mittels „Probing“, beispielsweise durch das Aussenden von ICMP Paketen (z.B. Pings).
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, die voraussichtliche Dauer D1 einer Migration zu ermitteln, was z.B. durch einen Server 20a und/oder die Vorrichtung 30, 300, 300a, .. ausführbar ist.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, das einer oder mehreren Anwendungen individuelle Schwellwerte für Qualitätskriterien zugeordnet sind, z.B. für einen maximalen RTT (Umlaufzeit)-Wert, wobei auch mehrere Schwellwerte (hard RTT threshold, soft RTT threshold) vorstellbar sind. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, tatsächlich auftretende RTT-Werte für ein oder mehrere, insbesondere alle, Endgeräte zu ermitteln, was z.B. mittels der Vorrichtung 30, 300, .. ausführbar ist, z.B. durch Prüfen mittels Aussenden von ICMP Paketen.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das Ermitteln 200 (3) umfasst, zu überprüfen, ob ein tatsächlich auftretender RTT-Wert für ein Endgerät einen vorgebbaren Schwellwert überschreitet. In diesem Fall kann darauf geschlossen werden, dass eine Migration einer Anwendung des Endgeräts auf einen anderen Server 20b ausgeführt werden soll.
  • Sofern bei weiteren bevorzugten Ausführungsformen ermittelt wird, dass eine Migration für mehrere Endgeräte ausgeführt werden soll, z.B. weil entsprechende RTT-Werte für die mehreren Endgeräte einen (jeweiligen) vorgebbaren Schwellwert überschreiten, kann das Planen 210 (3) z.B. so erfolgen, dass diejenigen Migrationen mit den geringsten Dauern D1 bevorzugt ausgeführt werden, vor Migrationen mit größeren Dauern D2. Dadurch wird Untersuchungen der Anmelderin zufolge ein mögliches Blockieren des Netzwerks wirksam verhindert.
  • Bei weiteren bevorzugten Ausführungsformen wird geprüft, ob für eine bereits geplante Migration wenigstens eine weitere Migration zumindest zeitweise parallel ausgeführt werden kann, weil z.B. jeweils unterschiedliche Netzwerkressourcen (vgl. z.B. DV1, DV2 aus 9) benötigt werden.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung 30, 300, 300a, .. die vorstehend bereits beschriebenen Bewegungsinformationen BI ermittelt (vgl. z.B. Schritt 220 aus 5) und in Abhängigkeit der Bewegungsinformationen BI für wenigstens ein Endgerät 10a, insbesondere mehrere, weiter bevorzugt alle Endgeräte des Netzwerks 100, 100a, 100b, .. eine Position des betreffenden Endgeräts 10a ermittelt, insbesondere in Bezug auf eine Topologie des Netzwerks 100, 100a, 100b, ...
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung 30, 300, 300a, .. basierend auf der Position des wenigstens einen Endgeräts 10a, insbesondere in Bezug auf eine Topologie des Netzwerks 100, 100a, 100b, ..., eine Auslastung des Netzwerks (ggf. auch eine zukünftig erwartete Auslastung, z.B. mittels Extrapolation basierend auf den vorliegenden Informationen) für einen vorgebbaren Zeitraum ermittelt.
  • Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die vorstehend genannte Ermittlung der Auslastung des Netzwerks (ggf. auch die zukünftig erwartete Auslastung) für den Schritt 200 (3) verwendet wird, also zum Ermitteln 200, ob für wenigstens zwei Geräte 10a, 10b eine Migration M1, M2 des dem jeweiligen Gerät zugeordneten Anwendungsprogramms APa, APb, APc von einem das Anwendungsprogramm derzeit ausführenden Quell-Server 20a auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server 20b ausgeführt werden soll. Anschließend kann bei weiteren bevorzugten Ausführungsformen das Planen 210 (3) einer Ausführungszeit t1, t2 (4) für die jeweilige Migration M1, M2 erfolgen. Bei weiteren bevorzugten Ausführungsformen kann das Ermitteln 200 und/oder das Planen 210 auch für eine größere Zahl als die vorliegend beispielhaft genannten zwei Migrationen M1, M2 ausgeführt werden, z.B. für 100 Migrationen oder 1000 Migrationen oder mehr. Das Prinzip gemäß den Ausführungsformen ist vorteilhaft effizient skalierbar, so dass es vorteilhaft auch in größeren Netzwerken 100a (2) einsetzbar ist.
  • Bei weiteren bevorzugten Ausführungsformen kann das Planen 210 z.B. auch das Ermitteln spätestmöglicher Zeitpunkte umfassen, zu denen die jeweils auszuführende(n) Migration(en) abgeschlossen sein sollte(n), beispielsweise um ein vorgebbares Qualitätskriterium für die Datenkommunikation des betreffenden Endgeräts mit dem Netzwerk (bzw. einer Komponente hiervon, z.B. seinem Anwendungsprogramm) einzuhalten. Das vorgebbare Qualitätskriterium kann beispielsweise ein vorgebbarer Grenzwert für die Umlaufzeit (RTT) zwischen dem Endgerät und seiner auf dem (Edge-)Server ausgeführten Anwendung sein.
  • Bei weiteren bevorzugten Ausführungsformen plant die Vorrichtung 30, 300, 300a, .. die Migration von Anwendungen für entsprechende Endgeräte zu betreffenden Ziel-(Edge-)Servern so ein, dass - insbesondere unter Berücksichtigung der Dauer für die jeweilige Migration - diese rechtzeitig vor bzw. zu dem genannten spätestmöglichen Zeitpunkt (z.B. t4 aus 10) abgeschlossen ist, z.B. bei mehreren Migrationen in einer Reihenfolge derart, dass diejenige Migration mit dem frühesten spätestmöglichen Zeitpunkt t4 zuerst ausgeführt wird (parallel hierzu ggf. weitere Migrationen, sofern aufgrund der Art und/oder des Umfangs der Nutzung von (bevorzugt anderen), dann eine nächste Migration mit dem zweitfrühesten spätestmöglichen Zeitpunkt, usw. Diese Vorgehensweise kann bei weiteren bevorzugten Ausführungsformen auch als „earliest deadline first“-Prinzip bezeichnet werden.
  • Das Prinzip gemäß zumindest manchen bevorzugten Ausführungsformen ermöglicht bzw. bedingt zumindest zeitweise einen oder mehrere der nachstehend genannten Vorteile:
    1. a) Alle Endgeräte 10a, 10b, 10c, .. profitieren von dem durch die Edge-Server 20a, 20b, 20c, .. ermöglichten Edge-Computing, also dem Ausführen von Anwendungsprogrammen APa, APb, APc für die Endgeräte 10a, 10b, 10c, .. auf den Edge-Server 20a, 20b, 20c, .., die die Netzwerktopologie betreffend vergleichsweise nahe (z.B. wenige Übertragungsschritte (englisch: hops) erfordernd) an den Endgeräten 10a, 10b, 10c, .. angeordnet sind, wobei die Endgeräte 10a, 10b, 10c, .. beispielsweise selber keine leistungsfähige Recheneinrichtung zum Ausführen der Anwendungsprogramme APa, APb, APc benötigen, was Kosten für die Endgeräte 10a, 10b, 10c, .. reduziert,
    2. b) Mittels des Edge-Computing können auch neue und/oder komplexe Anwendungen realisiert werden, was z.B. der Automatisierung von Fertigungseinrichtungen zuträglich ist,
    3. c) Die Mobilität der Endgeräte 10a, 10b, 10c, .. wird durch die live-Migration, die gemäß bevorzugten Ausführungsformen ermöglicht ist, unterstützt bzw. verbessert, so dass auch bei verstärkter Mobilität und/oder größeren Netzwerken 100a (2) keine Einschränkungen bei der Anwendung des Edge-Computing gegeben sind,
    4. d) Zahlreiche verschiedene Typen von Endgeräten 10a wie z.B. autonome gesteuerte Fahrzeuge, AR-Brillen, mobile Steuerkonsolen, die ggf. ihre „Intelligenz“ zumindest teilweise auf die durch das Edge-Computing ermöglichten Anwendungsprogramme APa, APb, APc verlagert haben profitieren von dem Verfahren gemäß den Ausführungsformen,
    5. e) Eine unerwünschte permanente Reservierung von Ressourcen in dem Netzwerk kann durch das Verfahren gemäß den Ausführungsformen vermieden bzw. reduziert werden, wodurch z.B. die Anzahl von Edge-Servern je Endgerät verringert und/oder weitere Ressourcen des Netzwerks eingespart werden, was weitere Kosten spart.

Claims (12)

  1. Verfahren zum Betreiben eines Netzwerks (100; 100a; 100b; 100c), das mehrere Geräte (10a, 10b, 10c; 10d, 10e, 10f) aufweist und eine Mehrzahl (20) von Servern (20a, 20b; 20c, 20d, .., 201) zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms (APa, APb, APc), das wenigstens einem der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) zugeordnet ist, wobei das Verfahren die folgenden Schritte aufweist: Ermitteln (200), ob für wenigstens zwei Geräte (10a, 10b) der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) eine Migration (M1, M2) des dem jeweiligen Gerät zugeordneten Anwendungsprogramms (APa, APb, APc) von einem das Anwendungsprogramm derzeit ausführenden Quell-Server (20a) auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server (20b) ausgeführt werden soll, und Planen (210) einer Ausführungszeit (t1, t2) für die jeweilige Migration (M1, M2).
  2. Verfahren nach Anspruch 1, wobei das Verfahren, insbesondere das Ermitteln (200), wenigstens eines der folgenden Elemente aufweist: a) Ermitteln (220) von Bewegungsinformationen (Bl) wenigstens mancher der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f), insbesondere der wenigstens zwei Geräte (10a, 10b), wobei die Bewegungsinformationen (Bl) insbesondere Informationen bezüglich einer Position und/oder einer zeitlichen Änderung der Position des betreffenden Geräts aufweisen, b) Ermitteln (222) einer Auslastung (LD) des Netzwerks (100; 100a; 100b; 100c), insbesondere von Komponenten des Netzwerks (100; 100a; 100b; 100c), c) Ermitteln (224) und/oder Aktualisieren (224) von Topologieinformationen (TI) des Netzwerks (100; 100a; 100b; 100c), d) Ermitteln (226) einer geschätzten Dauer (D1, D2) für die Migration (M1, M2) des dem jeweiligen Gerät (10a, 10b) zugeordneten Anwendungsprogramms (APa, APb, APc) von dem Quell-Server (20a) zu dem Ziel-Server (20b).
  3. Verfahren nach Anspruch 2, wobei das Ermitteln (222) der Auslastung (LD) des Netzwerks (100; 100a; 100b; 100c) wenigstens eines der folgenden Elemente aufweist: a) Ermitteln (222a) einer Umlaufzeit (RTT), englisch: round trip time, RTT, für einen Datenaustausch zwischen zwei Elementen des Netzwerks (100; 100a; 100b; 100c), insbesondere zwischen wenigsten einem (10a) der mehreren Geräte und einem Server (20a), der ein dem wenigstens einen Gerät (10a) zugeordnetes Anwendungsprogramm (APa) ausführt, b) Ermitteln (222b) einer verfügbaren Bandbreite zwischen zwei Elementen des Netzwerks (100; 100a; 100b; 100c).
  4. Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: Ermitteln (205), ob für eine Migration (M1, M2) der wenigstens zwei Geräte (10a, 10b) wenigstens teilweise dieselben Elemente (DV1, DV2, DV3, DV4) und/oder Ressourcen des Netzwerks (100; 100a; 100b; 100c) erforderlich sind.
  5. Verfahren nach wenigstens einem der vorstehenden Ansprüche, weiter aufweisend: wiederholtes, insbesondere periodisches, Ermitteln (230) von Bewegungsinformationen (Bl) mehrerer, insbesondere aller mobilen, Geräte des Netzwerks (100; 100a; 100b; 100c), wiederholtes, insbesondere periodisches, Ermitteln (232) einer, insbesondere möglichen, Auslastung (LD) von Elementen des Netzwerks (100; 100a; 100b; 100c), insbesondere in Abhängigkeit von den Bewegungsinformationen (Bl) und/oder von Topologieinformationen (TI), die eine Topologie des Netzwerks (100; 100a; 100b; 100c) wenigstens teilweise charakterisieren, Ermitteln (234), ob für wenigstens zwei, insbesondere alle mobilen, Geräte des Netzwerks (100; 100a; 100b; 100c) eine Migration (M1, M2) des dem jeweiligen Gerät zugeordneten Anwendungsprogramms (APa, APb, APc) von einem das Anwendungsprogramm derzeit ausführenden Quell-Server (20a) auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server (20b) ausgeführt werden soll, und Planen (236) einer Ausführungszeit (t1, t2) für die jeweilige Migration (M1, M2)
  6. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei a) wenigstens ein Server (20a, 20b; 20c, 20d, .., 20l) der Mehrzahl (20) von Servern (20a, 20b; 20c, 20d, .., 20l) ein Edge-Server ist und/oder b) wenigstens eines der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) ein Endgerät, insbesondere ein mobiles Endgerät (10a, 10b, 10c; 10d, 10e, 10f), ist.
  7. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei das Netzwerk (100; 100a; 100b; 100c) wenigstens einen Zugangspunkt (12a, 12a1, 12a2, 12b, .., 12h) aufweist, der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung mit wenigstens einem der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) herzustellen, insbesondere ein 5G-Zugangspunkt.
  8. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei das Netzwerk (100; 100a; 100b; 100c) wenigstens ein Netzwerkkopplungselement (13; 13a, 13b, .., 13p) aufweist, das dazu ausgebildet ist, zumindest zeitweise mehrere Elemente des Netzwerks (100; 100a; 100b; 100c), insbesondere mehrere Zugangspunkte (12a, 12a1, 12a2, 12b, .., 12h) und/oder mehrere Segmente (100a1, 100a2) des Netzwerks (100; 100a; 100b; 100c) und/oder mehrere weitere Netzwerkkopplungselemente des Netzwerks (100; 100a) miteinander zu verbinden.
  9. Vorrichtung (300; 300a; 300b; 300c) zum Betreiben eines Netzwerks (100; 100a; 100b; 100c), das mehrere Geräte (10a, 10b, 10c; 10d, 10e, 10f) aufweist und eine Mehrzahl (20) von Servern (20a, 20b; 20c, 20d, .., 201) zur zumindest zeitweisen Ausführung wenigstens eines Anwendungsprogramms (APa, APb, APc), das wenigstens einem der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) zugeordnet ist, wobei die Vorrichtung (300; 300a; 300b; 300c) zur Ausführung der folgenden Schritte ausgebildet ist: Ermitteln (200), ob für wenigstens zwei Geräte (10a, 10b) der mehreren Geräte (10a, 10b, 10c; 10d, 10e, 10f) eine Migration (M1, M2) des dem jeweiligen Gerät zugeordneten Anwendungsprogramms (APa, APb, APc) von einem das Anwendungsprogramm derzeit ausführenden Quell-Server (20a) auf einen das Anwendungsprogramm zukünftig ausführenden Ziel-Server (20b) ausgeführt werden soll, und Planen (210) einer Ausführungszeit (t1, t2) für die jeweilige Migration (M1, M2).
  10. Vorrichtung (300; 300a; 300b; 300c) nach Anspruch 9, wobei die Vorrichtung (300; 300a; 300b; 300c) zur Ausführung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 8 ausgebildet ist.
  11. Netzwerkelement (12a; 13), insbesondere a) Netzwerkkopplungselement (13; 13a, 13b, .., 13p), das dazu ausgebildet ist, zumindest zeitweise mehrere Elemente eines Netzwerks (100; 100a; 100b; 100c) miteinander zu verbinden, oder b) Zugangspunkt (12a, 12a1, 12a2, 12b, .., 12h), der dazu ausgebildet ist, zumindest zeitweise eine drahtlose Datenverbindung zwischen wenigstens einem Gerät (10a, 10b, 10c; 10d, 10e, 10f) und einem bzw. dem Netzwerk (100; 100a; 100b; 100c) herzustellen, wobei das Netzwerkelement (12a; 13) wenigstens eine Vorrichtung (300; 300a; 300b; 300c) nach wenigstens einem der Ansprüche 9 bis 10 aufweist.
  12. Verwendung des Verfahrens gemäß wenigstens einem der Ansprüche 1 bis 8 und/oder der Vorrichtung (300; 300a; 300b; 300c) gemäß wenigstens einem der Ansprüche 9 bis 10 a) zur Planung einer Migration (M1, M2) von Anwendungsprogrammen (AP1, AP2, AP3) von einem ersten Edge-Server (10a) zu einem zweiten Edge-Server (10b) und/oder b) zum Betreiben einer wenigstens ein bzw. das Netzwerk (100; 100a; 100b; 100c) aufweisenden Fertigungseinrichtung.
DE102019204491.3A 2019-03-29 2019-03-29 Verfahren und Vorrichtung zum Betreiben eines Netzwerks Pending DE102019204491A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019204491.3A DE102019204491A1 (de) 2019-03-29 2019-03-29 Verfahren und Vorrichtung zum Betreiben eines Netzwerks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019204491.3A DE102019204491A1 (de) 2019-03-29 2019-03-29 Verfahren und Vorrichtung zum Betreiben eines Netzwerks

Publications (1)

Publication Number Publication Date
DE102019204491A1 true DE102019204491A1 (de) 2020-10-01

Family

ID=72612753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019204491.3A Pending DE102019204491A1 (de) 2019-03-29 2019-03-29 Verfahren und Vorrichtung zum Betreiben eines Netzwerks

Country Status (1)

Country Link
DE (1) DE102019204491A1 (de)

Similar Documents

Publication Publication Date Title
EP2559221B1 (de) Verfahren und vorrichtung zum austausch von daten sowie netzwerk
DE3888818T2 (de) Aufgeteilte Lastverteilung.
DE102006010400B4 (de) Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem
DE60204581T2 (de) Verfahren zur Optimierung der Verteilung eines Dienstes von einer Quelle zu mehreren Dienstempfängern in einem Netzwerk
EP3017570A1 (de) Steuerungsvorrichtung, netzwerkknoten und verfahren zum austausch von daten über ein datennetz
EP2732347A1 (de) Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen
EP3871377A1 (de) Verteilerknoten, automatisierungsnetzwerk und verfahren zum übertragen von telegrammen
EP2556651A1 (de) Verfahren und vorrichtung zum austausch von daten zwischen zwei geräten eines automatisierungsnetzwerks
WO2009089850A1 (de) Verfahren zum betreiben eines kommunikationsnetzes, switch und kommunikationsnetz
EP3668036A1 (de) Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
EP3304790B1 (de) Verfahren für ein redundantes übertragungssystem mit prp und zwischenspeicherung von datenpaketen
DE102019204491A1 (de) Verfahren und Vorrichtung zum Betreiben eines Netzwerks
DE602005000044T2 (de) Datentransfer zu Knoten in einem Kommunikationsnetzwerk mit Hilfe von selbstreproduzierenden Code
EP3654594A1 (de) Verfahren zur datenübertragung, kommunikationsgerät, computerprogramm und computerlesbares medium
DE102004002020A1 (de) Steuerungssoftwarearchitektur zur Realisierung einer dezentralisierten kooperativen Steuerung mehrerer elektronischer Steuerungsvorrichtungen, die über ein Netzwerk verbunden sind
DE102019125545B3 (de) Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk
EP3396919A1 (de) Verfahren zur datenübertragung von einem gerät an ein datenverwaltungsmittel, vermittlungseinheit, gerät und system
DE60024686T2 (de) Verfahren und vorrichtung zum übertragen von datenpaketen auf einem netzwerk
EP1440544A1 (de) Verfahren zur kommunikation eines realzeit-datenverkehrs in einem kollisionserkennungs-basierten kommunikationsnetz, entsprechendes speichermedium und kommunikationsnetz
DE69722114T2 (de) Parallelprogrammierung von mehreren Knoten in einem Kommunikationsnetz
EP3758310A1 (de) Verfahren zur datenkommunikation, netzwerksteuereinrichtung, netzwerk, computerprogramm und computerlesbares medium
DE602004002839T2 (de) Verfahren zur Errichtung einer logischen Verbindung zwischen einem Startknoten und einem Endknoten, die nicht angrenzen innerhalb eines Telekommunikationsnetzwerkes
EP3838709B1 (de) Verfahren zur übergabe von telegrammen von einer streckenzentrale an ein fahrzeug und streckenzentrale
EP3800517B1 (de) Verfahren zur erstellung eines redundanten automatisierungssystems, computerprogramm und computerlesbares medium
DE102021204789A1 (de) Verfahren und system zur zusicherung garantierter dienstgüte in fahrzeugen

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012240000

Ipc: H04L0041000000