-
Diese Erfindung betrifft allgemein die Erkennung gering ausgelasteter Netzeinheiten, die in Datennetzen Dienste bereitstellen. Es werden Verfahren, Vorrichtungen und Computerprogramme zum Erkennen gering ausgelasteter Netzeinheiten bereitgestellt, um das Netz zur Verbesserung der Wirtschaftlichkeit umstrukturieren zu können.
-
In Rahmen der heutigen Informationstechnologie (IT) stellt die Energieeinsparung eine große Herausforderung dar. Das äußert sich in der Tatsache, dass die meisten derzeitigen grünen IT-Projekte versuchen, die Wirtschaftlichkeit von IT-Umgebungen wie beispielsweise Rechenzentren und Datennetzen allgemein zu verbessern. Zur Verbesserung der Wirtschaftlichkeit gibt es verschiedene Möglichkeiten, zum Beispiel die Verwendung neuester Kühlsysteme in Rechenzentren oder die Virtualisierung von Netzeinheiten, wobei eine physische Maschine logisch in mehrere virtuelle Maschinen partitioniert wird. Eine scheinbar einfache Idee besteht darin, ungenutzte Hardware außer Betrieb zu nehmen. Die praktische Umsetzung dieser Idee ist jedoch keineswegs trivial. Ein Hauptproblem liegt in der Erkennung gering ausgelasteter Einheiten, d. h. solcher Einheiten, die gering oder nicht ausreichend genutzt werden, wobei die Anzahl von Einheiten, Diensten und die gesamte funktionelle Komplexität eines typischen Netzes in Betracht gezogen werden müssen. Ein Rechenzentrum beispielsweise kann tausende von Computersystemen enthalten, auf denen tausende von Diensten ausgeführt werden. Eine bekannte Technik besteht darin, jede einzelne Einheit zu überwachen, um die Nutzung zu verfolgen, was normalerweise durch die Überwachung des Status des Hauptprozessors, der Netzschnittstellen, der Plattenlaufwerke oder anderer Komponenten mit unregelmäßiger Nutzung erfolgt. Der Überwachungsprozess ist jedoch komplex und die Technik nur schwierig und zeitaufwendig zu installieren, sofern sie nicht bereits in den betreffenden Systemen eines bestimmten Netzes installiert sind. Auch ein Netzadministrator kann die Nutzung einer Einheit durch eingehende Analyse der IT-Ausrüstung einschätzen. Es kann jedoch sein, dass eine ausreichend genau verwaltete Bestandsliste oder eine Bestandsliste an sich gar nicht verfügbar ist. Bei nachträglichen Installationen von Überwachungssystemen für einzelne Einheiten wäre die Einrichtung einer geeigneten Bestandsliste nur für diesen Zweck wahrscheinlich zu aufwändig oder übermäßig teuer.
-
Ein erster Aspekt der vorliegenden Erfindung stellt ein Verfahren zum Anzeigen gering ausgelasteter Netzeinheiten bereit, die Dienste in einem Datennetz bereitstellen. Das Verfahren in einem Datenverarbeitungssystem umfasst folgende Schritte:
Empfangen von Netzverkehrsdaten, die für jede zu einer Netzeinheit eingerichtete Verbindung eine Quelleinheitenkennung und eine Zieleinheitenkennung für die Verbindung, Daten zur Kennzeichnung eines Dienstanbieters und eines Dienstnutzers für die Verbindung und Verkehrsdurchsatzdaten umfassen, welche den Datendurchsatz dieser Verbindung kennzeichnen;
Filtern der Netzverkehrsdaten, um Daten für vordefinierte Verbindungen auszusondern;
Erzeugen eines Graphen aus den gefilterten Daten, der die Verbindungen zwischen den Einheiten repräsentiert, die durch die gefilterten Daten in Form von Verknüpfungen zwischen den Knoten des Graphen angezeigt werden, wobei die Verkehrsdurchsatzdaten für die Verbindung der entsprechenden Verknüpfung in dem Graphen zugeordnet werden;
Analysieren des Graphen, um alle Gruppen miteinander verbundener Knoten zu ermitteln, die mit keinem der anderen Knoten verbunden sind, die eine Einheit innerhalb des Netzes repräsentieren; und
Anzeigen aller gering ausgelasteten Netzeinheiten durch Erzeugen eines Ausgabewertes, der von den Verkehrsdurchsatzdaten jeder Verknüpfung mit einer bestimmten Gruppe außerhalb des Netzes abhängt.
-
Verfahren, die diese Erfindung einsetzen, können gering ausgelastete Netzeinheiten durch Verarbeiten der elementaren Daten des Netzdatenverkehrs erkennen und anzeigen. Die Verkehrsdaten können einfach die Quell- und Zieleinheiten ermitteln, den Dienstanbieter und Dienstnutzer anzeigen und Informationen über den Datendurchsatz für jede zu einer Einheit eingerichtete Verbindung in dem betreffenden Netz liefern. Solche Netzverkehrsdaten können frei verfügbar sein oder für die im Folgenden erörterten Netze gewonnen werden. Die Netzverkehrsdaten können zuerst gefiltert werden, um zu vordefinierten Verbindungen gehörende Daten auszusondern. Gemäß einer Ausführungsart der Erfindung handelt es sich bei den vordefinierten Verbindungen um semantisch unbedeutende Verbindungen. Dieser Typ von Verbindungen wird für die durchzuführende Bewertung der Auslastung bezüglich seiner Bedeutung als irrelevant angesehen. Dann wird aus den gefilterten Daten ein Graph erzeugt, der Verknüpfungen und Knoten umfasst, welche die Verbindungen zwischen den Einheiten repräsentieren, und die Verkehrsdurchsatzdaten werden den betreffenden Verknüpfungen zugeordnet. Dieser Graph wird dann analysiert, um bestimmte Einheiten zu erkennen, die im Folgenden als ”Inseln” bezeichnet werden. Bei einer Insel handelt es sich um eine Gruppe (eines oder mehrerer) miteinander verbundener Knoten in dem Graphen, die mit keinem anderen Knoten verbunden sind, der eine Einheit innerhalb des betreffenden Netzes repräsentiert. Bei diesen Inseln handelt es sich somit um isolierte Gruppen von Knoten, deren Verknüpfungen nur zu Knoten außerhalb des betreffenden Netzes führen. Diese Inseln werden zur Bewertung der Auslastung herangezogen. Insbesondere zeigen Ausführungsarten der Erfindung gering ausgelastete Netzeinheiten durch Erzeugen eines Ausgabewertes an, der von den Verkehrsdurchsatzdaten abhängt, die einer Verknüpfung von außerhalb des Netzes zu einer Insel zugehörig sind. Dies stellt ein praktikables und wirksames System zum Erkennen nicht nur einzelner, sondern ganzer Gruppen gering ausgelasteter Einheiten dar. Beispielsweise werde die typische Einrichtung eines Internetdienstes betrachtet, die aus einem Webserver, einem Anwendungsserver und einer Datenbank besteht. Auch wenn das System nicht genutzt wird, findet immer noch ein bestimmter Netzdatenverkehr statt, denn zum Installieren der Internetdienste werden die CPUs oder allgemein die Systeme auf den einzelnen Computern beschäftigt, welche die Internetdienste realisieren. Durch die bekannte Technik zur Überwachung einzelner Computer würde die mangelhafte Auslastung dieser Einheiten nicht erkannt werden. Hingegen kann die Technik gemäß dem Inselkonzept erkennen, dass die vorhandenen Einheiten durch Einheiten außerhalb der Insel nicht genutzt werden. Verfahren zur Umsetzung der Erfindung sind somit äußerst wirksam bei der Erkennung gering ausgelasteter Netzeinheiten. Anstatt die vielen Einheiten einzeln zu beobachten, wird die Anzahl der Beobachtungspunkte wirksam auf eins verringert, nämlich auf das eigentlich interessierende Netz. Da sie für diesen Vorgang nur die elementaren und damit leicht zu beschaffenden Netzverkehrsdaten benötigen, können Ausführungsarten der Erfindung einfach ohne übermäßigen Aufwand oder hohe Kosten in vorhandenen Netzen eingesetzt werden.
-
Das Netz, auf das die verfahren zur Umsetzung der Erfindung angewendet werden, kann allgemein eine beliebige Gruppe miteinander verbundener Einheiten umfassen, deren Auslastung bewertet werden soll, und kann deshalb ganz oder teilweise aus einem oder mehreren Firmennetzen oder öffentlichen Netzen bestehen. Die Netzeinheiten selbst können allgemein sowohl reale als auch virtuelle Einheiten umfassen. Somit kann eine bestimmte Einheit eine eigenständige physische Maschine oder eine virtuelle Maschine darstellen, die Hardwareressourcen einer einzelnen physischen Maschine mit nutzt. Zum Beispiel können mehrere Betriebssysteme), die in verschiedenen Partitionen auf einer einzelnen physischen Maschine laufen, bei Ausführungsarten der Erfindung wie eine einzelne physische Maschine behandelt werden. Ebenso kann eine bestimmte Einheit allgemein einen oder mehrere Dienste im Netz bereitstellen, und ein bestimmter Dienst kann durch eine einzelne Einheit oder gemeinsam durch eine Gruppe von Einheiten bereitgestellt werden. Hierfür können zahlreiche Dienste, zum Beispiel Dienste, die den Zugriff auf eine Ressource bieten, eine angeforderte Operation ausführen oder eine bestimmte angeforderte Information oder Funktionalität liefern, in Betracht kommen.
-
Allgemein können bei den Ausführungsarten der Erfindung alle Netzverkehrsdaten verwendet werden, welche die oben beschriebenen elementaren Daten liefern. Als bestimmte Beispiele seien die Aufzeichnungen des Datenverkehrs genannt, die durch das Netzprotokoll NetFlow oder das Standardprotokoll IPFIX (Internet Protocol Flow Information Export) von der IETF (Internet Engineering Task Force) erzeugt werden. Wenn solche Systeme bereits in einem Netz eingesetzt werden, können die während einer gewünschten Betriebsdauer erzeugten Aufzeichnungen des Datenverkehrs als Eingabewerte für die Verfahren zur Umsetzung der Erfindung verwendet werden. Alternativ kann ein solches System zur Überwachung des Datendurchsatzes einfach in einem Netz installiert werden, um es bei Ausführungsarten der Erfindung zu verwenden.
-
Verfahren, die die Erfindung einsetzen, können den Schritt der Überwachung des Netzes beinhalten, um die Netzverkehrsdaten zu erzeugen. Es können Ausführungsarten in Betracht gezogen werden, bei denen der Prozess zur Bewertung der Auslastung als Reaktion auf die dynamisch erzeugten Netzverkehrsdaten dynamisch (z. B. in gewünschten Intervallen) erfolgt, um die Einheitenauslastung bei laufendem Netz zu überwachen. Alternative Ausführungsarten können auf der Grundlage von Daten einer früheren Betriebszeit des Netzes offline ausgeführt werden, zum Beispiel als einmaliger Prozess vor der Einrichtung des Netzes oder einem anderen Umstrukturierungsprozess. Auf jeden Fall können die erzeugten Ausgabewerte, die gering ausgelastete Netzeinheiten anzeigen, in geeigneter Weise zur Umstrukturierung des Netzes verwendet werden. Daraus ergibt sich als zweiter Aspekt der Erfindung, dass ein Verfahren zur Umstrukturierung eines Datennetzes bereitgestellt werden kann. Das Verfahren umfasst folgende Schritte:
Durchführen eines Verfahrens gemäß dem ersten Aspekt der Erfindung, um den Ausgabewert zu erzeugen, der gering ausgelastete Netzeinheiten anzeigt; und
Umstrukturieren des Netzes in Abhängigkeit von dem Ausgabewert, um der Unterbeschäftigung von Netzeinheiten entgegenzuwirken.
-
Im Allgemeinen kann der Prozess der Umstrukturierung eines Netzes das Entfernen (Stilllegen), Modifizieren, Zusammenführen, Verschieben oder anderweitiges Anpassen von Hardware oder Software wie beispielsweise Dienstanwendungen mit sich bringen, um die Einheitenauslastung insgesamt zu verbessern. Je nach den Umständen kann der Umstrukturierungsprozess automatisch durch Software gesteuert ablaufen oder als Reaktion auf den Ausgabewert durch den Netzadministrator durchgeführt werden, oder eine Kombination dieser beiden Ansätze kann verwendet werden.
-
In Abhängigkeit vom jeweiligen Netz können zum Aussondern während des Filterungsprozesses zuvor eine Vielzahl semantisch unbedeutender Verbindungen definiert werden. Im Allgemeinen können alle Verbindungen, die für die Bewertung der Einheitenauslastung nicht als bedeutend oder wichtig anzusehen sind, als nichtsemantisch eingeschätzt und zum Aussondern vorgesehen werden. Insbesondere können Verbindungen, welche Inseln in dem das Netz repräsentierenden Graphen zu verschleiern oder zu verdecken drohen, indem sie z. B. zwischen Inseln Verknüpfungen erzeugen, die in Wirklichkeit ohne Bedeutung sind, zum Aussondern vorgesehen werden. Dies wird im Folgenden in Bezug auf verschiedene nichtsemantische Verbindungen erörtert, die in bevorzugten Ausführungsarten vordefiniert wurden.
-
Nach der Analyse des Graphen zur Erkennung der oben beschriebenen Inseln werden gering ausgelastete Netzeinheiten angezeigt, indem in Abhängigkeit von den Verkehrsdurchsatzdaten ein Ausgabewert erzeugt wird, der jeweils zu einer Verknüpfung zu einer Insel außerhalb des Netzes gehört. Für eine bestimmte Insel kann möglicherweise auch keine Verknüpfung zu einem externen Knoten bestehen, wodurch angezeigt wird, dass die Insel nicht verwendet wird. Wenn es mindestens eine Verknüpfung zu einem externen Knoten gibt, können die zu dieser Verknüpfung gehörenden Verkehrsdurchsatzdaten eine geringe Auslastung einer oder mehrerer Einheiten in der Insel in Bezug auf die Dienste über die Verknüpfungen nahelegen, zu denen die Verkehrsdurchsatzdaten gehören. Auf jeden Fall kann der Ausgabewert gering ausgelastete Einheiten auf vielerlei Arten anzeigen. Bei einem vereinfachten Beispiel können gering ausgelastete Einheiten ohne Weiteres durch einen Ausgabewert angezeigt werden, der einfach den zu den Einheiten der Insel gehörenden Datendurchsatz anzeigt, sodass ein Bediener unerwünscht geringe Durchsatzwerte erkennen kann. Bei bevorzugten Ausführungsarten zeigt der Ausgabewert die gering ausgelasteten Einheiten direkt an. Insbesondere kann der durch die Durchsatzdaten angezeigte Datendurchsatz mit einem vorgegebenen Schwellenwert verglichen werden. Dann kann der Ausgabewert eine oder mehrere Einheiten in der Gruppe entsprechend den Durchsatzdaten als gering ausgelastet ermitteln, wenn der Datendurchsatz den Schwellenwert unterschreitet. Für eine bestimmte Insel kann der Ausgabewert für alle oder nur für eine Teilmenge der Einheiten oder Dienste erzeugt werden, die dieser Insel zugeordnet sind. Zum Beispiel kann der Ausgabewert als Reaktion auf eine Benutzereingabe erzeugt werden, welche die gewünschten Einheiten/Dienste kennzeichnet und die zu verwendenden Schwellenwerte angibt.
-
Obwohl auch Alternativen möglich sind, können in einem IP-Szenario (Internetprotokoll) die Quell- und Zieleinheitenkennungen in den Netzverkehrsdaten ganz einfach die IP-Adressen der Quelleinheiten und Zieleinheiten für jede Verbindung umfassen. Es sind Ausführungsarten möglich, bei denen zur Kennzeichnung des Dienstanbieters und des Dienstnutzers für eine Verbindung einfach beliebige Daten verwendet werden, welche eine Unterscheidung zwischen Dienstanbieter und Dienstnutzer ermöglichen. Für gewöhnlich umfassen diese Daten jedoch eine Dienstnutzerkennung und eine Dienstanbieterkennung für die betreffende Verbindung. Diese Kennungen können in einem IP-Szenario einfach die Nummern des Quell- und das Zielanschlusses umfassen. Im Allgemeinen können die Durchsatzdaten beliebige Daten umfassen, die einen Hinweis auf den Datendurchsatz geben. Diese Daten können die Durchsatzdaten direkt oder indirekt anzeigen. Zum Beispiel können diese Daten einfach einen Hinweis auf die Anzahl der Bytes, Datenpakete oder anderer Dateneinheiten (besonders beliebt ist die Anzahl der Bytes), die über die Verbindung übertragen werden, und zusätzlich einen Hinweis auf die Verbindungszeit umfassen, sodass das Datenverkehrsvolumen pro Zeiteinheit ermittelt werden kann. Selbstverständlich können hier auch weitere Daten einbezogen werden, wenn dies zur Bewertung der Auslastung gewünscht wird.
-
Gemäß einem dritten Aspekt stellt die Erfindung ein Datenverarbeitungssystem zum Anzeigen gering ausgelasteter Netzeinheiten bereit, die Netzdienste in einem Datennetz bereitstellen. Das System umfasst einen Speicher zum Speichern von Verkehrsdurchsatzdaten, die für jede zu einer Netzeinheit eingerichtete Verbindung eine Quelleinheitenkennung und eine Zieleinheitenkennung, Daten zur Kennzeichnung eines Dienstanbieters und eines Dienstnutzers für die Verbindung und Durchsatzdaten umfassen, welche den Datendurchsatz für diese Verbindung angeben. Das System umfasst ferner eine Steuerlogik, die folgende Funktionen ausführt:
Filtern der Netzverkehrsdaten, um Daten für vorgegebene Verbindungen auszusondern;
Erzeugen eines Graphen aus den gefilterten Daten, der die Verbindungen zwischen den Einheiten repräsentiert, die durch die gefilterten Daten in Form von Verknüpfungen zwischen den Knoten des Graphen dargestellt werden, wobei die Verkehrsdurchsatzdaten für die Verbindung der entsprechenden Verknüpfung in dem Graphen zugeordnet werden;
Analysieren des Graphen, um alle Gruppen miteinander verbundener Knoten zu ermitteln, die mit keinem der anderen Knoten verbunden sind, die eine Einheit innerhalb des Netzes repräsentieren; und
Anzeigen aller gering ausgelasteten Netzeinheiten durch Erzeugen eines Ausgabewertes, der von den Verkehrsdurchsatzdaten jeder Verknüpfung mit der Gruppe außerhalb des Netzes abhängt.
-
Datenverarbeitungssysteme, in denen die Erfindung realisiert wird, können aus einer oder mehreren Verarbeitungseinheiten bestehen. Gemäß einem vierten Aspekt stellt die Erfindung insbesondere ein Computerprogramm bereit, das Programmcodemittel umfasst, um einen Computer zum Durchführen eines Verfahrens gemäß dem ersten oder zweiten Aspekt der Erfindung zu veranlassen. Der Begriff ”Computer” wird im allgemeinsten Sinne verwendet und beinhaltet jede Einheit, Komponente oder jedes System, das über die Fähigkeit zur Datenverarbeitung verfügt, um ein Computerprogramm auszuführen. Darüber hinaus kann ein Computerprogramm zum Umsetzen der Erfindung ein unabhängiges Programm oder ein Element eines größeren Programms darstellen, und es kann zum Beispiel von einem computerlesbaren Medium wie beispielsweise einer CD oder durch eine elektronische Übertragung in einen Computer geladen werden. Das Programmcodemittel des Computerprogramms kann beliebige Ausdrücke einer Reihe von Anwendungen in einer beliebigen Sprache, Schreibweise oder einem beliebigen Code umfassen, die einen Computer entweder direkt oder (a) nach Umsetzung in eine andere Sprache, Schreibweise oder einen anderen Code und/oder (b) nach Wiedergabe in einer anderen materiellen Form zur Durchführung des betreffenden Verfahrens veranlassen.
-
Im Allgemeinen werden hier Merkmale unter Bezug auf eine Ausführungsart gemäß einem Aspekt der Erfindung beschrieben, wobei entsprechende Merkmale in Ausführungsarten gemäß einem anderen Aspekt der Erfindung bereitgestellt werden können.
-
Im Folgenden werden bevorzugte Ausführungsarten der Erfindung anhand von Beispielen unter Bezug auf die beiliegenden Zeichnungen beschrieben, wobei:
-
1 eine schematische Darstellung eines Netzwerksystems ist, in welchem ein Netzoptimierungssystem zum Umsetzen der Erfindung verwendet wird;
-
2 die Hauptschritte eines bei der Ausführungsart von 1 durchgeführten Prozesses zur Bewertung der Auslastung zeigt;
-
3 ausführlicher die Schritte einer Filterstufe des Prozesses von 2 zeigt;
-
4 ein Schaubild ist, welches das Durchsuchen eines Graphen des Prozesses von 2 veranschaulicht; und
-
5 eine schematische Darstellung der Verkehrsströme zu den Inseln des Netzes in 1 ist, die durch den Prozess von 2 ermittelt wurden.
-
1 ist ein einfaches Schema eines beispielhaften Netzwerksystems, in dem ein Prozess zur Netzoptimierung durch Umsetzung der Erfindung verwendet wird. Das System 1 umfasst ein Netz 2, das eine Vielzahl miteinander vernetzter Einheiten 3 enthält, deren Auslastung während des Netzoptimierungsprozesses bewertet werden muss. Die Einheiten 3 stellen einzeln oder gruppenweise eine Vielfalt von Diensten bereit, auf die andere Einheiten über das Netz 2 zugreifen können. Die auf diese Dienste zugreifenden Einheiten können sich innerhalb oder außerhalb des Netzes 2 befinden. Insbesondere können die Einheiten 3 innerhalb des Netzes Daten mit Einheiten in einem oder mehreren anderen Netzen austauschen, die der Einfachheit halber durch das Netz 4 dargestellt sind. Im Allgemeinen kann das Netz 2 eine beliebige Anzahl miteinander verbundener Einheiten 3 im interessierenden ”Geltungsbereich” und daher alle oder einen Teil des einen oder der mehreren definierten Netze oder öffentlichen Netze darstellen. Das externe Netz 4 umfasst typischerweise alle mit dem Netz 2 verbundenen externen Einheiten und kann auch ein oder mehrere definierte Netze oder öffentliche Netze umfassen, obwohl das Netz 4 im Allgemeinen bei Bedarf für ein bestimmtes System definiert werden kann. Beim vorliegenden Beispiel wird davon ausgegangen, dass es sich bei dem Netz 2 um ein Firmennetz handelt, das Dienste für das externe Netz 4 bereitstellt.
-
Das System 1 beinhaltet eine Netzüberwachungseinheit 5, die den Datenverkehr im Netz 2 überwacht. Bei diesem Beispiel verwaltet die Netzüberwachungseinheit 5 die Daten über den Datenverkehr, die gemäß dem bekannten Netzprotokoll NetFlow durch die (in den Figuren nicht gezeigten) Übergabepunkte wie Vermittlungseinheiten, Leitwegrechner usw. weitergeleitet werden. Die in diesem Beispiel durch einen Universalcomputer, auf dem die Netzüberwachungssoftware ausgeführt wird, realisierte Netzüberwachungseinheit 5 koordiniert den Überwachungsprozess und speichert in einer zugehörigen Datenbank 6 die im NetFlow-Protokoll aufgezeichneten Netzverkehrsdaten.
-
Zur Bewertung der Wirtschaftlichkeit des Netzes 2 in Hinblick auf die Leistungsoptimierung wird im System 1 ein System 7 zur Auslastungsbewertung bereitgestellt. Das System 7 zur Auslastungsbewertung dient zum Erkennen von Einheiten 3 im Netz 2, die gering ausgelastet sind, d. h. Einheiten, die entweder nicht genutzt werden oder nicht einen gewünschten Auslastungsgrad erreichen. Das System 7 zur Auslastungsbewertung umfasst eine Steuerlogik in Form einer Analysesteuereinheit 8, welche allgemein die Funktion des Systems 7 steuert und die Hauptschritte des beschriebenen Prozesses der Auslastungsbewertung ausführt. Im Allgemeinen kann die Steuerlogik der Analysesteuereinheit 8 durch Hardware, Software oder deren Kombination realisiert werden. Bei diesem Beispiel wird das System 7 zur Auslastungsbewertung jedoch durch einen Universalcomputer und die Analysesteuereinheit 8 durch eine Software realisiert, die den Computer zur Ausführung der beschriebenen Funktionen konfiguriert. Dem Fachmann erschließt sich die geeignete Software aus dieser Beschreibung. Das System 7 beinhaltet auch einen Speicher 9 zum Speichern verschiedener bei dem im Folgenden beschriebenen Prozess der Auslastungsbewertung verwendeter Daten, und das E/A-System (Eingabe/Ausgabe) 10 stellt eine Benutzeroberfläche zur Verfügung. Dieses E/A-System kann durch eine gewöhnliche Tastatur und einen Bildschirm realisiert werden, die zum Computer 7 gehören.
-
Während der Bewertung der Auslastung des Netzes 2 erfasst die Analysesteuereinheit 8 für einen gewünschten Zeitraum die Netzverkehrsdaten des Netzes. Diese Verkehrsdaten werden in Form der NetFlow-Verkehrsprotokolle von der Netzüberwachungseinheit 5 übernommen, die für den betreffenden Zeitraum in der Datenbank 6 gespeichert sind. Der weitere Arbeitsverlauf des Systems 7 ist im Ablaufplan von 2 angegeben. In Schritt 20 von 2 werden die NetFlow-Daten durch die Analysesteuereinheit 8 empfangen und die wichtigsten im Prozess der Auslastungsbewertung benötigten Verkehrsdaten im Speicher 9 gespeichert. Diese Verkehrsdaten enthalten diverse Informationen über jede für eine (d. h. zu oder von einer) Einheit im Netz 2 eingerichtete Verbindung. Insbesondere werden die Quelleinheit und die Zieleinheit für jede Verbindung durch die IP-Adressen von Quelle und Ziel gekennzeichnet. Die Anschlussnummern der Quelle und des Ziels für die Verbindung geben den betreffenden Dienst an, für den die Verbindung eingerichtet wurde, und welche Einheit, Quelle oder Ziel, für diesen Dienst als Dienstanbieter und welche als Dienstnutzer fungiert. Der Datendurchsatz der Verbindung wird bei diesem Beispiel durch die Verkehrsdurchsatzdaten angezeigt, welche die Gesamtzahl der über die Verbindung übertragenen Datenbytes und die Verbindungsdauer angeben.
-
In Schritt 21 von 2 filtert die Analysesteuereinheit 8 die in Schritt 20 gespeicherten Verkehrsdaten, um die zu vordefinierten, insbesondere von vordefinierten semantisch unbedeutenden Verbindungen gehörenden Daten auszusondern. Bei diesen semantisch unbedeutenden Verbindungen handelt es sich um Verbindungen, die für die durchzuführende Auslastungsbewertung als unbedeutend angesehen werden. Solche Verbindungen drohen die semantischen Abhängigkeiten zwischen den Einheiten zu maskieren und die Erkennung von Inseln im unten beschriebenen Prozess zu behindern. Die nichtsemantischen Verbindungen werden in der Analysesteuereinheit 8 vordefiniert. Zum Beispiel kann die Analysesteuereinheit 8 mit einer Liste der nichtsemantischen Verbindungstypen vorkonfiguriert werden und/oder solche Verbindungen für einen bestimmtes Netz können durch eine Bedienereingabe über die E/A-Oberfläche 10 definiert werden. Beim vorliegenden Beispiel besteht die Filterungsphase 21 aus drei Hauptfilterungsschritten. Die drei Schritte der Filterungsphase sind in 3 genauer dargestellt.
-
Schritt 21a von 3 stellt den ersten Filterungsschritt dar. Dieser Schritt beinhaltet das Entfernen von Verkehrsdaten für Verbindungen zu so genannten ”gemeinsam genutzten Hostrechnern”. Das sind Einheiten, die vorgegebene Routine-Dienste für die Netzeinheiten 3 bereitstellen. Zu solchen Routine-Dienste können zum Beispiel die Sicherheitsüberwachung wie beispielsweise die Schwachstellenanalyse usw. gehören, die im Netz 2 durch ein Abwehrsystem bereitgestellt wird. Als weitere Beispiele von gemeinsam genutzten Hostrechnern können ein firmeneigener Web-Server, der oft abgerufene Informationen, z. B. Speisekarten, im Netz veröffentlicht, oder ein Aktualisierungs-Server für die Software dienen, der für die Hostrechner im Netz routinemäßig Software-Aktualisierungen erstellt. In diesem Zusammenhang können zahlreiche andere Beispiele in Betracht gezogen werden. Die durch die gemeinsam genutzten Hostrechner bereitgestellten Routinedienste werden in der Regel ständig allen Netzeinheiten zur Verfügung gestellt und drohen die semantischen Wechselbeziehungen zwischen den Netzeinheiten zu maskieren, indem sie für die nachfolgende Analyse abträgliche Abhängigkeiten erzeugen. Insbesondere neigen Verbindungen zu gemeinsam genutzten Hostrechnern dazu, in der unten beschriebenen Weise Inseln in dem das Netz repräsentierenden Graphen zu verschleiern oder zu maskieren, indem Verknüpfungen zwischen Inseln erzeugt werden, die es semantisch eigentlich nicht gibt. Durch Entfernen dieser Effekte für vorgegebene gemeinsam genutzte Hostrechner kann Schritt 21a der Filterungsphase die Wirksamkeit des folgenden Prozesses deutlich steigern.
-
Der zweite Filterungsschritt 21b von 3 verfolgt ein ähnliches Ziel. Dieser Schritt beinhaltet das Aussondern der Verkehrsdaten von Verbindungen, über die Rundsendeverkehr abgewickelt wird. Der Begriff ”Rundsenden” wird hier in einem allgemeinen Sinn gebraucht, um nicht nur streng nach dem aktuell geltenden Standard definierte Rundsendenachrichten zu erfassen, sondern auch ähnliche Datenübertragungen wie nicht standardisierte Rundsendungen, z. B. SMB (Server Message Block, Server-Nachrichtenblock) und Mehrfachsendenachrichten (Mehrfachsenden ist im Wesentlichen ein Spezialfall von Rundsenden). Gemäß dem oben Gesagten drohen solche Verbindungen die semantischen Beziehungen zwischen den Netzteilnehmern zu maskieren und den nachfolgenden Analyseprozess zu behindern und werden deshalb in diesem Filterungsschritt ausgesondert.
-
Der dritte Filterungsschritt wird durch Schritt 21c von 3 repräsentiert. In diesem Schritt filtert die Analysesteuereinheit 8 Verkehrsdaten von Verbindungen aus, deren Dienstanbieter außerhalb des Netzes 2 liegt. Obwohl auch Alternativen infrage kommen, wird der Dienstanbieter bei diesem Beispiel anhand des Zielanschlusses der Verbindung ermittelt. Dieser Filterungsschritt bereitet wirkungsvoll die Ausstiegsbedingungen für die Suche vor, die als Teil des im Folgenden beschriebenen Prozesses zur Inselermittlung durchgeführt wird (und sicherstellt, dass der Suchprozess anhält, wenn alle Knoten innerhalb des Geltungsbereichs geprüft wurden, und dass keine weiteren Knoten außerhalb des Geltungsbereichs geprüft werden). Dieser Filterungsschritt gemäß einer Ausführungsart der Erfindung wird aus einer Reihe von Gründen durchgeführt. Erstens muss der Umstrukturierungsprozess für das Netz 2 entsprechend der Auslastung von Einheiten durchgeführt werden, die Dienste in diesem Netz anbieten. Deshalb sind Verbindungen von einer innerhalb des Geltungsbereichs liegenden Dienstnutzereinheit, d. h. im Netz 2, zu einer außerhalb des Geltungsbereichs liegenden Dienstanbietereinheit, d. h. im externen Netz 4, semantisch bedeutungslos, da sich der Dienstanbieter außerhalb des interessierenden Gebiets befindet und somit üblicherweise dem Einfluss entzieht. Zweiten kann dieser Filterungsschritt verhindern, dass externe Einheiten Verbindungspunkte zwischen ansonsten nicht angeschlossenen internen Einheiten 3 bilden. Dies könnte dazu führen, dass Inseln mit einbezogen würden, die in dem im Folgenden beschriebenen Suchprozess ermittelt wurden, und somit echte semantische Abhängigkeiten zwischen den Einheiten 3 maskiert würden. Wenn zum Beispiel zwei Hostrechner 3 in verschiedenen Inseln jeweils mit einem außerhalb des Geltungsbereichs liegenden Hostrechner wie beispielsweise einem Software-Aktualisierungsserver verbunden wären, würden die internen Hostrechner 3 als durch den externen Hostrechner miteinander verbunden gelten, obwohl semantisch keine Verbindung vorliegt.
-
Gemäß 2 geht der Prozess nach Beendigung der Filterungsphase von Schritt 21 weiter zu Schritt 22, wo die Analysesteuereinheit 8 die im Speicher 9 gespeicherten gefilterten Verkehrsdaten verarbeitet, um einen Graphen zu erzeugen, der die übrig gebliebenen, als semantisch relevant angesehenen Verbindungen repräsentiert. (Der Begriff ”Graph” wird hier im Sinne eines Graphen der Graphentheorie verwendet). Bei einer solchen Graphendarstellung werden die (durch ihre IP-Adressen gekennzeichneten) Netzeinheiten durch Knoten des Graphen und die Verbindungen zwischen den Einheiten durch Verknüpfungen zwischen den Knoten dargestellt. Allgemein kann eine Verknüpfung in Abhängigkeit von der Anzahl der Verbindungen zwischen den durch ein bestimmtes Knotenpaar repräsentierten Einheiten eine oder mehrere Verbindungen der gefilterten Verkehrsdaten repräsentieren. Die Verkehrsdaten für eine bestimmte Verbindung werden der entsprechenden Verknüpfung im Graphen zugeordnet. Bei dieser Ausführungsart werden auch die Anschlussnummern jeder Verbindung den entsprechenden Knoten des Graphen zugeordnet. Somit repräsentiert jeder Knoten klar eine bestimmte IP-Adresse und kann eine oder mehrere zugehörige Anschlussnummern für Verbindungen zu/von dieser Adresse aufweisen. Bei diesem Beispiel werden die Verkehrsdurchsatzdaten für Verbindungen zwischen einer bestimmten IP-Adresse/einem bestimmten Paar von Anschlussnummern der zugehörigen Verknüpfung im Graphen zugeordnet. Der so gewonnene Graph wird durch die Analysesteuereinheit 8 im Speicher 9 gespeichert.
-
In Schritt 23 von 2 analysiert die Analysesteuereinheit 8 den Graphen, um Inseln in dem Graphen ausfindig zu machen. Eine Insel ist als Gruppe miteinander verbundener Knoten definiert, die mit keinem anderen Knoten verbunden sind, der eine Einheit innerhalb des Geltungsbereichs, d. h. eine Einheit innerhalb des Netzes 2 repräsentiert. Eine solche Insel kann unter Umständen auch eine oder mehrere Verknüpfungen zu außerhalb gelegenen Knoten aufweisen, aber alle diese Verknüpfungen repräsentieren unbedingt eingehende Verbindungen, das heißt Verbindungen, bei denen sich der Dienstanbieter wegen Schritt 21c der Filterungsphase innerhalb des Geltungsbereichs befindet. Der Prozess zur Inselermittlung führt in erster Linie eine bevorzugte Tiefensuche im Graphen durch und markiert die bei der Suche bereits geprüften Knoten, sodass markierte Knoten bei der Suche nicht noch einmal aufgesucht werden. Die bevorzugte Tiefensuche stellt zwar eine allgemein bekannte Technik zur Verarbeitung von Graphen dar, jedoch wird der hier durchgeführte Prozess kurz unter Bezug auf das Diagramm von 4 erläutert.
-
4 stellt gemäß der obigen Beschreibung eine Gruppe miteinander verbundener Knoten in einem Graphen dar, wobei die Zahlen und die Pfeilspitzen den Verlauf des Algorithmus der bevorzugten Tiefensuche durch die Knotengruppe anzeigen. Zu Anfang wählt der Suchalgorithmus zufällig einen Knoten aus dem Graphen aus, in diesem Fall den Knoten 1. Dieser Knoten wird als aufgesucht markiert, und wenn von diesem Knoten eine oder mehrere Verknüpfungen weiterführen, wird zufällig eine erste Verknüpfung ausgewählt und bis zum nächsten Knoten, hier bis zum Knoten 2, weiterverfolgt. Nach dem Knoten 2 wird dieser Prozess wiederholt und somit der Knoten 3 erreicht. Dieser Knoten weist keine Verknüpfungen auf, sodass der Algorithmus zum Knoten 2, dem vorhergehenden markierten Knoten, zurückkehrt und zufällig eine der übrigen Verknüpfungen zu nicht markierten Knoten auswählt. Durch Wiederholen dieser elementaren Operationen durchläuft der Suchprozess rekursiv die Baumstruktur und findet in der durch die Zahlen in der Figur angezeigten Reihenfolge die miteinander verbundenen Knoten. Durch das Markieren der Knoten wird verhindert, dass infolge Schleifenbildung ein Knoten mehrmals aufgesucht wird. Der Rekursionsprozess wird verlassen, wenn eine der folgenden Bedingungen erfüllt ist: es gibt keinen nächsten Knoten oder der nächste Knoten ist bereits aufgesucht worden (Verhinderung der Schleifenbildung) oder der nächste Knoten liegt außerhalb des Geltungsbereichs (außerhalb des Netzes 2). Auf diese Weise ermittelt der Suchprozess alle Knoten und Verknüpfungen in einer oben definierten Insel. Wenn der Suchalgorithmus beendet ist, verschiebt (kopiert) die Analysesteuereinheit 8 die Gruppe der aufgesuchten Knoten und Verknüpfungen (den Teilgraphen, der die Insel repräsentiert) vom Eingangsgraphen und speichert den Teilgraphen separat im Speicher 10. Wenn der Eingangsgraph dann immer noch mindestens einen unmarkierten Knoten enthält, beginnt die Analysesteuereinheit 8 noch einmal den Suchprozess, wählt zufällig einen Knoten aus und durchquert den Graphen von hier aus. Dieser Prozess wird so lange wiederholt, bis der Eingangsgraph ”leer” ist (d. h. keine unmarkierten Knoten mehr enthält).
-
Nach der Ermittlung der Inseln in Schritt 23 von 2 kann die Analysesteuereinheit 8 mit der Suche nach gering ausgelasteten Netzeinheiten 3 fortfahren. Die Auslastung der Einheiten wird hier durch Analysieren des Datendurchsatzes auf den Verbindungen von außerhalb des Netzes 2 zu Inseln bewertet. Jede dieser Zuleitungen wird im Netzgraphen durch eine Verknüpfung von einer externen Einheit zu einer Insel dargestellt. Durch Analysieren der Verkehrsdurchsatzdaten für jede Zuleitung zu den Inseln kann die Analysesteuereinheit gering ausgelastete Einheiten ermitteln. Insbesondere kann der durch diese Verkehrsdurchsatzdaten angezeigte Datendurchsatz mit einem in der Analysesteuereinheit 8 vordefinierten geeigneten Schwellenwert verglichen werden. Im Allgemeinen können für eine gewünschte Anwendung im System 7 ein oder mehrere solcher Schwellenwerte vordefiniert werden, z. B. ein Schwellenwert für alle Verknüpfungen von außen zu den Inseln, unterschiedliche Schwellenwerte für verschiedene Inseln oder Verbindungen zu verschiedenen IP-Adressen/Anschlussnummern. Außerdem kann die Analysesteuereinheit allgemein Durchsatzdaten der Verknüpfungen von außen mit den entsprechenden Schwellenwerten für alle Inseln oder nur für eine Teilmenge von Inseln/Einheiten/Diensten vergleichen. In diesem Beispiel können die anzuwendenden Datenverkehrsschwellenwerte durch einen Bediener über die E/A-Schnittstelle 10 eingegeben werden. Insbesondere kann der Bediener für einen Analysevorgang die Anschlussnummern und die zugehörigen Schwellenwerte eingeben, für welche die Analyse durchgeführt werden soll. In Schritt 24 von 2 ermittelt die Analysesteuereinheit dann die Insel(n), die einen zu einer bestimmten Anschlussnummer gehörenden Knoten enthält (enthalten). Für jede dieser Inseln wird ermittelt, ob es eine Verknüpfung von außen gibt, die mindestens eine Verbindung mit der angegebenen Anschlussnummer repräsentiert. Wenn dies der Fall ist, wird der gesamte durch die Verkehrsdurchsatzdaten angezeigte Datendurchsatz für die Verbindung(en) zu dieser Anschlussnummer mit dem angegebenen Schwellenwert verglichen. Wenn der Datendurchsatz den Schwellenwert unterschreitet, wird die Insel als gering ausgelastet angesehen, und die gering ausgelasteten Einheiten werden in Schritt 25 dem Bediener über die E/A-Schnittstelle 10 als Ausgabewert mitgeteilt. Wenn es keine Verknüpfung von außen gibt, die eine Verbindung zu der angegebenen Anschlussnummer repräsentiert, wird die Insel wiederum als gering ausgelastet angesehen und wie oben der Ausgabewert erzeugt.
-
Die Schritte 24 und 25 von 2 können als Reaktion auf eine Bedienereingabe, in der verschiedene Anschlussnummern und die zugehörigen Schwellenwerte angegeben werden, beliebig oft wiederholt werden. Auf diese Weise können gering ausgelastete Inseln und dadurch gering ausgelastete Netzeinheiten 3 ermittelt und das Netz in geeigneter Weise umstrukturiert werden, um die Nutzung des Netzes zu verbessern. 5 zeigt eine einfache Darstellung von beispielhaften Ergebnissen für eine Analyse des Netzes 2. Hier sind fünf Inseln mit den Buchstaben A bis E ermittelt worden. Die Inseln sind durch die Pfeile miteinander verbunden, wobei höhere Datendurchsätze einfach durch dickere Pfeile dargestellt sind. Wenn zu einer Insel keine Verknüpfung von außen führt, wie dies bei Insel C der Fall ist, sind die Einheiten der Insel eindeutig nicht beschäftigt. Solche Einheiten können einfach aus dem Netz 2 herausgenommen (stillgelegt) werden. Wenn eine Insel eine oder mehrere Verknüpfungen von außen mit zu geringem Datendurchsatz aufweist, wie dies hier bei den Inseln A und B der Fall ist, werden eine oder mehrere Einheiten der Insel als gering ausgelastet angesehen (zumindest in Bezug auf eine Teilmenge ihrer Dienste, wenn die Einheit mehrere Dienste anbietet). Um diesen Mangel zu beheben, kann das Netz auf unterschiedliche Weise umstrukturiert werden. Zum Beispiel können verschiedene Einheiten zusammengefasst werden, zum Beispiel durch Virtualisierung mehrerer Einheiten in einer physischen Maschine, oder Einheiten können innerhalb des Netzes verschoben werden oder eigene Dienste können an Dienste außerhalb übertragen werden. Im Allgemeinen kann hier jede Umstrukturierung als geeignet angesehen werden, welche der geringen Auslastung der Einheiten 3 entgegenwirkt und somit die Gesamtauslastung des Netzes verbessert. Dieser Umstrukturierungsprozess kann komplett durch den Netzbediener umgesetzt werden, jedoch sind Ausführungsarten denkbar, bei denen die Analysesteuereinheit 8 so programmiert ist, dass sie nach dem Erkennen der geringen Auslastung von Einheiten bestimmte Umstrukturierungsaufgaben wahrnimmt.
-
Es dürfte klar sein, dass die obige Beschreibung ein praktikables und wirksames System zur Ermittlung gering ausgelasteter Netzeinheiten und zur geeigneten Umstrukturierung der Netze bereitstellt. Das System kann nicht nur einzelne gering ausgelastete Einheiten, sondern auch Gruppen von gering ausgelasteten Einheiten erkennen und mit hoher Wahrscheinlichkeit gering ausgelastete Hostrechner oder Anwendungen ermitteln, die deutlich zu wenig genutzt und daher abgeschaltet werden können. Durch Abschalten solcher Systeme können beträchtliche Strom- und Ressourceneinsparungen erzielt werden. In einem typischen Rechenzentrum beispielsweise können durchaus Einsparungen von 5 bis 30% erreicht werden. Außerdem stehen die zum Betrieb des Netzes erforderlichen elementaren Verkehrsdaten leichter zur Verfügung. Diese können entweder den möglicherweise vorhandenen Datenverkehrsprotokollen entnommen oder einfach durch das Beobachten und Entnehmen der elementaren Daten erzeugt werden. Ausführungsarten der Erfindung können somit in vorhandenen Netzen ohne übermäßige Aufwendungen oder Ausgaben genutzt werden, entweder in einem einmaligen Prozess vor der geplanten Netzkonsolidierung oder zur regelmäßigen Auslastungsanalyse.
-
Es ist natürlich klar, dass an den oben beschriebenen speziellen Ausführungsarten verschiedene Änderungen und Modifikationen vorgenommen werden können. Während in der beschriebenen Ausführungsart zur Ermittlung gering ausgelasteter Einheiten für den Datendurchsatz ein einfacher Schwellenwert verwendet wird, kann bei anderen Ausführungsarten zum Beispiel eine komplexere Schwellenwerttechnik oder ein anderer Algorithmus verwendet werden, der zusätzliche Daten sowie die Verkehrsdurchsatzdaten nutzt. Während die Netzüberwachungseinheit 5 und das Auslastungsbewertungssystem 7 in 1 als getrennte Einheiten dargestellt sind, kann die Funktionalität dieser Systeme auf einem oder mehreren Computern realisiert werden. An diesen beispielhaften Ausführungsarten können viele andere Änderungen und Modifikationen vorgenommen werden, ohne vom Geltungsbereich der Erfindung abzuweichen.