Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR FINDING AND IDENTIFYING COMPUTER NODES IN A NETWORK
Document Type and Number:
WIPO Patent Application WO/2020/178091
Kind Code:
A1
Abstract:
The invention is concerned with a system (100) for finding and identifying computer nodes (N) in a network (200). The system (100) consists of a network (200) having multiple computer nodes (220, 240, 260,... Z), which are connected to one another by means of communication connections (600) and are designed to perform a workload of one or more software application(s) (400), and at least one planning module (300). The planning module (300) contains at least one probe (500) having a test code (550) and is designed to send the probe (500) with the test code (550) to the computer nodes (220, 240, 260,..., N) of the network (200) for the purpose of testing the properties of the computer nodes (220, 240, 260,..., N). The test code (550) is designed to test the properties of the computer nodes (220, 240, 260,..., N) in respect of their ability to perform a specific workload of at least one software application (400), and to communicate the test results to the planning module (300). The planning module (300) is designed to take the test results of the test code (550) as a basis for selecting one or more computer nodes (N) for performing the workload of at least one software application (400), and to start the performance of the workload of the at least one software application (400) on the selected computer node (N).

Inventors:
MITTERMEIER LUDWIG ANDREAS (DE)
Application Number:
PCT/EP2020/054978
Publication Date:
September 10, 2020
Filing Date:
February 26, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F9/50
Foreign References:
US20140196054A12014-07-10
US20180129495A12018-05-10
US20140196054A12014-07-10
US20180129495A12018-05-10
Download PDF:
Claims:
Patentansprüche

1. Ein System (100) zum Auffinden und Identifizieren von Rechenknoten N in einem Netzwerk (200), wobei das System (100) aus einem Netzwerk (200) mit mehreren Rechenknoten (220, 240, 260, ... Z), die mittels Kommunikationsverbin dungen (600) miteinander verbunden sind und ausgebildet sind, eine Arbeitslast einer oder mehrerer Software applikation ( en) (400) abzuarbeiten, und zumindest einem Planungsmodul (300) besteht, wobei das Planungsmodul (300) zumindest eine Sonde (500) mit einem Testcode (550) enthält und ausgebildet ist, die Sonde (500) mit dem Testcode (550) an die Rechenknoten (220, 240, 260, ... , N) des Netzwerks (200) zu schicken zum Testen der Ei genschaften der Rechenknoten (220, 240, 260, ..., N) , wo bei der Testcode (550) ausgebildet ist, die Eigenschaf ten der Rechenknoten (220, 240, 260, ..., N) hinsichtlich ihrer Fähigkeit, eine bestimmte Arbeitslast zumindest einer Softwareapplikation (400) abzuarbeiten, zu testen, und wobei der Testcode (550) ausgebildet ist, dem Pla nungsmodul (300) die Testergebnisse mitzuteilen, wobei das Planungsmodul (300) ausgebildet ist, aufgrund der Testergebnisse des Testcodes (550) einen oder mehrere Rechenknoten (N) zum Abarbeiten der Arbeitslast zumin dest einer Softwareapplikation (400) auszuwählen, und auf dem ausgewählten Rechenknoten das Abarbeiten der Ar beitslast der zumindest einen Softwareapplikation (400) (N) zu starten,

dadurch gekennzeichnet, dass

die Sonde (500) in die Softwareapplikation (400) inte griert ist und das Planungsmodul (300) geeignet ist, die Softwareapplikation (400) mit der Sonde (500) an die Re chenknoten (220, 240, 260, ... , N) zu schicken.

2. Das System (100) nach Anspruch 1, dadurch gekennzeich net, dass die Sonde (500) unabhängig von der Software applikation (400) ausgebildet ist und das Planungsmodul (300) geeignet ist, nur die Sonde (500) an die Rechen knoten (220, 240, 260, ... , N) zu schicken.

3. Das System (100) nach Anspruch 1 oder 2, dadurch gekenn zeichnet, dass die Sonde (500) ein Klassifizierungssche ma mit verschiedenen Kategorien für die Klassifizierung der Rechenknoten (220, 240, 260, ..., N) enthält und die Sonde (500) ausgebildet ist, die Rechenknoten (220, 240, 260, ..., N) mittels dieses Klassifizierungsschemas zu testen .

4. Das System (100) nach einem oder mehreren der Ansprüche 1-3, dadurch gekennzeichnet, dass die Sonde (500) eine Reinigungskomponente (570) zum Entfernen von Artefakten auf den Rechenknoten (220, 240, 260, ..., N) aufweist.

5. Das System (100) nach einem oder mehreren der Ansprüche 1-4, dadurch gekennzeichnet, dass der Testcode (550) ausgebildet ist, die Rechenknoten (220, 240, 260, ..., N) innerhalb von 10 - 100 Millisekunden zu testen.

6. Das System (100) nach einem oder mehreren der Ansprüche 1-5, dadurch gekennzeichnet, dass das Planungsmodul (300) geeignet ist, unterschiedliche Softwareapplikatio nen (400) anhand der Testergebnisse der Sonde (500) für die Arbeitslast der unterschiedlichen Softwareapplikati onen (400) in einer optimierten Sequenz unter Verwendung verschiedener Rechenknoten (220, 240, 260, ..., N) abzuar beiten .

7. Ein Verfahren zum Auffinden und Identifizieren von Re chenknoten N in einem Netzwerk (200), wobei das System (100) aus einem Netzwerk (200) mit mehreren Rechenknoten (220, 240, 260, ... Z), die mittels Kommunikationsverbin dungen (600) miteinander verbunden sind und ausgebildet sind, eine Arbeitslast einer oder mehrerer Software applikation ( en) (400) abzuarbeiten, und zumindest einem Planungsmodul (300) besteht, wobei das Planungsmodul (300) zumindest eine Sonde (500) mit einem Testcode (550) enthält, umfassend:

- das Planungsmodul (300) sendet (S10) die Sonde (500) mit dem Testcode (550) an die Rechenknoten (220, 240, 260, ... , N) des Netzwerks (200) zum Testen der Eigen schaften der Rechenknoten (220, 240, 260, ..., N) ;

- der Testcode (550) testet (S20) die Eigenschaften der Rechenknoten (220, 240, 260, ..., N) hinsichtlich ihrer Fähigkeit, eine bestimmte Arbeitslast zumindest einer Softwareapplikation (400) abzuarbeiten;

- der Testcode (550) teilt dem Planungsmodul die Test ergebnisse mit;

- das Planungsmodul (300) wählt (S40) aufgrund der

Testergebnisse des Testcodes (550) einen oder mehrere Rechenknoten (N) zum Abarbeiten der Arbeitslast zu mindest einer Softwareapplikation (400) aus;

- das Planungsmodul (300) startet auf dem ausgewählten Rechenknoten (N) das Abarbeiten der Arbeitslast der zumindest einen Softwareapplikation (400),

dadurch gekennzeichnet, dass

die Sonde (500) in die Softwareapplikation (400) in tegriert ist und das Planungsmodul (300) die Soft wareapplikation (400) mit der Sonde (500) an die Re chenknoten (220, 240, 260, ... , N) schickt.

8. Das Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Sonde (500) unabhängig von der Softwareapplika tion (400) ausgebildet ist und das Planungsmodul nur die Sonde (500) an die Rechenknoten (220, 240, 260, ... , N) schickt .

9. Das Verfahren nach Anspruch 7 oder 8, dadurch gekenn

zeichnet, dass die Sonde (500) ein Klassifizierungssche ma mit verschiedenen Kategorien für die Klassifizierung der Rechenknoten (220, 240, 260, ..., N) enthält und die Sonde (500) die Rechenknoten (220, 240, 260, ..., N) mit tels dieses Klassifizierungsschemas testet.

10. Das Verfahren nach einem oder mehreren der Ansprüche 7-

9, dadurch gekennzeichnet, dass die Sonde (500) eine Reinigungskomponente (570) zum Entfernen von Artefakten auf den Rechenknoten (220, 240, 260, ..., N) aufweist.

11. Das Verfahren nach einem oder mehreren der Ansprüche 7-

10, dadurch gekennzeichnet, dass der Testcode (550) die Rechenknoten (220, 240, 260, ..., N) innerhalb von 10 - 100 Millisekunden testet.

12. Das Verfahren nach einem oder mehreren der Ansprüche 7-

11, dadurch gekennzeichnet, dass das Planungsmodul (300) unterschiedliche Softwareapplikationen (400) anhand der Testergebnisse der Sonde (500) für die Arbeitslast der unterschiedlichen Softwareapplikationen (400) in einer optimierten Sequenz unter Verwendung verschiedener Re chenknoten (220, 240, 260, ..., N) abarbeitet. 13. Ein Computerprogrammprodukt (700), das einen und/der

mehrere ausführbare Computercodes (750) enthält zur Ausführung des Verfahrens nach einem oder mehreren der Ansprüche 7 bis 12.

Description:
Beschreibung

System und Verfahren zum Auffinden und Identifizieren von Re chenknoten in einem Netzwerk

Die Erfindung betrifft ein System und Verfahren zum Auffinden und Identifizieren von Rechenknoten in einem Netzwerk.

Fog-Computing oder Fog-Networking, auch als Fogging bezeich net, ist eine Architektur, die Randgeräte verwendet, um einen erheblichen Teil der Berechnungen, Speicher, Kommunikation lokal und über das Internet-Backbone auszuführen. Sowohl Cloud-Computing als auch Fog-Computing bieten Endbenutzern und industriellen Anwendern Speicher, Anwendungen und Daten. Allerdings hat Fog-Computing eine größere Nähe zu den Endnut zern und eine größere geografische Verteilung.

Fog-Computing umfasst die Verteilung der Kommunikations- , Be- rechnungs- und Speicherressourcen und -Services auf oder in der Nähe von Geräten und Systemen, die Endbenutzer steuern. Fog Computing ist kein Ersatz, sondern oft eine Ergänzung zum Cloud Computing.

In Fog/Edge-Computing-Umgebungen werden rechnerische

Arbeitslasten (Workloads) auf geeignete Rechenknoten

verteilt, auf denen sie ausgeführt werden. Beispiele für Anwendungen sind im Automobilbereich beispielsweise

Fahrassistenzsysteme und Rechnersysteme für autonomes Fahren, im medizinischen Bereich eine Vielzahl von diagnostischen Instrumenten im Krankenhaus und in Arztpraxen, in der

industriellen Fertigung Montagestraßen und

Herstellungsmaschinen wie beispielsweise CNC-Maschinen .

Allerdings besteht häufig ein Problem darin, einen oder meh rere geeignete Rechenknoten für eine bestimmte Anwendung zu identifizieren und zu finden, da die Rechenknoten über unter- schiedliche Eigenschaften verfügen wie bespielweise unter schiedliche Prozessoren und Speicherkapazitäten.

Bisher werden geeignete Rechenknoten dadurch identifiziert, dass die Eigenschaften der Rechenknoten sowie die Kennzeichen der Arbeitslast (workload) von Entwicklern und Bedienpersonal manuell festgelegt werden. Ein Verarbeitungssystem identifi ziert geeignete Rechenknoten für eine gegebene Arbeitslast anhand der Eigenschaften der Rechenknoten, wobei entweder ei ne Teilmenge oder der gesamte Satz von Eigenschaften und Fä higkeiten der Rechenknoten erkannt wird. Falls ein Rechenkno ten für eine Berechnungsaufgabe gefunden wurde, wird dieser Rechenknoten auch verwendet. Es wird allerdings nicht ge prüft, ob möglicherweise geeignetere Rechenknoten zur Verfü gung stehen, um die Auslastung des gesamten Netzwerks bzw. Rechenclusters zu optimieren und/oder eine bessere oder schnellere Verarbeitung für eine jeweilige Arbeitslast zu er reichen .

Die Druckschrift US 2014/196054 Al beschreibt ein Verfahren zum Ausgeben eines Befehls für ein Ausführen verkürzter Leis tungsmessungen für einen oder mehrere Rechnerknoten, um zu bestimmen, ob eine Anzahl von einem oder mehrerer Rechenkno ten ausreichend ist, auf denen eine Berechnung durch geführt werden kann.

Die Druckschrift US 2018/129495 Al beschreibt ein Verfahren für das Verwalten von Software. Um Software auszuführen, wird durch einen Manager ein Request mit einer bestimmten Anforde rung versendet, womit ein optimales Computergerät für die Ausführung der Software ermittelt werden soll. Nach der Aus wahl des optimalen Computergerätes wird die Software an das ausgewählte Computergerät zum Bearbeiten gesendet.

Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin, ein System und ein Verfahren zur verlässlichen

Identifizierung und Auswahl von Rechenknoten in einem

Netzwerk bzw. Rechencluster anzugeben, das sich durch eine hohe Zuverlässigkeit und Sicherheit auszeichnet und eine verbesserte Ressourcenplanung und -auslastung von

Netzwerksystemen und damit deren Optimierung ermöglicht.

Diese Aufgabe wird hinsichtlich eines Systems durch die Merkmale des Patentanspruchs eins, und hinsichtlich eines Verfahrens durch die Merkmale des Patentanspruchs sieben erfindungsgemäß gelöst. Die weiteren Ansprüche betreffen bevorzugte Ausgestaltung der Erfindung.

Die Erfindung betrifft gemäß einem ersten Aspekt ein System zum Auffinden und Identifizieren von Rechenknoten in einem Netzwerk mit den Merkmalen des Anspruchs 1.

Gemäß der Erfindung ist die Sonde in die Softwareapplikation integriert, und das Planungsmodul ist geeignet, die Software applikation mit der Sonde an die Rechenknoten zu schicken. Wenn die Sonde die Eignung eines Rechenknotens feststellt, kann somit sofort mit der Ausführung der Softwareapplikation begonnen werden.

In einer weiteren Ausgestaltung der Erfindung ist die Sonde unabhängig von der Softwareapplikation ausgebildet und das Planungsmodul ist geeignet, nur die Sonde an die Rechenknoten zu schicken. Hierdurch kann die Sonde schneller an die ver schiedenen Rechenknoten geschickt werden, da sie nicht mit der Softwareapplikation verbunden ist.

Vorteilhafterweise enthält die Sonde ein Klassifizierungs schema mit verschiedenen Kategorien für die Klassifizierung der Rechenknoten, und die Sonde ist ausgebildet, die Rechen knoten mittels dieses Klassifizierungsschemas zu testen.

Hierdurch kann schnell eine Einordnung der getesteten Rechen knoten in ein Ordnungsschema erfolgen.

Gemäß einer vorteilhaften Ausgestaltung der Erfindung weist die Sonde eine Reinigungskomponente zum Entfernen von Arte fakten auf den Rechenknoten auf. Vorteilhafterweise ist der Testcode ausgebildet, die Rechen knoten innerhalb von 10 - 100 Millisekunden zu testen.

Gemäß einer weiteren vorteilhaften Weiterentwicklung der Er findung ist das Planungsmodul geeignet, unterschiedliche Softwareapplikationen anhand der Testergebnisse der Sonde für die Arbeitslast der unterschiedlichen Softwareapplikationen in einer optimierten Sequenz unter Verwendung verschiedener Rechenknoten abzuarbeiten.

Die Erfindung betrifft gemäß einem zweiten Aspekt ein Verfah ren zum Auffinden und Identifizieren von Rechenknoten in ei nem Netzwerk mit den Merkmalen des Anspruchs 7.

Gemäß der Erfindung ist die Sonde in die Softwareapplikation integriert, und das Planungsmodul schickt die Softwareappli kation mit der Sonde an die Rechenknoten. Wenn die Sonde die Eignung eines Rechenknotens feststellt, kann somit sofort mit der Ausführung der Softwareapplikation begonnen werden.

In einer weiteren Ausgestaltung der Erfindung ist die Sonde unabhängig von der Softwareapplikation ausgebildet und das Planungsmodul schickt nur die Sonde an die Rechenknoten.

Hierdurch kann die Sonde schneller an die verschiedenen Re chenknoten geschickt werden, da sie nicht mit der Software applikation verbunden ist.

Vorteilhafterweise enthält die Sonde ein Klassifizierungs schema mit verschiedenen Kategorien für die Klassifizierung der Rechenknoten und die Sonde testet die Rechenknoten mit tels dieses Klassifizierungsschemas. Hierdurch kann schnell eine Einordnung der getesteten Rechenknoten in ein Ordnungs schema erfolgen.

In einer weiteren Ausgestaltung weist die Sonde eine Reini gungskomponente zum Entfernen von Artefakten auf den Rechen knoten auf. Vorteilhafterweise testet der Testcode die Rechenknoten in nerhalb von 10 - 100 Millisekunden.

In einer weiteren Ausgestaltung der Erfindung ist das Pla nungsmodul geeignet, unterschiedliche Softwareapplikationen anhand der Testergebnisse der Sonde für die Arbeitslast der unterschiedlichen Softwareapplikationen in einer optimierten Sequenz unter Verwendung verschiedener Rechenknoten abzuar beiten .

Die Erfindung betrifft gemäß einem dritten Aspekt ein

Computerprogrammprodukt, umfassend einen und/oder mehrere ausführbare Computercodes, der (die) dazu ausgebildet

ist (sind) (z.B. durch einen Computer), ein Verfahren gemäß einer Aus führungs form des ersten Aspekts durchzuführen.

Nachfolgend wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert.

Dabei zeigen:

Figur 1 eine Übersichtsdarstellung zur Erläuterung eines erfindungsgemäßen Systems;

Figur 2 ein Blockdiagramm zur Erläuterung eines

Ausführungsdetails des erfindungsgemäßen Systems;

Figur 3 ein Blockdiagramm zur Erläuterung eines weiteren optionalen Ausführungsdetails des erfindungsgemäßen Systems ;

Figur 4 ein Blockdiagramm zur Erläuterung eines weiteren optionalen Ausführungsdetails des erfindungsgemäßen Systems ;

Figur 5 ein Ablaufdiagramm zur Erläuterung eines Verfahrens gemäß der Erfindung; Figur 6 eine schematische Darstellung eines

Computerprogrammprodukt gemäß der Erfindung.

Zusätzliche Merkmale, Aspekte und Vorteile der Erfindung oder ihrer Ausführungsbeispiele werden durch die ausführliche Beschreibung in Verbindung mit den Ansprüchen ersichtlich.

Fig. 1 zeigt ein System 100 zur Identifikation und Auswahl von Rechenknoten 220, 240, 260, ..., N in einem Netzwerk 200, wobei die Rechenknoten 220, 240, 260, ..., N hier nur beispiel haft dargestellt sind. Die Anzahl N der Rechenknoten 220,

240, 260, ..., N kann beliebig groß sein. Die Rechenknoten 220, 240, 260, ..., N können Randgeräte (edge devices) mit Rechner leistungen, Router, Sensoren mit Softwaremodulen, Kommunika tionsschnittstellen beinhalten oder es kann sich auch um Ak tuatoren, Steuergeräte oder andere Hardwaregeräte handeln, die über die erforderliche Rechnerleistung verfügen. Die Re chenknoten 220, 240, 260, ..., N sind mittels Kommunikations verbindungen 600 miteinander vernetzt und können auch mittels eines hier nicht näher dargestellten Cloud Computing Systems miteinander verbunden sein. Das Netzwerk 200 kann auch eine Industrieanlage und/oder eine Einheit wie beispielsweise ei nen Gebäudekomplex darstellen, die mit zumindest einigen der Rechenknoten 220, 240, 260, ..., N überwacht wird. So können einige der Rechenknoten 220, 240, 260, ..., N z.B. Temperatur sensoren und Rauchmeldesensoren darstellen, die Räume in ei nem Gebäude überwachen.

Die Rechenknoten 220, 240, 260, ... N empfangen oder generieren Daten und verarbeiten diese mittels Softwareapplikationen für bestimmte Anwendungen. Die Softwareapplikationen können tem porär entsprechend einer jeweiligen Aufgabenstellung geladen werden oder sie sind dauerhaft in Speichereinheiten in dem jeweiligen Rechenknoten 220, 240, 260, ..., N gespeichert. Ein Planungsmodul 300 für das Abarbeiten einer Softwareappli kation 400 ist in dem Netzwerk 200 vorgesehen, das mit den verschiedenen Rechenknoten 220, 240, 260, ..., N verbunden ist. Die Softwareapplikation 400 wird jedoch nicht in dem Pla nungsmodul 300 selbst verarbeitet, sondern in einem der Re chenknoten 220, 240, 260, ..., N in dem Netzwerk 200. Hierzu muss jedoch ein passender Rechenknoten N identifiziert wer den, der die Verarbeitung der Softwareapplikation 400 durch führt .

Ein relevantes Kriterium für die Identifizierung von geeigne ten Rechenknoten N für eine rechnerische Arbeitslast einer Softwareapplikation 400 kann die Prozessorarchitektur eines Rechenknoten N sein, wie beispielsweise, ob es sich um einen ARM oder x86_64 Prozessor handelt, da die Berechnungsbefehle zu der jeweiligen Arbeitslast passen müssen. Des Weiteren sind die Größe des freien Hauptspeichers, die Größe des freien Speicherplatzes, der Grad der CPU-Auslastung und/oder die Qualität und der aktuelle Status der Netzwerkkonnektivi tät des Rechenknotens N wie beispielsweise die Bandbreite und die Latenz Indikatoren, um einen Rechenknoten N auszuwählen. Außerdem können die Echtzeiteigenschaften des Rechenknotens N und seines Betriebssystems sowie die spezifische Hardware, die an den Rechenknoten N angeschlossen ist, wie beispiels weise Sensoren und Aktuatoren, eine Rolle spielen.

In Fig. 2 ist das Planungsmodul 300 detaillierter darge stellt. Es enthält vorzugsweise einen Prozessor 320 und ein Speicherelement 340, in dem die Softwareapplikation 400 und/oder die binäre Arbeitslast (Workload) gespeichert sind. Erfindungsgemäß ist die Softwareapplikation 400 und/oder die binäre Arbeitslast (Workload) mit einer Sonde 500 versehen. Die Sonde 500 ist als Softwarecode ausgebildet und enthält einen Testcode 550, der über die folgenden Eigenschaften ver fügt: Der Testcode 550 kann in sehr kurzer Zeit gestartet werden, beispielsweise innerhalb weniger Millisekunden bis Sekunden, da er über eine kurze Codelänge verfügt, und wird in das Netzwerk 200 eingespeist, um die Eigenschaften von möglichen Rechenknoten N zu testen. Die Codelänge kann sehr kurz sein und beispielsweise 10-20 Zeilen umfassen, es können aber auch mehrere hundert Codezeilen vorgesehen sein. Auf grund der Testergebnisse schlägt der Testcode 550 dann eigen ständig einen Rechenknoten N oder mehrere Rechenknoten N in dem Netzwerk N vor, auf dem/denen die Softwareapplikation 400 ausgeführt werden kann. Dabei werden insbesondere Kriterien wie eine geringe Auswirkung auf die CPU-Leistung, den Spei cherverbrauch und den Netzwerkverkehr verwendet.

Des Weiteren testet die Sonde 500 auch die Verfügbarkeit der erforderlichen Ressourcen für eine bestimmte Arbeitslast der Softwareapplikation 400 in dem Netzwerk 200. Falls die Res sourcen grundsätzlich nicht vorhanden sind, wird dies mittels einer Botschaft (Message) einer hier nicht dargestellten Mit teilungszentrale mitgeteilt. Die Überprüfung der Ressourcen in dem Netzwerk 200 wird vorteilhaft sehr schnell abgeschlos sen, beispielsweise innerhalb weniger Millisekunden bis zu einigen Sekunden. In Einzelfällen kann es jedoch auch einige Minuten dauern.

Darüber hinaus verfügt die Sonde 500 über eine Reinigungskom ponente 570 zum Reinigen des Rechenknotens N, so dass keine Artefakte auf dem Rechenknoten N verbleiben, auf dem der Test mit der Sonde 500 ausgeführt wird. Dabei kann es sich bei spielsweise um Softwarebibliotheken, Speicher-Einträge und/oder Konfigurationsdateien handeln. Wenn die Sonde 500 ein positives Ergebnis anzeigt, bedeutet dies, dass ein Re chenknoten N für eine bestimmte Rechenbelastung durch eine Softwareapplikation 400 geeignet ist. Des Weiteren kann die Sonde 500 auch Codierungen etc. auf dem Rechenknoten 400 speichern oder dort hinterlassen, die für die Abarbeitung der Softwareapplikation auf dem Rechenknoten N erforderlich sind oder für die Planung einer späteren Abarbeitung auf dem Re chenknoten N notwendig sind.

Wie in Fig. 3 dargestellt, kann die Sonde 500 direkt in der Softwareapplikation 400 vorhanden sein und auch das gleiche Datenformat aufweisen, so dass die Sonde 500 zusammen mit der Softwareapplikation 400 in das Netzwerk 200 geschickt wird.

Wenn die Arbeitslast-Binärdateien derart groß sind, dass ihre Verteilung im Netzwerk 200 erhebliche Auswirkungen auf die Leistungsfähigkeit des gesamten Netzwerkes 200 hat, kann eine Implementierung erfindungsgemäß auch dahingehend erfolgen, dass die Sonde 500 mit dem Testcode 550 vom echten Binärcode der Arbeitslast der Softwareapplikation 400 getrennt wird. Dies ist in Fig. 4 dargestellt. Da der Testcode 550 als klei nes Softwareelement ausgebildet ist, kann er mit einem gerin gen Aufwand im Netzwerk 200 verteilt werden, und der Binär code für eine große Arbeitslast wird nur für die Rechenknoten N bereitgestellt, die ein positives Ergebnis bei der Ausfüh rung des Testcodes 550 zeigten.

Darüber hinaus kann in einer Weiterentwicklung der Erfindung vorgesehen sein, die Sonde 500 bzw. den Testcode 550 um ein Klassifizierungsschema zu erweitern. Die Sonde 500 kann Klas sifizierungsparameter bzw. Kategorien enthalten, um sie für verschiedene Softwareapplikationen 400, die sich hinsichtlich der benötigten Rechenleistung für die Verarbeitung unter scheiden, verwenden zu können. Beispiele für Klassifizie rungsparameter können sein:

- Rechenknoten N müssen über eine bestimmte Prozesso rarchitektur verfügen,

eine Berechnung erfolgt mittels einer CPU, die über eine minimale oder maximale Anzahl von CPU-Kernen verfügt,

- ein Rechenknoten N muss mindestens über eine bestimm te Anzahl an frei verfügbaren (Haupt ) -Speicherplatz verfügen,

- ein Rechenknoten N muss ein bestimmtes Hardwaremerk mal aufweisen wie beispielsweise eine Echtzeituhr,

- ein Rechenknoten muss an eine bestimmte Hardware wie beispielsweise an einen Sensor angeschlossen sein. Wie in Fig. 2 dargestellt, sendet das Planungsmodul 300 die Sonde 500 an die Rechenknoten 220, 240, 260, ... , N in dem Netzwerk 200. Nachdem die Sonde 500 mittels des Testcodes 550 die Rechenknoten 220, 240, 260,..., N getestet hat, teilt der Testcode 550 bzw. die Sonde 500 dem Planungsmodul 300 die Testergebnisse mit. Die Testergebnissen beinhalten insbeson dere die Informationen über den Status der Rechenknoten N, können aber auch noch weitere Informationen umfassen. Vor zugsweise sind Funktionselemente in dem Planungsmodul 300 vorgesehen, die von dem Textcode 550 entsprechend dem jewei ligen Testergebnis aufgerufen werden, so dass das Planungsmo dul 300 durch diese Funktionsaufrufe von den Testergebnissen Kenntnis erhält.

Wenn nun eine Verarbeitung einer Softwareapplikation 400 und damit die Nutzung einer Rechenleistung in dem Netzwerk 200 geplant wird, prüft das Planungsmodul 300, ob die Verarbei tung in eine oder mehrere Verarbeitungskategorien passt, für die bereits von der Sonde 500 Tests im Netzwerk 200 ausge führt wurden entsprechend der festgelegten Klassifizierungs parameter der Sonde 500. So kann eine Verarbeitung bzw. Abar beitung einer Softwareapplikation die folgenden Voraussetzun gen benötigen: Es ist zumindest ein Dual-Core-Prozessor bei einem Rechenknoten N erforderlich und zudem werden 256 MB Speicherkapazität bei einem freien Arbeitsspeicher und 1 GB Speicherkapazität bei einem freien Festplattenspeicher benö tigt .

Ein zuvor durchgeführter Test mittels der Sonde 500 hat mög licherweise geeignete Rechenknoten N mit den folgenden Spezi fikationen identifiziert: Es sind zumindest ein Quad-Core- Prozessor, 512 MB Speicherkapazität bei einem freien Arbeits speicher und 1 GB Speicherkapazität bei einem freien Fest plattenspeicher vorhanden.

Bei einer solchen Fallkonstellation könnte das Planungsmodul 300 die neue Rechenauslastung planen, ohne dass eine neue Sonde 500 in das Netzwerk 200 gesendet werden muss. Falls die benötige Rechenleistung jedoch nicht in eine der Kategorien passt, für die zuvor mittels der Sonde 500 ein Test ausge führt wurde, führt das Planungsmodul 300 erneut einen Test hinsichtlich der verfügbaren Rechenleistung bei den Rechen knoten N in dem Netzwerk 200 durch.

Des Weiteren ist es möglich, dass für eine bestimmte Abarbei tung einer Softwareapplikation eine erforderliche Rechenleis tung klassifiziert wird, jedoch die Arbeitslast dieser Soft wareapplikation weitere zusätzliche individuelle Anforderun gen aufweist, die nicht in eine vorbestimmte Kategorie einge ordnet werden können. In diesem Fall führt das Planungsmodul 300 vorzugsweise den Arbeitslast-Test nur auf Rechenknoten N durch, die in die bereits klassifizierte Kategorie fallen.

Gemäß der vorliegenden Erfindung werden somit mittels einer Sonde 500 Tests bezüglich der Abarbeitungskapazitäten von Re chenknoten N für eine Arbeitslast durchgeführt, wobei die Re chenknoten N in einem heterogenen Netzwerk 200 angeordnet sind und über unterschiedliche Eigenschaften und Auslastungen verfügen. Darüber hinaus ist ein Klassifizierungsschema für eine Arbeitslast vorgesehen, die die Planbarkeit der Abarbei tung einer Softwareapplikation an verschiedenen Rechenknoten N vereinfacht.

Hierdurch kann die Verwendung von ungeeigneten Rechenknoten N für die Abarbeitung einer Softwareapplikation vermieden wer den. Ungeeignete Rechenknoten N führen zu einer Belastung des Netzwerks 200 und zu einem Mehraufwand, bis ein geeigneter Rechenknoten N für eine Arbeitslast identifiziert werden kann. Die versehentliche Ausführung einer Arbeitslast auf ei nem ungeeigneten Rechenknoten N kann auch zu Schäden führen, da beispielsweise eine Echtzeitaufgabe auf einem Rechenknoten N negativ beeinflusst wird, wenn er bereits mit einer anderen Rechenaufgabe ausgelastet ist.

Darüber hinaus bietet die Sonde 500 die Möglichkeit, schnell und mit wenig Aufwand geeignete Rechenknoten N für eine Ar- beitslast zuverlässig zu finden. Die Auslastung des Netzwerks 200 wird insgesamt optimiert, indem Arbeitslasten klassifi ziert werden und eine Dokumentation über die Testergebnisse für verschiedenen Arbeitslastkategorien durchgeführt wird. Vorzugsweise ist diese Dokumentation in dem Planungsmodul 300 gespeichert .

Darüber hinaus ist es auch möglich, dass die Sonde 500 mit dem Testcode 550 nur an eine Auswahl von Rechenknoten N, die beispielsweise bereits von Entwicklern und Operateuren fest gelegt worden sind, gesendet wird. Das Planungsmodul 300 führt dann eine Zuordnung zwischen den vorbestimmten Rechen knoten N und den Arbeitslastkategorien durch und die Arbeits last wird nur auf den Rechenknoten N ausgeführt, die aufgrund dieser Zuordnung berücksichtigt werden.

Fig. 5 zeigt ein Ablaufdiagramm eines erfindungsgemäßen Ver fahrens zur Identifizierung von Rechenknoten N für die Bear beitung einer Arbeitslast in einem Netzwerk 200.

In einem Schritt S10 schickt das Planungsmodul 300 eine Sonde 500 an Rechenknoten 220, 240, 260, ..., N des Netzwerks 200, wobei die Sonde 500 einen Testcode 550 zum Testen der Eigen schaften der Rechenknoten 220, 240, 260, ..., N enthält.

In einem Schritt S20 testet der Testcode 550 der Sonde 500 die Eigenschaften der Rechenknoten 220, 240, 260, ..., N hin sichtlich ihrer Fähigkeit, eine bestimmte Arbeitslast zumin dest einer Softwareapplikation 400 abzuarbeiten.

In einem Schritt S30 teilt der Testcode 550 dem Planungsmodul 300 die Testergebnisse mit.

In einem Schritt S40 wählt das Planungsmodul 300 aufgrund der Testergebnisse des Testcodes 550 einen oder mehrere Rechen knoten N zum Abarbeiten einer Arbeitslast zumindest einer Software Applikationen 400 aus. In einem Schritt S50 startet das Planungsmodul 300 auf dem ausgewählten Rechenknoten N das Abarbeiten der Arbeitslast der zumindest einen Softwareapplikation 400. Fig. 6 stellt schematisch ein Computerprogrammprodukt 700 dar, das einen und/der mehrere ausführbare Computercodes 750 enthält, der (die) ausgebildet ist (sind) (z.B. durch einen Computer, ein Verfahren gemäß einer Ausführungsform des ersten Aspekts der Erfindung durchzuführen.

Durch die vorliegende Erfindung kann somit eine Identifikati on von geeigneten Rechenknoten N für eine bestimmte Arbeits last einer Softwareapplikation in einem Netzwerk 200 beste hend aus Rechenknoten 220, 240, 260, ..., N durchgeführt wer den. Hierdurch können gezielt Rechenknoten N in dem Netzwerk 200 ausgewählt werden, die für die Abarbeitung einer Arbeits last geeignet sind, und damit kann eine Überlastung des Netz werks 200 vermieden werden.

Bezugszeichenliste

100 System

200 Netzwerk

220 Rechenknoten

24 0 Rechenknoten

2 60 Rechenknoten

300 Planungsmodul

32 0 Prozessor

34 0 Speicher

400 Softwareapplikation

500 Sonde

550 Testcode

57 0 Reinigungskomponente

600 KommunikationsVerbindungen

700 Computerprogrammprodukt

750 Computercode