Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-IMPLEMENTED METHOD AND SYSTEM FOR EFFICIENTLY DISTRIBUTING TASKS TO DEVICES
Document Type and Number:
WIPO Patent Application WO/2023/031163
Kind Code:
A1
Abstract:
Computer-implemented method for efficiently distributing tasks to devices (D1, D2, D3') within a first device group (G1) having a first device (D1) and at least one second device (D2, D3'), comprising the steps of: a) offering at least one task, which is assigned to the first device (D1), to the at least one second device (D2, D3'), b) signalling a free device capacity of the at least one second device (D2, D3') to the first device (D1), c) checking whether the offer from step a) corresponds to a free device capacity from step b), d) if there is correspondence from step c), taking over the task from the first device (D1) by means of the at least one second device (D2, D3') and performing the task by means of the at least one second device (D2, D3').

Inventors:
SCHALL DANIEL (AT)
Application Number:
PCT/EP2022/074029
Publication Date:
March 09, 2023
Filing Date:
August 30, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F9/455; G06F9/50
Foreign References:
US10162683B22018-12-25
Other References:
ANONYMOUS: "Computer compatibility - Wikipedia", 16 June 2021 (2021-06-16), pages 1 - 2, XP055980938, Retrieved from the Internet [retrieved on 20221114]
Attorney, Agent or Firm:
MAIER, Daniel (DE)
Download PDF:
Claims:
Patentansprüche

1. Computer-implementiertes Verfahren zur effizienten Auf- gaben-Verteilung an Geräte (Dl, D2, D3 ' ) innerhalb einer ersten Geräte-Gruppe (Gl) , welche ein erstes Gerät (Dl) und zumindest ein zweites Gerät (D2, D3 ' ) aufweist, umfassend die Schritte : a) Anbieten zumindest einer Aufgabe (A) , umfassend zumindest ein erstes Kompatibilitätsattribut zur Ausführung einer Aufgabe, welche dem ersten Gerät (Dl) zugeordnet ist an das zumindest eine zweite Gerät (D2, D3 ' ) , b) Signalisieren einer freien Geräte-Kapazität (0) , umfassend zumindest ein zweites Kompatibilitätsattribut zur Ausführung einer Aufgabe, des zumindest einen zweiten Geräts (D2, D3 ' ) an das erste Gerät (Dl) , c) Prüfen einer Übereinstimmung (M) des Angebots (A) aus Schritt a) mit einer freien Geräte-Kapazität (0) aus Schritt b) , umfassend Prüfung der Kompatibilität zwischen dem zumindest einen ersten Kompatibilitätsattribut und dem zumindest einen zweiten Kompatibilitätsattribut, d) Falls eine Übereinstimmung aus Schritt c) vorliegt, übernehmen der Aufgabe (A) vom ersten Gerät (Dl) durch das zumindest eine zweite Gerät (D2, D3 ' ) und erledigen der Aufgabe (A) durch das zumindest eine zweite Gerät (D2,

D3 ') •

2. Verfahren nach dem vorhergehenden Anspruch, wobei vor dem Schritt a) eine Gewichtung der zumindest einen Aufgabe (A) mithilfe einer Gewichtsfunktion (W) vorgenommen wird.

3. Verfahren nach einem der vorhergehenden Ansprüche, wobei das zumindest eine zweite Gerät (D2, D3 ' ) zumindest zwei Geräte umfasst, und nach Schritt c) geprüft wird, welches Gerät (D3') einen höheren Übereinstimmungsgrad aufweist, und dieses Gerät (D3') zur Ausführung für den Schritt d) ausgewählt wird.

4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das zumindest eine zweite Gerät (D3') eine virtuelle Repräsentation eines Fremd-Geräts (D3) ist, welches logisch einer zweiten Geräte-Gruppe (C2) zugeordnet ist und nicht der ersten Geräte-Gruppe (Gl) angehört, welcher das erste Gerät (Dl) logisch zugeordnet ist.

5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Prüfung im Schritt c) durch das erste Gerät (Dl) erfolgt, welches die Aufgabe im Schritt a) angeboten hat.

6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Aufgabe (A) im Schritt a) zumindest eine Teilaufgabe (2T21, 2T22, 2T23) umfasst, welche vorzugsweise zumindest einem Aufgabentyp (G1-G3) zugeordnet ist, und Aufgabentyp Eigenschaften zugeordnet ist, welche die Art der Daten (MEM1- MEM3) und Rechenkapazität (CPU1-CPU3) bei der Ausführung der Teilaufgabe (2T21, 2T22, 2T23) beschreiben.

7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das zumindest eine zweite Gerät (D2, D3 ' ) zumindest zwei Geräte umfasst, und das Anbieten im Schritt a) , das Signalisieren im Schritt b) und das Prüfen im Schritt c) mithilfe jeweils einer computer-implementierten Datenstruktur in Form Matrix (A, 0, M) erfolgt.

8. Computer-implementierte Datenstruktur zur Verwendung im Verfahren nach einem der vorhergehenden Ansprüche in Form zumindest einer Matrix (A, 0, M) , welche sein kann:

• eine Angebots-Matrix (A) , welche abseits deren Diagonal-Elementen zumindest ein Element für eine bereitgestellte, angebotene Aufgabe enthält, und/oder 19

• eine Kapazität-Matrix (0) , welche in deren Diagonal- Elementen die Auslastung eines ersten Geräts (Dl) und zumindest eines zweiten Geräts (D2, D3 ' ) enthält, und/ oder

• eine Prüf-Matrix, welche als Matrix-Elemente jeweils den Grad der Übereinstimmung nach Durchführung einer Prüf-Operation aufweist.

9. Computerprogramm, umfassend Befehle, welche bei deren Ausführung durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.

10. Elektronisch lesbarer Datenträger mit darauf gespeicherten lesbaren Steuerinformationen, welche zumindest das Computerprogramm nach dem vorhergehenden Anspruch umfassen und derart ausgestaltet sind, dass sie bei Verwendung des Datenträgers in einer Recheneinrichtung das Verfahren nach einem der Ansprüche 1 bis 7 durchführen.

11. Datenträgersignal, welches das Computerprogramm nach Anspruch 10 überträgt.

12. System zur effizienten Auf gaben-Verteilung an Geräte (Dl, D2, D3 ' ) innerhalb einer ersten Geräte-Gruppe (CI) , welche ein erstes Gerät (Dl) und zumindest ein zweites Gerät (D2, D3 ' ) aufweist, wobei das System dazu eingerichtet ist das Verfahren nach einem der Ansprüche 1 bis 7 auszufüh- ren .

Description:
Computer- Implementiertes Verfahren und System zur Effizienten Aufgaben-Verteilung an Geräte

Die Erfindung betri f ft ein computer-implementiertes Verfahren und ein System zur ef fi zienten Aufgaben-Verteilung an Geräte innerhalb einer ersten Geräte-Gruppe , welche ein erstes Gerät und zumindest ein zweites Gerät aufweist .

Die Erfindung betri f ft ferner eine computer-implementierte Datenstruktur, eine Verwendung der Datenstruktur, ein Computerprogramm, einen elektronisch lesbaren Datenträger und ein Datenträgersignal .

Edge-Geräte werden häufig im Produktions-Umfeld verwendet , um beispielweise Daten zu sammeln und Datenanalyse- und „Machine Learning"-Auf gaben durchzuführen .

Dabei kann die Hardwareauslastung der einzelnen Edge-Geräte j edoch stark variieren, was weder ef fi zient noch wirtschaftlich ist .

Im Stand der Technik sind Lösungen zur computergestützten Verwaltung und Abarbeitung von Aufgaben bekannt , welche j edoch sehr komplex sind und auf Cloud-Umgebungen mit hochquali fi zierten IT-Mitarbeitern abzielen, wie beispielsweise Ku- bernetes .

Es liegen dabei j edoch erhebliche Einschränkungen hinsichtlich der Kompatibilität von Aufgabenbearbeitungen vor . Kuber- netes schreibt beispielsweise ein sehr strenges Format für die Abarbeitungseinheiten vor, was einen geräteübergrei fenden Betrieb nicht nahelegt . Bei Kubernetes kann man durchaus von gekapselten Aufgaben sprechen, welche innerhalb eines dynamischen System abgearbeitet werden .

In aktuellen Edge-Computing- und IoT-Systemen gibt es keine automatische Möglichkeit , die Workloads zu verwalten und neu aus zubalancieren, damit Edge-Geräte über verschiedene Gerätecluster hinweg gleichmäßiger genutzt werden .

Der Benutzer muss entweder die Edge-HW manuell aktualisieren und ein leistungsstärkeres Gerät installieren oder bestimmte Anwendungen auf ein anderes Edge-Gerät verschieben .

Ersteres wäre suboptimal , da - wie im weiter unten angeführten Beispiel dargestellt - ein anderes Edge-Gerät weitgehend ungenutzt bleiben könnte .

Letztere Aktion ist in kleinen Umgebungen mit wenigen Geräten und Apps möglich, wird j edoch ziemlich entmutigend, wenn viele Geräte in der Fabrik bereitgestellt werden .

Es ist die Aufgabe der Erfindung eine einfache Lösung zum effi zienten Verteilen von Aufgaben in Gruppen-Umgebungen bereitzustellen, wobei nur kompatible Aufgaben berücksichtigt werden .

Die erfindungsgemäße Aufgabe wird durch ein Verfahren eingangs genannter Art gelöst , indem folgende Schritte ausgeführt werden : a) Anbieten zumindest einer Aufgabe (A) , umfassend zumindest ein erstes Kompatibilitätsattribut zur Aus führung einer Aufgabe , welche dem ersten Gerät ( Dl ) zugeordnet ist an das zumindest eine zweite Gerät ( D2 , D3 ' ) , b) Signalisieren einer freien Geräte-Kapazität ( 0) , umfassend zumindest ein zweites Kompatibilitätsattribut zur Aus führung einer Aufgabe , des zumindest einen zweiten Geräts ( D2 , D3 ' ) an das erste Gerät ( Dl ) , c) Prüfen einer Übereinstimmung (M) des Angebots (A) aus Schritt a ) mit einer freien Geräte-Kapazität ( 0) aus Schritt b ) , umfassend Prüfung der Kompatibilität zwischen dem zumindest einen ersten Kompatibilitätsattribut und dem zumindest einen zweiten Kompatibilitätsattribut , d) Falls eine Übereinstimmung aus Schritt c ) vorliegt , übernehmen der Aufgabe (A) vom ersten Gerät ( Dl ) durch das zumindest eine zweite Gerät ( D2 , D3 ' ) und erledigen der Aufgabe (A) durch das zumindest eine zweite Gerät ( D2 , D3 ' ) •

Dadurch können Aufgaben von Edge-Geräten in Gruppen- Umgebungen gemeinsam genutzt werden, was für eine verbesserte Flexibilität und Ef fi zienz unter ganzen Geräte-Gruppen sorgt .

Eine Aufgabe für ein Gerät umfasst somit auch ein Kompatibi- litätsattribut zur Aus führung einer Aufgabe , welches bei der Prüfung im Schritt c ) geprüft wird . Die Kompatibilität einer Aufgabe kann beispielsweise Schnittstellen, Betriebssystem oder Rechenressourcen der Geräte oder der Kommunikationsverbindung betref fen und durch ein oder mehrere j eweilige Kompa- tibilitätsattribute repräsentiert werden .

Dies erhöht den Gesamtdurchsatz von Aufgaben, reduziert die Belastung von Geräten mit hoher Auslastung und erhöht die Nutzung von Geräten, die mehr Leerlauf zeiten aufweisen .

Ferner wird durch eine zentralisierte Planung und Workload- Verteilung eine einfache und ef fi ziente Lösung erzielt , wobei Aufgaben nur unter der Berücksichtigung ihrer Ressourcen- Erfordernisse verteilt werden .

In einer Weiterbildung der Erfindung ist es vorgesehen, dass vor dem Schritt a ) eine Gewichtung der zumindest einen Aufgabe mithil fe einer Gewichts funktion vorgenommen wird .

Dadurch wird erreicht , dass beispielsweise ein bestimmtes Gerät bei der Erledigung einer Angebotenen Aufgabe übergangen wird, oder eine Präferenz auf ein bestimmtes Gerät zur Aufga- ben-Erledigung bestimmt werden kann . Dies hat den Vorteil , dass beispielsweise Geräte gezielt dafür vorgesehen sein können, um Auslastungsspitzen abzudecken, oder beispielsweise eine zeitliche Planung von Geräten abzudecken, falls eine Prognose ergibt , dass zu einer bestimmten Zeit eine Aufgabe erwartet wird . Dadurch kann ein sehr hoher Auslastungsgrad über alle Geräte des Geräte-Pools erreicht werden .

In einer Weiterbildung der Erfindung ist es vorgesehen, dass das zumindest eine zweite Gerät zumindest zwei Geräte umfasst , und nach Schritt c ) geprüft wird, welches Gerät einen höheren Übereinstimmungsgrad aufweist , und dieses Gerät zur Aus führung für den Schritt d) ausgewählt wird .

Dadurch wird erreicht , dass eine Priorisierung bei Vorliegen mehrerer Angebote zur Auf gaben-Erledigung erfolgen kann . Die zuvor genannten Vorteile gelten auch hier .

In einer Weiterbildung der Erfindung ist es vorgesehen, dass das zumindest eine zweite Gerät eine virtuelle Repräsentation eines Fremd-Geräts ist , welches logisch einer zweiten Geräte- Gruppe zugeordnet ist und nicht der ersten Geräte-Gruppe angehört , welcher das erste Gerät logisch zugeordnet ist .

Dadurch wird erreicht , dass auf einen erweiterten Geräte-Pool zur Erledigung von Aufgaben zurückgegri f fen werden kann, nämlich auch auf solche Geräte , die beispielsweise logisch nicht im selben lokalen Netzwerk liegen, wie in einem anderen virtuellen lokalen Netzwerk . Dies erhöht die Flexibilität weiter .

In einer Weiterbildung der Erfindung ist es vorgesehen, dass die Prüfung im Schritt c ) durch das erste Gerät ( Dl ) erfolgt , welches die Aufgabe im Schritt a ) angeboten hat .

Dadurch wird erreicht , dass j enes Gerät , welches eine Aufgabe zur Abarbeitung oder Erledigung anbietet , selbst darüber entscheiden kann, welches Gerät den Zuschlag zur Erledigung erhält , was zu einer Verbesserung der Autonomie des Geräts führt und ein Verzicht auf eine zentrale Koordination erlaubt . In einer Weiterbildung der Erfindung ist es vorgesehen, dass die Aufgabe im Schritt a ) zumindest eine Teilaufgabe umfasst , welche vorzugsweise zumindest einem Aufgabentyp zugeordnet ist , und Aufgabentyp Eigenschaften zugeordnet ist , welche die Art der Daten und Rechenkapazität bei der Aus führung der Teilaufgabe beschreiben .

Dadurch wird erreicht , dass j e nach Ausgabentyp eine gesonderte Erledigung durchgeführt werden kann, was zu einer höheren Flexibilität führt .

In einer Weiterbildung der Erfindung ist es vorgesehen, dass das zumindest eine zweite Gerät zumindest zwei Geräte umfasst , und das Anbieten im Schritt a ) , das Signalisieren im Schritt b ) und das Prüfen im Schritt c ) mithil fe j eweils einer computer-implementierten Datenstruktur in Form Matrix erfolgt .

Dadurch wird erreicht , dass die inneren Abläufe innerhalb des Verfahrens besonders ef fi zient erfolgen . Durch Verwendung der Datenstruktur ist es aus eine besonders einfache Weise möglich, die Angebote , die Signalisierungen und die Prüfung durchzuführen und die entsprechenden Operationen durchzuführen, nämlich indem ein nur sehr kleiner Speicherbedarf zur Realisierung besteht und die Operationen durch Matri zen- Operationen besonders einfach erledigt werden können .

Die erfindungsgemäße Aufgabe wird auch durch ein System zur ef fi zienten Auf gaben-Verteilung an Geräte innerhalb einer ersten Geräte-Gruppe gelöst , welche ein erstes Gerät und zumindest ein zweites Gerät aufweist , wobei das System dazu eingerichtet ist das erfindungsgemäße Verfahren aus zuführen .

Die erfindungsgemäße Aufgabe wird auch durch eine computerimplementierte Datenstruktur zur Verwendung im erfindungsgemäßen Verfahren in Form zumindest einer Matrix gelöst , welche sein kann : • eine Angebots-Matrix, welche abseits deren Diagonal- Elementen zumindest ein Element für eine bereitgestellte , angebotene Aufgabe enthält , und/oder

• eine Kapazität-Matrix, welche in deren Diagonal- Elementen die Auslastung eines ersten Geräts und zumindest eines zweiten Geräts enthält , und/oder

• eine Prüf-Matrix, welche als Matrix-Elemente j eweils den Grad der Übereinstimmung nach Durchführung einer Prüf-Operation aufweist .

Die erfindungsgemäße Aufgabe wird auch durch ein Computerprogramm gelöst , umfassend Befehle , welche bei deren Aus führung durch einen Computer diesen veranlassen, das erfindungsgemäße Verfahren aus zuführen .

Die erfindungsgemäße Aufgabe wird auch durch einen elektronisch lesbaren Datenträger mit darauf gespeicherten lesbaren Steuerinformationen, welche zumindest das erfindungsgemäße Computerprogramm umfassen und derart ausgestaltet sind, dass sie bei Verwendung des Datenträgers in einer Recheneinrichtung das erfindungsgemäße Verfahren durchführen .

Die erfindungsgemäße Aufgabe wird auch durch eine Datenträgersignal gelöst , welches das erfindungsgemäße Computerprogramm überträgt .

Die Erfindung wird nachfolgend anhand eines in den beigeschlossenen Zeichnungen dargestellten Aus führungsbeispiels näher erläutert . In den Zeichnungen zeigt :

Fig . 1 ein Beispiel für Geräte-Gruppen an einer Edge ,

Fig . 2 ein Beispiel für Auf gaben-Gruppen an einer Edge ,

Fig . 3 eine schematische Darstellung von Geräte-Gruppen,

Fig . 4 eine schematische Darstellung des erfindungsgemäßen

Verfahrens zur Arbeitsteilung, Fig . 5 ein Beispiel für Auf gaben-Gruppen und Aufgabentypen für Edge-Geräte ,

Fig . 6 ein Beispiel für eine Kommunikations-Architektur zur Durchführung des erfindungsgemäßen Verfahrens .

Fig . 1 zeigt ein Beispiel für Geräte-Gruppen an einer Edge .

Edge-Geräte werden häufig in einem Fertigungskontext verwendet , um Daten zu sammeln und Datenanalyse- und „Machine Learning" (ML ) -Aufgaben durchzuführen .

Diese Edge-Geräte bieten eine große Flexibilität , um beispielweise bei Bedarf zusätzliche Apps zu installieren .

Natürlich kann die Hardwareauslastung verschiedener Geräte j e nach den aktuellen Apps , die auf dem System ausgeführt werden, und den ML/AI -Auf gaben variieren .

Die Figur zeigt den CPU- und Speicherverbrauch CPU1-CPU3 , MEM1-MEM3 von drei Edge-Geräten D1-D3 .

Es gibt zwei Gruppen von Gerätegruppen DC1 , DC2 ( engl . „device cluster" ) , die logisch getrennt sind .

Beispielsweise könnte Gruppe DC1 alle Geräte in einer Halle 1 und Gruppe DC2 alle Geräte in einer Halle 2 darstellen .

Diese logische Trennung wird in der Praxis oft aus Sicher- heits- und Skalierbarkeitsüberlegungen vorgenommen, beispielsweise als unterschiedliche Subnetze oder VLANs implementiert .

Das erste Gerät Dl weist eine mäßige HW-Auslastung, das Gerät D2 eine erhebliche HW-Auslastung und das Gerät auf dem Gerät D3 eine geringe HW-Auslastung auf .

Cloud-Umgebungen verwenden häufig einen Kubernetes-Scheduler für die automatisierte Bereitstellung, Skalierung und Verwaltung von Containern . Kubernetes erfordert j edoch eine komplexe Einrichtung des Netzwerks sowie der Serverinfrastruktur als zentrale Koordinationseinrichtung .

Das Hinzufügen oder Entfernen von Edge-Geräten kann bei Systemen aus dem Stand der Technik dazu führen, dass die Verfügbarkeit bestimmter Geräte ungünstig beeinflusst wird .

Beim Parallel Computing ist „work stealing" eine Planungsstrategie für Multithread-Computerprogramme .

Es löst das Problem der Aus führung einer dynamischen Multithread-Berechnung, die neue Aus führungs-Threads " spawnen" kann, auf einem statisch Multithread-Computer mit einer festen Anzahl von Prozessoren ( oder Kernen) .

In einem „work stealing scheduler" hat j eder Prozessor in einem Computersystem eine Warteschlange von Arbeitselementen (Rechenaufgaben, Threads ) , die ausgeführt werden müssen .

Jede Arbeitsaufgabe besteht aus einer Reihe von Anweisungen, die sequentiell ausgeführt werden, aber im Laufe ihrer Ausführung kann eine Arbeitsaufgabe auch neue Arbeitsaufgaben hervorbringen, die möglicherweise parallel zu ihrer anderen Arbeit ausgeführt werden können .

Diese neuen Elemente werden anfänglich in die Warteschlange des Prozessors gestellt , der die Arbeitsaufgabe aus führt .

Wenn einem Prozessor die Arbeit ausgeht , schaut er sich die Warteschlangen der anderen Prozessoren an und „stiehlt" deren Arbeitselemente .

Tatsächlich verteilt „work stealing" die Planungsarbeit über freie Prozessoren, und wenn alle Prozessoren Arbeit zu erledigen haben, tritt kein Planungsaufwand auf .

Fig . 2 zeigt beispielhaft drei Auf gaben-Gruppen TG1-TG3 , welche im erfindungsgemäßen Verfahren abgearbeitet werden sollen . Innerhalb der Auf gaben-Gruppen TG1-TG3 sind Aufgabentypen GIGS definiert , welche beispielsweise Datenverwendungen, Orte von Datenspeicherungen oder eine Leistungs fähigkeit eines Prozessors in Zusammenhang mit einer konkreten Aufgabe näher spezi fi zieren .

Aufgaben vom Typ T-NOK in der Auf gaben-Gruppe TG1 können nicht von einem Edge-Gerät an ein anderes delegiert werden .

Aufgaben vom Typ T-OK1 , T-OK2 in der Auf gaben-Gruppe TG2 und TG3 können j edoch an ein anderes Edge-Gerät delegiert werden .

Daten D-ED1 in der Auf gaben-Gruppe TG1 basieren auf Daten, die auf Edge-Geräten gesammelt wurden .

Daten D-ED2 in der Auf gaben-Gruppe TG2 befinden sich auf Edge-Geräten und müssen zusammen mit anderen Aufgaben geteilt werden .

Daten D-SC in der Auf gaben-Gruppe TG3 befinden sich auf dem Server oder in der Cloud und können vom Edge-Gerät heruntergeladen werden .

Fig . 3 zeigt links Geräte-Gruppen C1-C3 ( engl . „cluster" ) , welche nicht miteinander verbunden sind .

Diese Geräte-Gruppen C1-C3 sind logisch getrennt , und eine Arbeitslastverteilung ist nicht möglich, da keine logische Verknüpfung zwischen diesen Gruppen besteht .

In der Figur rechts sind die Geräte-Gruppen C1-C3 mittels Brücken-Geräten B12 , B13 , B23 ( engl . „bridge" ) verbunden, welche dafür zuständig sind, unverbundene Gruppen miteinander zu verbinden, um eine Arbeitsteilung zwischen den Gruppen in einer gruppierten Umgebung zu ermöglichen .

Geräte innerhalb einer Gruppe werden auch als Peer-geräte bezeichnet .

Fig . 4 zeigt eine symbolische Darstellung des erfindungsgemäßen Verfahrens . Ein Gerät D4 , welches zur Geräte-Gruppe C2 gehört , fungiert als Brücken-Gerät zwischen Geräte-Gruppe Gl und C2 und verbindet diese beiden Geräte-Gruppen .

Brücken-Geräte unterstützen somit die Erkennung von Geräten für die gruppenübergrei fende Arbeitslastverteilung .

Das Gerät D4 erzeugt ein „Schatten-Gerät" D3 ' des Gerät D3 in Geräte-Gruppe Gl .

Ein „Schatten-Gerät" ist eine virtuelle Repräsentation eines physischen Geräts aus einer anderen Gruppe .

Somit ist das „Schatten-Gerät" D3 ' für die Geräte Dl und D2 in Gruppe 1 erkennbar .

Das „Schatten-Gerät" D3 ' kann nun dazu verwendet werden, um Geräte in Gruppe 1 darauf aufmerksam zu machen, dass weitere Ressourcen in der Gruppe für eine Aufteilung der Aufgaben zur Verfügung stehen .

Dadurch wird erreicht , dass Ressourcen anderen Gruppen zur Nutzung eingesetzt werden können .

Fig . 5 zeugt ein Beispiel für Aufgabentypen G1-G3 für die Edge-Geräte D1-D3 .

Die Aufgaben mit den Bezeichnungen * T* sind folgendermaßen gekennzeichnet :

• Geräte-Präf ix 1 , 2 , 3

• Gruppen- Identi f ikation Aufgabe TI für Aufgabentyp Gl , Aufgabe T2 für Aufgabentyp G2 , und Aufgabe T3 für Aufgabentyp G3

• Auf gaben- Identi f ikation 1 , 2 , 3

Es ergibt sich somit eine Aufgaben 1T13 als Aufgabe für Gerät Dl für Gruppe G2 und Auf gaben- Index 3 . Gerät D2 umfasst vier Aufgaben 2T21 , 2T22 , 2T23 und 2T24 in Gruppe G2 , und weist eine hohe CPU-Auslastung CPU2 und eine hohe Speicherauslastung MEM2 auf .

Aus diesem Beispiel ergibt es sich, dass es vorteilhaft wäre , Aufgaben vom Gerät D2 zum virtuellen Gerät D3 ' zu verschieben . Mit anderen Worten soll erreicht werden, dass das Gerät D3 ' Aufgabe vom Gerät D2 stiehlt .

Im Weiteren wird nun beschrieben, wie dieses „stehlen" von Aufgaben erreicht wird .

Ein Gerät kann die Aufgabe erfolgreich stehlen und abschließen, j edoch unter der Voraussetzung der Kompatibilität zwischen j eweiligen Kompatibilitätsattributen . Die Kompatibili- tätsattribute sind im Weiteren nicht gesondert dargestellt .

Die Kompatibilität einer Aufgabe kann beispielsweise Schnittstellen, Betriebssystem oder Rechenressourcen der Geräte oder der Kommunikationsverbindung betref fen und durch ein oder mehrere j eweilige Kompatibilitätsattribute repräsentiert werden .

Somit wurde eine erfolgreiche Arbeitslastverteilung durchgeführt .

Ein Gerät kann erfolgreich stehlen, aber die Aufgabe trotzdem nicht aus führen, was unerwünscht ist .

Daher wurde die Arbeitslastverteilung nicht erfolgreich durchgeführt .

Eine Präferenz-Matrix kann dabei hel fen, Verteilungs- Präferenzen beziehungsweise Prioritäten anzugeben, um zu verhindern, dass bestimmte Geräte Aufgaben stehlen .

Tabelle 1 zeigt eine Auf gaben-Matrix T ( engl . „task" ) , aus welcher hervorgeht , dass eine Verteilung unter allen Geräten Dl , D2 , D3 ' mithil fe der Aufgabentypen Gl , G2 , G3 ' möglich ist .

Tabelle 1 : Auf gaben-Matrix T

Eine Gewichts-Matrix W ( engl . „weight" ) nach Tabelle 2 zeigt , wie mithil fe von Gewichten Präferenzen zur Verteilung von Aufgaben vergeben werden können . Mit anderen Worten repräsentiert die Gewichts-Matrix W die zuvor genannte Präferenz- Matrix .

Tabelle 2 : Gewichts-Matrix W

Eine Auf gaben-Verteilung vom Gerät Dl zum Gerät D2 ist unerwünscht und wird durch den Gewichts faktor 0 verhindert . Somit kann das Gerät D2 keine Aufgabe des Geräts Dl „stehlen" .

Ein Gerät nun kündigt an, dass es eine Aufgabengruppe , also eine Aufgabe des Typen G2 und G3 teilen möchte .

Die Unterscheidung zwischen der Aufgabengruppe G2 und G3 ist wichtig, da Aufgaben in G2 dazu führten, dass eine Peer-2- Peer-Kommunikation zwischen den Geräten durchgeführt werden muss .

Somit sind Kommunikationsqualität und Zuverlässigkeit zwischen den Geräten wichtig .

Wenn die Kommunikation zwischen zwei Geräten nicht immer zuverlässig ist , kann ein Präferenzgewicht kleiner als 1 zugewiesen werden .

Diese Funktion wird durch eine Ankündigungs-Matrix A ( engl .

„announcement" ) gemäß Tabelle 3 erreicht .

Tabelle 3 : Ankündigungs-Matrix A

In diesem Beispiel zeigt das Gerät D2 , dass es bereit ist mit ihren Peer-Geräten Dl und D3 ' j eweils 30% ihrer Last zu teilen .

Beispielsweise weist das Gerät D2 eine CPU-Auslastung CPU2 von 80% auf , und durch Verschiebung einzelner Aufgaben in der Höhe von 30% CPU-Last würde sich die CPU-Auslastung CPU2 auf 50% reduzieren .

In diesem Beispiel gibt es keine besondere Präferenz für Gerät 1 oder 3 ' ( das Präferenzgewicht für j edes Gerät ist 1 aus Sicht von Gerät 2 ) .

Tabelle 4 zeigt eine Angebots-Matrix O ( engl . „of fer" ) , mit welcher ein Kapazitäts-Angebot bestimmt werden kann .

Tabelle 4 : Angebots-Matrix 0

Die Angebots-Matrix 0 bildet die Geräte-Auslastung in den Diagonal-Elementen der Matrix ab .

Verfügbare Kapazitäten sind daraus ableitbar, welche den anderen Peer-Geräten angeboten werden .

Mithil fe einer Übereinstimmungs-Matrix M ( engl . „match" ) kann nun ermittelt werden, wie Ankündigungen und Angebote übereinstimmen, das heißt wie eine Aufgabe „gestohlen" werden kann .

Dies liefert die Übereinstimmungs-Matrix M durch den Zusammenhang : M = A x O T

Eine transponierte Angebots-Matrix O T durch Transponierung der Angebots-Matrix 0 bestimmt werden kann .

Tabelle 5 zeigt ein Beispiel für die transponierte Angebots- Matrix O T .

Tabelle 5 : Transponierte Angebots-Matrix O T

Das Ergebnis ist die Übereinstimmungs-Matrix M nach Tabelle 6 .

Tabelle 6 : Übereinstimmungs-Matrix M

Die Geräte Dl und D3 ' sind zwei Anwärter für einen Aufgaben- „Diebstahl" .

Da Gerät D3 ' einen höheren Übereinstimmungs-Grad durch eine geringere Auslastung als Gerät Dl aufweist wird Gerät 3 ' als Gewinner festgelegt und Gerät D3 ' kann die Aufgabe vom Gerät D2 „stehlen" , also aus führen beziehungsweise abarbeiten, um die Auslastung des Geräts D2 zu reduzieren .

Fig . 6 stellt ein Beispiel für eine Kommunikations- Systemarchitektur auf Basis eines zentralen MQTT- Brokers MQTT-B zum Verteilen von Aufgaben dar .

Der MQTT-Broker verbindet die drei Geräte Dl , D2 , D3 ' . Das Gerät D3 ' übernimmt Aufgaben vom Gerät D2 , wodurch die Auslastung vom Gerät D2 sinkt und wobei dies ohne zentrale Koordination erfolgt .

Jedes Gerät erkennt selbst dessen Auslastung und deren abzu- arbeitenden Aufgaben und erstellt selbstständig „Diebstahls"-

Angebote .

Dabei ist kein zentrales „scheduling"-Service erforderlich, welches Aufgaben überwacht und verteilt beziehungsweise wiederverteilt . In der Figur ist eine Wiederverteilung der Aufgaben 2T24 , 2T23 und 2T33 von Gerät D2 zum Gerät D3 ' als Ergebnis erkennbar .

Bezugszeichenliste :

*T* Aufgabe , Auftrag, Teilaufgabe , aus zuführender

Programmcode

B12 , B13 , B23 Bridge-Gerät

C1-C3 Geräte-Gruppe

CPU1-CPU3 Prozessorauslastung

D1-D4 Gerät

D3 ' Schatten-Gerät

DC1-DC3 Geräte-Gruppe

D-ED1 Daten liegen auf Edge-Gerät

D-ED2 Daten liegen auf Edge-Gerät

D-SC Daten liegen auf Server oder Cloud

G1-G3 , G3 ' Aufgabentyp-Liste

MEM1-MEM3 Speicherauslastung

MQTT-B MQTT Broker

0 Angebots-Matrix

TG1-TG3 Auf gaben-Gruppe

T-NOK Daten-Trans f er nicht möglich

T-OK Daten-Trans f er möglich