DE112013001446B4 - Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken - Google Patents

Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken Download PDF

Info

Publication number
DE112013001446B4
DE112013001446B4 DE112013001446.7T DE112013001446T DE112013001446B4 DE 112013001446 B4 DE112013001446 B4 DE 112013001446B4 DE 112013001446 T DE112013001446 T DE 112013001446T DE 112013001446 B4 DE112013001446 B4 DE 112013001446B4
Authority
DE
Germany
Prior art keywords
units
unit
network
data
confidence value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112013001446.7T
Other languages
English (en)
Other versions
DE112013001446T5 (de
Inventor
c/o IBM Corporation Branch Joel W.
c/o IBMCorporation Nidd Michael E.
c/o IBM Corporation Rissmann Ruediger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013001446T5 publication Critical patent/DE112013001446T5/de
Application granted granted Critical
Publication of DE112013001446B4 publication Critical patent/DE112013001446B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Abstract

Es werden Mechanismen zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken (430, 530) in einer Netzwerktopologie (305) bereitgestellt. Mittels der Mechanismen werden Netzwerkkonfigurationsdaten von einer Vielzahl von Einheiten in der Netzwerktopologie (305, 610) gesammelt und die gesammelten Netzwerkkonfigurationsdaten unter Verwendung eines oder mehrerer heuristischer Analyseverfahren analysiert, um in den gesammelten Netzwerkkonfigurationsdaten Muster zu erkennen, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (430, 530, 630) hinweisen. Mittels der Mechanismen wird auf der Grundlage der Ergebnisse der Analyse der gesammelten Netzwerkkonfigurationsdaten ein Konfidenzwert berechnet (640). Ferner sendet (680) der Mechanismus als Reaktion darauf, dass der berechnete Konfidenzwert mindestens einen Schwellenwert erreicht oder überschreitet, eine Benachrichtigung über eine erkannte Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken an eine Datenverarbeitungseinheit.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein eine verbesserte Vorrichtung und ein verbessertes Verfahren zur Datenverarbeitung und insbesondere Mechanismen zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen.
  • ZUGRUNDELIEGENDE TECHNIK
  • Wenn solche Komponenten wie beispielsweise Firewalls und Lastausgleichsfunktionen richtig programmiert und ordnungsgemäß installiert sind, sollte die Funktionalität solcher Einheiten automatisch nur sehr schwer erkennbar sein. Dies ist unter anderem zur Durchsetzung der Netzwerksicherheit erforderlich. Um bösartige Aktivitäten zu verhindern, sollten Firewalls und Lastausgleichsfunktionen in dem Datenverarbeitungsnetzwerk einfach scheinbar wie eine andere Einheit (z.B. Leitwegrechner oder Server) auftreten. Darüber hinaus verwenden zugelassene Erkennungsmechanismen Verwaltungsverbindungen, um die in dem Netzwerk vorhandenen Elemente zu erkennen. Aufgrund von Sicherheitsmechanismen dürfen nur berechtigte Clients Verwaltungsverbindungen einrichten. In vielen Fällen lassen sich die Berechtigungen zum Einrichten solcher sicherer Verbindungen zwar nur unter Schwierigkeiten erlangen, jedoch bleiben Firewalls und Lastausgleichsfunktionen auch dann noch schwer erkennbar. Darüber hinaus verhalten sich Firewalls und Lastausgleichsfunktionen aus der Sicht von Erkennungsmechanismen, die keine Sicherheitsberechtigungen benötigen, unter Sicherheitsaspekten wie allgemeine Netzwerkkomponenten, beispielsweise Server und Leitwegrechner. Dies gilt insbesondere, da ihre ureigene Funktionalität im Rahmen von Datenzentren für Endbenutzer transparent ist und sie von zugelassenen Erkennungstechniken nicht betroffen sind.
  • Die Veröffentlichung „Built-to-Order Service Engineering for Enterprise IT Discovery“ betrifft automatisierte IT-Discovery-Tools, die ein Schlüssel zur Automatisierung der IT-Verwaltungs- und Optimierungsaufgaben sind. Des Weiteren betrifft die Veröffentlichung einen real-world Einsatz von zwei Discovery-Tools: Look Galapagos und ADDM (JOUKOV, Nikolai [et al.]: Built-to-order Service engineering for enterprise IT discovery. In: Services Computing, 2008. SCC'08. IEEE International Conference on. IEEE, 2008. S. 91-98.).
  • Der Wikipedia Eintrag „Heuristic (computer science)“ betrifft eine Verwendung einer heuristischen Herangehensweise in Computer Science und Optimierung (Heuristic (computer science). In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 4.März 2012. URL: https://en.wikipedia.org/w/index.php? title=Heuristic_(computer_science)&oldid=480131705 [abgerufen am 09.07.2020]).
  • Der Wikipedia Eintrag „Naive Bayes spam filtering“ betrifft eine statistische Technik zum Filtern von E-Mails (Naive Bayes spam filtering. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 1.März 2012. URL: https://en.wikipedia.org/w/index.php? title=Naive_Bayes_spam_filtering&oldid=479578884 [abgerufen am 09.07.2020]).
  • OFFENBARUNG DER ERFINDUNG
  • Der Erfindung liegt die Aufgabe zugrunde eine verbesserte Vorrichtung, ein verbessertes Verfahren, und ein verbessertes Computerprogrammprodukt zum Erkennen von transparenten, für einem Nutzer nicht sichtbaren Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen bereitzustellen.
  • Diese Aufgabe wurde durch die Merkmale der unabhängigen Ansprüche gelöst. Ausführungsformen der Erfindung werden in abhängigen Ansprüchen angegeben.
  • In einem Beispiel wird ein Verfahren in einem Datenverarbeitungssystem zum Erkennen transparenter Einheiten zum Abfangen von Datenübertragungen in Netzwerken in einer Netzwerktopologie bereitgestellt. Das Verfahren weist ein Sammeln von Netzwerkkonfigurationsdaten von einer Vielzahl von Einheiten in der Netzwerktopologie und ein Analysieren der gesammelten Netzwerkkonfigurationsdaten unter Verwendung eines oder mehrerer heuristischer Analyseverfahren zum Erkennen von Mustern in den gesammelten Netzwerkkonfigurationsdaten, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken hinweisen. Ferner weist das Verfahren ein Berechnen eines Konfidenzwertes auf der Grundlage der Ergebnisse der Analyse der gesammelten Netzwerkkonfigurationsdaten auf. Darüber hinaus weist das Verfahren als Reaktion darauf, dass der berechnete Konfidenzwert mindestens einen Schwellenwert erreicht oder überschreitet, ein Senden einer Benachrichtigung über eine erkannte Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken an eine Datenverarbeitungseinheit auf.
  • In einem anderen Beispiel wird ein Computerprogrammprodukt bereitgestellt, das ein durch Computer nutzbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Bei Ausführen auf einer Datenverarbeitungseinheit veranlasst das computerlesbare Programm die Datenverarbeitungseinheit zum Ausführen einer von mehreren Operationen und deren Kombinationen, die oben in Bezug auf die anschauliche Ausführungsform des Verfahrens dargelegt wurden.
  • In noch einem weiteren Beispiel wird ein System/eine Vorrichtung bereitgestellt. Das System/die Vorrichtung kann einen oder mehrere Prozessoren und einen mit dem einen oder den mehreren Prozessoren verbundenen Speicher aufweisen. Der Speicher kann Anweisungen aufweisen, die bei Ausführen durch den einen oder die mehreren Prozessoren diese zum Ausführen einer der mehreren Operationen und deren Kombinationen veranlassen, die oben in Bezug auf die anschauliche Ausführungsform des Verfahrens dargelegt wurden.
  • Diese sowie weitere Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung beispielhafter Ausführungsformen der vorliegenden Erfindung beschrieben oder dem Fachmann aus dieser klar werden.
  • Figurenliste
  • Die Erfindung sowie eine bevorzugte Anwendungsart und deren weitere Zielstellungen und Vorteile werden am besten durch Bezugnahme auf die folgende detaillierte Beschreibung anschaulicher Ausführungsformen in Verbindung mit den beiliegenden Zeichnungen verständlich, wobei:
    • 1 ein beispielhaftes Schaubild eines verteilten Datenverarbeitungssystems ist, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können;
    • 2 ein beispielhaftes Blockschaltbild einer Datenverarbeitungseinheit ist, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können;
    • 3 ein beispielhaftes Blockschaubild der hauptsächlichen Funktionselemente eines Mechanismus zum Erkennen einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (z.B. einer Lastausgleichsfunktion) gemäß einer anschaulichen Ausführungsform ist;
    • 4 eine Netzwerkkonfiguration veranschaulicht, in der ein Server-Cluster (oder ein Server-Pool, der Server-Datenverarbeitungseinheiten aufweist, über einen L2-Switch mit einer Lastausgleichsfunktion verbunden ist;
    • 5 ein beispielhaftes Schaubild von Servern ist, die auf der Transportschicht sowohl auf eine virtuelle IP-Adresse (VIP) als auch auf eine reale IP-Adresse (RIP) antworten, jedoch nur für die RIP ein Adressauflösungsprotokoll (Address Resolution Protocol, ARP) senden;
    • 6 ein Ablaufplan ist, der einen beispielhaften Arbeitsablauf einer heuristischen Steuerkomponente zum Erkennen einer Lastausgleichsfunktion gemäß einer anschaulichen Ausführungsform zeigt.
  • BESTE AUSFÜHRUNGSARTEN DER ERFINDUNG
  • Die anschaulichen Ausführungsformen stellen Mechanismen zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen bereit. Diese Einheiten werden hierin als transparente Einheiten zum Abfangen von Datenübertragungen in Netzwerken bezeichnet, da diese Einheiten ihrem Wesen nach als Vermittler zwischen der Quelle und dem Ziel von Datenübertragungen fungieren und somit diese Übertragungen abfangen, weiterverarbeiten, z.B. Leitwege festlegen, filtern, ändern oder dergleichen, und dann weiterleiten/sperren. Diese Einheiten werden als „transparent“ bezeichnet, da deren tatsächliches Wesen/Konfiguration für übliche Erkennungsmechanismen transparent ist und sie sich scheinbar wie jede andere normale Netzwerkeinheit verhalten, ohne dass ihre spezielle Aufgabe üblichen Erkennungsmechanismen bekannt ist, die die Mechanismen der im Folgenden beschriebenen anschaulichen Ausführungsformen nicht umsetzen.
  • Ein Erkennen des Standorts von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen in einer Netzwerkinfrastruktur ist für eine Anzahl von Netzwerk-Verwaltungsoperationen von Bedeutung, die in Datennetzwerken ausgeführt werden. Zum Beispiel kann ein solches Erkennen besonders bei Verlagerungsoperationen und insbesondere beim Verlagern von verwalteten Server-Clustern, d.h. beim Verlagern von Diensten, Softwareinstanzen, Daten und/oder dergleichen von einer Gruppe von Server-Datenverarbeitungseinheiten zu einer anderen am selben oder an einem anderen geografischen oder Netzwerkstandort von Bedeutung sein. Das heißt, wenn ein verwalteter Server-Cluster verlagert wird, müssen der Server-Cluster und seine Firewalls/Lastausgleichsfunktionen gemeinsam verlagert werden. Das liegt daran, dass die Lastausgleichsfunktion serverseitig (front end) ausgerichtet ist und die Lastausgleichsfunktionen üblicherweise neu konfiguriert werden müssen, wenn ein Server verlagert wird. Zum Erreichen der bestmöglichen Leistungsfähigkeit sollten Lastausgleichsfunktionen und Server einander möglichst nahe sein. Aus diesem Grund werden sie üblicherweise gemeinsam verlagert, oder in dem neuen Datenzentrum wird eine neue Lastausgleichsfunktion eingerichtet. Somit ist es wichtig zu wissen, wo in der Netzwerkinfrastruktur sich die Firewalls/Lastausgleichsfunktionen befinden, um sie zusammen mit dem verwalteten Server-Cluster verlagern zu können, dem sie zugehörig sind. Es sollte einsichtig sein, dass es auch für andere Netzwerkverwaltungsoperationen wichtig ist, die Standorte von Firewalls/Lastausgleichsfunktionen oder anderen transparenten Einheiten zum Abfangen von Netzwerkkommunikation zu kennen.
  • Gemäß dem oben Gesagten stehen dem automatischen Erkennen des Standorts von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen Hindernisse entgegen. Die Erkennungsmechanismen nutzen zum Ausführen von deren Erkennungsoperationen Verwaltungsverbindungen, und wegen Sicherheitsmechanismen und Sicherheitsvorgaben antworten solche transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken nicht auf Erkennungsabfragen der Verwaltung auf diesen Verwaltungsverbindungen. Demgemäß präsentieren sich die transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken den Erkennungsmechanismen wie eine beliebige andere Einheit in der Netzwerktopologie, und somit können Erkennungsmechanismen nicht unterscheiden, bei welchen Einheiten es sich tatsächlich um transparente Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls oder Lastausgleichsfunktionen handelt.
  • Die anschaulichen Ausführungsformen stellen Mechanismen zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken in einer Netzwerktopologie bereit. Die anschaulichen Ausführungsformen stellen ein System und ein heuristisches Analyseverfahren zum Vorhersagen der Existenz und des Standorts von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise Firewalls und Lastausgleichsfunktionen unter Verwendung eines Erkennungsverfahrens ohne Stichprobenprüfung bereit. Die Mechanismen der anschaulichen Ausführungsformen suchen in den von den Einheiten des Netzwerks gesammelten Netzwerkkonfigurationsdaten und Anwendungs/Datei-Daten nach bestimmten Mustern und vergleichen diese Muster mit bekannten Mustern, die auf die Existenz und/oder den Standort von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken hinweisen. Dann kann auf der Grundlage des Vergleichs von Datenmustern ein Konfidenzwert berechnet werden, um ein Konfidenzniveau für die Vorhersage der Existenz/des Standorts einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken zu ermitteln. Dann kann auf der Grundlage des Konfidenzwertes eine Meldung erzeugt und an einen Systemadministrator, einen automatisierten Verlagerungsmechanismus oder dergleichen gesendet werden, um die betreffende Einheit über die Existenz/den Standort einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken in Kenntnis zu setzen.
  • Dem Fachmann ist einsichtig, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt umgesetzt werden können. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer kompletten Hardwareausführungsform, einer kompletten Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte in sich vereint und die hierin allgemein sämtlich als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darauf gespeicherten durch Computer nutzbaren Programmcode verkörpert ist.
  • Es kann eine beliebige Komponente von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder um ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung, Einheit oder eine beliebige geeignete Kombination derselben handeln. Im Einzelnen kommen als Beispiele (eine nicht erschöpfende Aufzählung) für das computerlesbare Speichermedium infrage: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine austauschbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer, programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein austauschbarer Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit einem darin verkörperten computerlesbaren Programmcode beinhalten, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein solches sich ausbreitendes Signal kann eine aus einer Vielfalt an Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder eine beliebige geeignete Kombination derselben. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterverbreiten oder transportieren kann.
  • Ein auf einem computerlesbaren Medium verkörperter Computercode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, Hochfrequenz (HF) usw. oder eine beliebige geeignete Kombination derselben.
  • Ein Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise Java™, Smalltalk™, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann komplette auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder komplett auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Fall kann der ferne Computer mit dem Computer des Benutzers durch einen beliebigen Netzwerktyp verbunden sein, darunter ein lokales Netzwerk (local area network, LAN) oder ein Weitverkehrsnetzwerk (wide area network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den anschaulichen Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufpläne und/oder Blockschaubilder durch Computerprogrammanweisungen umgesetzt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Aktionen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, in einer bestimmten Weise derart zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt erzeugen, das Anweisungen zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Aktionen enthält.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Folge auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Einheiten auszuführender Arbeitsschritte zu veranlassen, um einen computergestützten Prozess derart zu erzeugen, dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Aktionen bereitstellen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder Blockschaubildern ein Modul, ein Segment, oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Zu beachten ist auch, dass bei bestimmten alternativen Implementierungen die in dem Block angegebenen Funktionen in einer von den Figuren abweichenden Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke je nach beabsichtigter Funktionalität in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in der umgekehrten Reihenfolge ausgeführt werden. Es wird auch darauf hingewiesen, dass jeder Block in den Blockschaubildern und/oder dem Ablaufplan und Kombinationen von Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen ausgeführt werden kann.
  • Somit können die anschaulichen Ausführungsformen in vielen verschiedenen Typen von Datenverarbeitungsumgebungen verwendet werden. Um einen Bezug auf die Beschreibung speziellere Elemente und Funktionalitäten der anschaulichen Ausführungsformen herzustellen, zeigen die 1 und 2 im Folgenden beispielhafte Umgebungen, in denen Aspekte der anschaulichen Umgebungen umgesetzt werden können. Es sollte einsichtig sein, dass die 1 und 2 nur als Beispiele dienen und keinerlei Beschränkung für die Umgebungen bedeuten oder angeben sollen, in denen Aspekte von Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. An den dargestellten Umgebungen können viele Änderungen vorgenommen werden, ohne vom Wesensgehalt und Schutzumfang der vorliegenden Erfindung abzuweichen.
  • 1 zeigt eine bildliche Darstellung eines beispielhaften verteilten Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das verteilte Datenverarbeitungssystem 100 kann ein Netzwerk von Computern beinhalten, in denen Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das verteilte Datenverarbeitungssystem 100 enthält mindestens ein Netzwerk 102, das als Medium zum Bereitstellen von Datenübertragungsleitungen zwischen verschiedenen Einheiten und Computer dient, die innerhalb des verteilten Datenverarbeitungssystems 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie beispielsweise leitungsgebundene und drahtlose Datenübertragungsverbindungen oder Lichtwellenleiter beinhalten.
  • In dem gezeigten Beispiel sind ein Server 104 und ein Server 106 sowie eine Speichereinheit 108 mit einem Netzwerk 102 verbunden. Außerdem sind auch Clients 110, 112 und 114 mit dem Netzwerk 102 verbunden. Bei diesen Clients 110, 112 und 114 kann es sich zum Beispiel um Personal Computer, Netzwerk-Computer oder dergleichen handeln. In dem gezeigten Beispiel liefert der Server 104 Daten wie beispielsweise Bootdateien, Betriebssystemabbilder und Anwendungen an die Clients 110, 112 und 114. Bei den Clients 110, 112 und 114 handelt es sich in dem gezeigten Beispiel um Clients in Bezug auf den Server 104. Das verteilte Datenverarbeitungssystem 100 kann weitere nicht gezeigte Server, Clients und andere Einheiten beinhalten.
  • In dem gezeigten Beispiel handelt es sich bei dem verteilten Datenverarbeitungssystem 100 um das Internet, wobei das Netzwerk 102 eine globale Ansammlung von Netzwerken und Gateways darstellt, die zum Austauschen von Daten untereinander die TCP/IP- (Transmission Control Protocol/Internet Protocol, Protokoll für die Übertragungskontrolle/Internetprotokoll) Protokollserie verwenden. Das Kernstück des Internet bildet ein Hauptstrang von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern, die aus tausenden von Computersystemen in Unternehmen, Verwaltungen und Universitäten bestehen, die Daten und Nachrichten weiterleiten. Das verteilte Datenverarbeitungssystem 100 kann natürlich auch eine Anzahl verschiedener Typen von Netzwerken beinhalten, zum Beispiel ein Intranet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) oder dergleichen. Gemäß dem oben Gesagten soll 1 als Beispiel und nicht als architektonische Beschränkung für verschiedene Ausführungsformen der vorliegenden Erfindung dienen, sodass die einzelnen in 1 gezeigten Elemente nicht als Einschränkung in Bezug auf die Umgebungen anzusehen sind, in denen die anschaulichen Ausführungsformen der vorliegenden Erfindung umgesetzt werden können.
  • 2 ist ein Blockschaltbild eines beispielhaften Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das Datenverarbeitungssystem 200 stellt als Beispiel einen Computer dar, beispielsweise den Client 110 in 1, in dem ein durch Computer nutzbarer Code oder Anweisungen zum Umsetzen der Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung gespeichert sein können.
  • In dem gezeigten Beispiel verwendet das Datenverarbeitungssystem 200 eine Hub-Architektur mit einem NB/MCH (North bridge and memory controller hub) 202 und einem SB/ICH (South bridge and input/output (I/O) controller hub) 204. Mit dem NB/MCH 202 sind eine Verarbeitungseinheit 206, ein Hauptspeicher 208 und ein Grafikprozessor verbunden. Der Grafikprozessor 210 kann über einen beschleunigten Grafikanschluss (accelerated graphics port, AGP) mit dem NB/MCH 202 verbunden sein.
  • In dem gezeigten Beispiel ist ein LAN- (local area network, lokales Netzwerk) Adapter 212 mit dem SB/ICH 204 verbunden. Ein Audioadapter 216, ein Tastatur- und Mausadapter 220, ein Modem 222, ein Nur-Lese-Speicher (ROM) 224, ein Festplattenlaufwerk (HDD) 226, ein CD-ROM-Laufwerk 230, USB- (universal serial bus, universeller serieller Bus) Anschlüsse und weitere Datenübertragungsanschlüsse 232 sowie PCI/PCIe-Einheiten 234 sind über den Bus 238 und den Bus 240 mit dem SB/ICH 204 verbunden. Als PCI/PCIe-Einheiten kommen zum Beispiel Ethernet-Adapter, Steckkarten und PC-Karten für Notebook-Computer infrage. Für PCI-Einheiten wird eine Kartenbus-Steuereinheit verwendet, für PCIe-Einheiten hingegen nicht. Bei dem ROM 224 kann es sich zum Beispiel um ein Flash-BIOS (basic input/output system, grundlegendes Eingabe/Ausgabe-System) handeln.
  • Das HDD 226 und das CD-ROM-Laufwerk 230 sind durch den Bus 240 mit dem SB/ICH 204 verbunden. Das HDD 226 und das CD-ROM-Laufwerk 230 können zum Beispiel eine IDE- (Integrated drive electronics, integrierte Geräteelektronik) oder eine SATA- (Serial advanced technology attachment, serieller Zusatz für fortgeschrittene Technologie) Schnittstelle verwenden. Eine Super-E/A- (SIO) Einheit 236 kann mit dem SB/ICH 204 verbunden sein.
  • Auf der Verarbeitungseinheit 205 wird ein Betriebssystem ausgeführt. Das Betriebssystem sorgt für die Steuerung verschiedener Komponenten innerhalb des Datenverarbeitungssystems 200 in 2. Für einen Client kann als Betriebssystem ein handelsübliches Betriebssystem wie beispielsweise Microsoft® Windows 7® verwendet werden. Ein objektorientiertes Programmiersystem wie beispielsweise das Programmiersystem Java™ kann in Verbindung mit dem Betriebssystem ausgeführt werden und richtet Aufrufe von Java™-Programmen oder Anwendungen, die auf dem Datenverarbeitungssystem 200 ausgeführt werden, an das Betriebssystem.
  • Für einen Server als Datenverarbeitungssystem 200 zum Beispiel ein IBM® eServer™ System p®-Computersystem verwendet werden, welches das Betriebssystem AIX® (Advanced Interactive Executive, weiterentwickeltes interaktives Hauptsteuerprogramm) oder das Betriebssystem LINUX® ausführt. Bei dem Datenverarbeitungssystem 200 kann es sich um ein symmetrisches Multiprozessorsystem (SMP) handeln, das eine Vielzahl von Prozessor in der Verarbeitungseinheit 206 beinhaltet. Alternativ kann ein Einzelprozessorsystem verwendet werden.
  • Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme sind auf Speichereinheiten wie beispielsweise auf der HDD 226 gespeichert und können zum Ausführen durch die Verarbeitungseinheit 206 in den Hauptspeicher 208 geladen werden. Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung können durch die Verarbeitungseinheit 206 unter Verwendung eines durch Computer nutzbaren Programmcodes ausgeführt werden, der in einem Speicher wie beispielsweise dem Hauptspeicher 208, dem ROM 224 oder in einer oder mehreren Peripherieeinheiten 226 und 230 gespeichert sein kann.
  • Ein Bussystem wie beispielsweise der in 2 gezeigte Bus 238 oder der Bus 240 kann aus einem oder mehreren Bussen bestehen. Das Bussystem kann natürlich unter Verwendung eines beliebigen Typs von Datenübertragungsstruktur oder -architektur realisiert werden, die für eine Datenübertragung zwischen verschiedenen an die Struktur oder Architektur angeschlossenen Komponenten oder Einheiten sorgt. Eine Datenübertragungseinheit wie beispielsweise der Modem 222 oder der Netzwerkadapter 212 von 2 kann eine oder mehrere zum Senden und Empfangen von Daten verwendete Einheiten beinhalten. Als Speicher kann zum Beispiel der Hauptspeicher 208, der ROM 224 oder ein Cachespeicher verwendet werden, der in dem NB/MCH 202 in 2 enthalten ist.
  • Dem Fachmann ist einsichtig, dass die Hardware in den 1 und 2 je nach Implementierung variieren kann. Zusätzlich oder anstelle der in den 1 und 2 gezeigten Hardware können weitere interne oder Peripherieeinheiten verwendet werden, beispielsweise ein Flash-Speicher, ein gleichwertiger nichtflüchtiger Speicher oder optische Plattenlaufwerte oder dergleichen. Ferner können die Prozesse der anschaulichen Ausführungsformen anstelle des oben erwähnten SMP-Systems auf ein Multiprozessor-Datenverarbeitungssystem angewendet werden, ohne vom Wesensgehalt und vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Darüber hinaus kann das Datenverarbeitungssystem 200 die Form eines aus einer Anzahl verschiedener Datenverarbeitungssysteme annehmen, darunter Client-Datenverarbeitungseinheiten, Server-Datenverarbeitungseinheiten, ein Tablet-Computer, ein Laptop-Computer, ein Telefon oder eine andere Datenübertragungseinheit, ein persönlicher digitaler Assistent (PDA) oder dergleichen. Bei bestimmten anschaulichen Beispielen kann es sich bei dem Datenverarbeitungssystem 200 um eine tragbare Datenverarbeitungseinheit handeln, die mit einem Flash-Speicher ausgestattet ist, um einen nichtflüchtigen Speicher zum Speichern von Betriebssystemdateien und/oder vom Benutzer erzeugten Daten bereitzustellen. Wichtig ist, dass es sich bei dem Datenverarbeitungssystem 200 um ein beliebiges bekanntes oder später zu entwickelndes Datenverarbeitungssystem ohne architektonische Einschränkungen handeln kann.
  • Der eine oder die mehreren in 1 gezeigten Server 104, 106 oder andere (nicht gezeigte) Server in dem Netzwerk 100 können in Wirklichkeit eine Software/Hardware aufweisen, die die Server 104, 106 veranlasst, als Firewall (falls der Server als Gateway für die anderen in 1 nicht gezeigten Datenverarbeitungseinheiten dient), als Lastausgleichsfunktion oder als ein anderer Typ von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken zu funktionieren. Alternativ können andere in 1 nicht gezeigte Datenverarbeitungseinheiten wie beispielsweise Leitwegrechner oder ähnliche eine Software zum Implementieren von Firewalls, Lastausgleichsfunktionen oder anderen Typen der Funktionalität von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken aufweisen.
  • Im Rahmen der folgenden Beschreibung wird davon ausgegangen, dass es sich bei der transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken um eine Lastausgleichsfunktion handelt, die zum Ausgleichen der Arbeitslast bei der Datenübertragung im Netzwerk zwischen einer Vielzahl von Servern dient, indem sie Ressourcenanforderungen von Clients nach bestimmten vorgegebenen Regeln auf den Ressourcencluster (z.B. Server, Speicherplatten, Netzwerkverbindungen usw.) verteilt. Somit weist die Lastausgleichsfunktion eine Eingangsadresse/einen Eingangsanschluss zum Empfangen von Netzwerkverkehr auf und ordnet den ankommenden Netzwerkverkehr einer Vielzahl von Ausgangsadressen/Ausgangsanschlüssen für abgehenden Netzwerkverkehr zu, die jeweils einem oder mehreren nachgeordneten Servern oder anderen Typen von Datenverarbeitungseinheiten zugehörig sind. Somit wird auf der Grundlage der durch die Lastausgleichsfunktion ermittelten Arbeitslast ankommender Netzwerkverkehr an eine dieser Ausgangsadressen/Ausgangsanschlüsse und somit an einen entsprechenden Server oder eine andere Datenverarbeitungseinheit zum Verarbeiten umgeleitet. Dadurch wird die ankommende Arbeitslast auf diese Vielzahl von Servern/Datenverarbeitungseinheiten verteilt und somit die Arbeitslast ausgeglichen. Auch auf andere Typen von Einheiten, die aufgrund ihrer transparenten Eigenschaften üblicherweise durch Erkennungsmechanismen nicht erkannt werden können, beispielsweise Firewalls und dergleichen, können die Erkennungsmechanismen der anschaulichen Ausführungsformen angewendet werden.
  • Viele Operationen innerhalb eines Netzwerks können beschleunigt werden, wenn bekannt ist, ob und wo innerhalb der Netzwerktopologie sich solche transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken (im Folgenden als Beispiel für die transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken mit dem Begriff Lastausgleichsfunktion bezeichnet) befinden. Wenn zum Beispiel ein Datenzentrum, eine Gruppe von Servern, Server-Cluster, Dienste auf Servern, Anwendungen auf Servern oder dergleichen von einer Gruppe von Servern zu einer anderen Gruppe von Servern oder von einem Standort zu einem anderen Standort verlagert werden müssen, ist es von Vorteil, wenn die Lastausgleichsfunktionen zusammen mit den verwalteten Ressourcen, z.B. Servern, Diensten, Anwendungen usw., als zusammenhängende Einheit verlagert werden. Somit ist es von Vorteil, über einen Erkennungsmechanismus zu verfügen, der ermitteln, ob es in einer Netzwerktopologie möglicherweise solche Lastausgleichsfunktionen gibt, und gegebenenfalls den Standort dieser Lastausgleichsfunktionen in der Netzwerktopologie ermitteln kann. Heutige Erkennungsmechanismen sind aus den oben erörterten Gründen nicht in der Lage, solche Operationen auszuführen.
  • Gemäß den Mechanismen der anschaulichen Ausführungsformen stellen ein oder mehrere der Server 104, 106, der Clients 110 bis 114 oder eine andere (nicht gezeigte) Datenverarbeitungseinheit Hardware/Software zum Implementieren eines Mechanismus zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken (z.B. einer Firewall, einer Lastausgleichsfunktion oder dergleichen) bereit. Mittels des Mechanismus zum Erkennen einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (im Folgenden als „Lastausgleichsfunktion“ bezeichnet) werden Daten analysiert, die während eines Erkennungsprozesses von den verschiedenen Einheiten einer Netzwerktopologie gesammelt wurden, um Datenmuster zu erkennen, die die Existenz der Funktionalität einer Lastausgleichsfunktion in einer oder mehreren der Einheiten anzeigen. Ferner werden mittels des Erkennungsmechanismus auf der Grundlage von Kombinationen von Ergebnissen der durchgeführten Musteranalyse ein Konfidenzwert berechnet und dann Benachrichtigungen über die Existenz und/oder den Standort von Lastausgleichsfunktionen in der Netzwerktopologie ausgegeben. Anhand dieser Benachrichtigungen können dann Verlagerungsoperationen oder andere Operationen konfiguriert werden, bei denen die Existenz und der Standort von Lastausgleichsfunktionen eine Rolle spielen.
  • 3 ist ein beispielhaftes Blockschaubild der wichtigsten Funktionselemente eines Mechanismus zum Erkennen einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (z.B. einer Lastausgleichsfunktion) gemäß einer anschaulichen Ausführungsform. Die in 3 gezeigten Elemente können in Form von Hardware, Software oder einer beliebigen Kombination von Hardware und Software realisiert werden. Gemäß einer anschaulichen Ausführungsform können die Elemente in 3 zum Beispiel in Form von Softwareanweisungen und Daten realisiert werden, die durch eine oder mehrere Datenverarbeitungseinheiten (z.B. Prozessoren, Speicher, Datenübertragungshardware wie beispielsweise Busse, Netzwerkschnittstellen oder dergleichen) einer oder mehrerer Datenverarbeitungseinheiten/-systeme (z.B. Server-Datenverarbeitungseinheiten, Client-Datenverarbeitungseinheiten, Ansammlungen von Datenverarbeitungseinheiten, die gemeinsam ein System bilden, oder dergleichen) ausgeführt/verarbeitet werden.
  • 3 zeigt, dass der Mechanismus 300 zum Erkennen von Lastausgleichsfunktionen ein oder mehrere Erkennungs-Tools 310 aufweist, mittels derer Daten von Netzwerkeinheiten in der Netzwerktopologie 305 gesammelt und einer Datensammel- und -filtersteuerkomponente 320 zur Verfügung gestellt werden. Die Datensammel- und -filtersteuerkomponente 320 sammelt die Daten von den verschiedenen Einheiten in der Netzwerktopologie 305, die durch die Erkennungs-Tools 310 gewonnen wurden, filtert die Daten nach für den Erkennungsmechanismus interessanten Daten und speichert die gefilterten Daten in einer Datenbank (Data-Warehouse) 330 zur weiteren Analyse und Verarbeitung. Dann führt eine heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen entweder fortlaufend, periodisch oder als Reaktion auf ein Ereignis wie beispielsweise einen Benutzerbefehl, den Befehl eines automatischen Tools oder ein anderes Ereignis eine Analyse der in der Datenbank 330 gespeicherten Daten unter Verwendung anerkannter heuristischer Analyseverfahren durch, um die Existenz und/oder den Standort von Lastausgleichsfunktionen innerhalb der Netzwerktopologie 305 zu ermitteln.
  • Die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen kann einen Hinweis auf das Erkennen/Nichterkennen von Lastausgleichsfunktionen in der Netzwerktopologie 305 an eine Berichtsteuerkomponente 350 senden, die eine Berichtdatenstruktur erzeugt, die gespeichert und/oder an Datenverarbeitungseinheiten 360 eines berechtigten Benutzers, automatische Tools 370 oder dergleichen ausgegeben wird. Diese Elemente 360, 370 können dann die Berichtdatenstruktur zum Ausführen von Verwaltungsoperationen in der Netzwerktopologie wie beispielsweise Verlagerungsoperationen oder dergleichen verwenden und weiterhin eine Rückmeldung an die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen senden, um das heuristische Analyseverfahren oder durch dieses verwendete Parameter zu ändern, und somit darauf zu reagieren, ob das Erkennen der Existenz/des Standorts der Lastausgleichsfunktionen richtig war, und die Funktionsweise der heuristischen Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen in Bezug auf das Erkennen der Existenz/des Standorts von Lastausgleichsfunktionen zu präzisieren.
  • Gemäß dem oben Dargelegten verwenden anschauliche Ausführungsformen Erkennungs-Tools zum Gewinnen von Netzwerkkonfigurationsdaten und/oder Anwendungs/Datei-Daten von den Netzwerkeinheiten der Netzwerktopologie 305. Ein Beispiel für ein Erkennungs-Tool, das zum Erfassen solcher Netzwerkkonfigurationsdaten und/oder Anwendungs/Datei-Daten verwendet werden kann, stellt das Erkennungs-Tool SCOPE dar, das von International Business Machines (IBM) Corporation, Armonk, New York, USA, verfügbar ist. Der Mechanismus SCOPE verwendet eine Kombination von netzwerkgesteuerten Tests des Tivoli Application Dependency Detection Manager (TADDM), der ebenfalls von IBM Corporation verfügbar ist, und von Script-Bibliotheken, die direkt durch Server-Administratoren oder mittels eines automatischen Mechanismus ausgelöst werden. Bei den verwendeten Scripten kann es sich um lokale Scripte, die auf dem Mechanismus 300 zum Erkennen von Lastausgleichsfunktionen ausgeführt werden, oder um ferne Scripte handeln, die auf den verschiedenen Einheiten der Netzwerktopologie 305 ausgeführt werden. Außerdem können Simple-Network-Management-Protocol- (SNMP-) Mechanismen verwendet werden, um Daten von den verschiedenen Einheiten, z.B. Leitwegrechner, Switches, Server, Arbeitsplatzrechner, Drucker, Modemeinschübe usw., zu gewinnen, aus denen die Netzwerktopologie besteht. Weitere verwendbare Erkennungs-Tools 310 können Direktverbindungen zu Netzwerk-APIs (Application Program Interfaces, Schnittstellen für die Programmierung von Anwendungsprogrammen (APIs) von installierter Middleware, Fingerabdrucksystemen wie beispielsweise dem Open Source Network Mapper (NMAP) und dergleichen beinhalten. Zu beachten ist, dass zum Gewinnen von Daten über andere Einheiten in der Netzwerkinfrastruktur zwar indirekt ein Test verwendet werden kann, dass die anschaulichen Ausführungsformen jedoch keine direkten Tests der transparenten Einheiten zum Abfangen von Netzwerkkommunikation durchführen, um deren Existenz und Beschaffenheit zu erkennen. Tests werden vielmehr indirekt durchgeführt, und selbst indirekte Test sind für das ordnungsgemäße Funktionieren der anschaulichen Ausführungsformen nicht erforderlich.
  • Es kann ein beliebiger Typ von Erkennungs-Tools verwendet, die in der Lage sind, Netzwerkkonfigurationsdaten von Einheiten einer Netzwerktopologie zu gewinnen, ohne vom Wesensgehalt und vom Schutzumfang der anschaulichen Ausführungsformen abzuweichen. Im Rahmen der folgenden Beschreibung wird jedoch davon ausgegangen, dass in erster Linie lokale und ferne Scripte zum Sammeln von Konfigurationsdaten von Server-Datenverarbeitungseinheiten in der Netzwerktopologie verwendet werden, da Lastausgleichsfunktionen, Firewalls und andere transparente Einheiten zum Abfangen von Netzwerkkommunikation üblicherweise auf oder in Verbindung mit Server-Datenverarbeitungseinheiten betrieben oder implementiert werden. Zum Beispiel stellt Galapagos eine Folge von Scripten dar, die Dienstprogramme wie Unix ifconfig und Isof ausführen, dann die Ergebnisse zusammen mit Kopien bestimmter Konfigurationsdateien archivieren und zulassen, dass die Ergebnisse einfach einem Erkennungsmechanismus zugeführt und von dort in die Datenbank SCOPE importiert werden. Der TADDM ist mit Zugriffsberechtigungen (Anmeldedaten oder SNMP) für bestimmte Gruppen von Servern konfiguriert, sodass er eine Verbindung vom Netzwerk herstellen und nahezu genauso wie Galapagos agieren kann. Dies sind nur Beispiele der Typen von Erkennungs-Tools, die verwendet werden können, um Scripte zum Sammeln von Konfigurationsdaten von Netzwerkeinheiten zu erstellen. Als Beispiele der Typen von Konfigurationsdaten, die unter Verwendung der Erkennungs-Tools 310 gesammelt und durch die Filtermechanismen zum Speichern an die Datenbank 330 weitergeleitet werden, kommt zum Beispiel für jede Einheit eine Liste von Netzwerkschnittstellen (darunter Loopback-Einheiten) infrage, die eine MAC- (Media Access Control) Adresse, den Einheitentyp, eine IP-Adresse, eine Teilnetzmaske und Standard-Gateway-Daten, einen Speicherauszug des lokalen ARP- (Address Resolution Protocol) Cachespeichers oder dergleichen enthält. Diese Konfigurationsdaten können direkt von den Einheiten selbst oder indirekt von den mit diesen verbundenen Einheiten gewonnen werden, z.B. von Leitwegrechnern, Switches oder dergleichen, die gegebenenfalls über vollständigere ARP-Tabellen verfügen. Ein Mechanismus zum indirekten Gewinnen von Daten verwendet zum Beispiel einen Cluster-Analysealgorithmus, der eine Liste aller offenen Anschlüsse von den Servern in dem Cluster sammelt. Einige dieser Anschlüsse sind zum Beispiel auf jedem Server offen, sodass diese Informationen keine Daten enthalten (z.B. Anschlüsse 135 und 445) und herausgefiltert werden können. Andere Anschlüsse wie beispielsweise der smtp-Anschluss 25 können erkannt werden, die nur auf Mail-Servern offen sind, welche von dem zugrunde liegenden Betriebssystem unabhängig sind. Solche Konfigurationsdaten können von diesen anderen Einheiten gewonnen und analysiert werden, um daraus unter Verwendung der Mechanismen der anschaulichen Ausführungsformen die Existenz von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken abzuleiten.
  • Der SNMP-Mechanismus eignet sich besonders gut zum Sammeln von Daten von Netzwerkeinheiten. Die Befehlszeilenschnittstellen auf Netzwerkeinheiten können je nach Anbieter stark variieren, und der SNMP-Mechanismus bietet eine besser vorhersagbare und standardisierte Schnittstelle zum Sammeln von Konfigurationsdaten. Der SNMP-Mechanismus in der Version 3 ermöglicht eine Benutzer-Identitätsprüfung per Kennwort, während ältere SNMP-Versionen auf der Kenntnis einer „Community-Zeichenfolge“ beruhen. Insbesondere aufgrund der geringen Zugangshürden in der Vergangenheit wird normalerweise eine Whitelist verwendet, um die Quellen-IP-Adressen zu kennzeichnen, die auf die SNMP-Schnittstelle einer Netzwerkeinheit zugreifen dürfen. Um den SNMP-Mechanismus als eines der Erkennungs-Tools 310 nutzen zu können, muss somit möglicherweise eine Whitelist oder eine Community-Zeichenfolge erstellt werden, die den SNMP-Erkennungs-Tools den Zugriff auf die Konfigurationsdaten der verschiedenen Einheiten der Netzwerktopologie 305 und das Sammeln derselben zu erlauben.
  • Mittels der Scripte, Tests und anderer Erkennungs-Tools 310 können Konfigurationsdaten von den verschiedenen Einheiten der Netzwerktopologie 305 gewonnen und an die Datensammel- und -filtersteuerkomponente 320 weitergeleitet werden. Die Datensammel- und -filtersteuerkomponente 320 filtert die gesammelten Konfigurationsdaten auf der Grundlage vorgegebener Regeln der Datensammel- und -filtersteuerkomponente 320 nach interessierenden Konfigurationsdaten und ordnet die Speicherung der gefilterten Daten in der Datenbank 330.
  • Die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen analysiert die in der Datenbank 330 gespeicherten Daten, um Muster zu erkennen, die die Existenz von Einheiten anzeigen, die ansonsten unter den normalen Einschränkungen eines Erkennungsprozesses nur schwer erkennbar sind, z.B. Lastausgleichsfunktionen, Firewalls und andere Typen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken, insbesondere von Lastausgleichsfunktionen bei der beispielhaften Ausführungsform. Dem Wesen nach erstrecken sich diese Muster auf die Konfiguration von einzelnen Einheiten (z.B. Konfigurationen von Server-Loopback-Schnittstellen) bis hin zur Verteilung von Eigenschaften auf mehrere Einheiten (z.B. mehrere Host-Computer auf einem einzigen Teilnetz mit verschiedenen Standard-Gateways). Die Verwendung einer Kombination solcher Muster ist von Vorteil, um nach und nach den Standort gesuchter Einheiten wie beispielsweise Lastausgleichsfunktionen, Firewalls oder dergleichen wirksam zu ermitteln.
  • Gemäß der obigen Erörterung ist ein direktes Testen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise von Lastausgleichsfunktionen und Firewalls nicht immer für Erkennungszwecke geeignet. Ein Erkennen von Mustern zwischen den Konfigurationen von Einheiten kann jedoch ein Hinweis auf „Zusammenhänge“ zu Lastausgleichsfunktionen, Firewalls und dergleichen sein. Insbesondere verwendet die heuristische Steuerkomponente 340 der anschaulichen Ausführungsformen zum Erkennen von Lastausgleichsfunktionen ein oder mehrere heuristische Analyseverfahren für Gruppen von Einheiten und/oder für eine oder mehrere einzelne Einheiten, um die Wahrscheinlichkeit abzuschätzen, dass eine Gruppe von Host-Computern Ressourcen für eine oder mehrere Lastausgleichsfunktionen bereitstellt.
  • Vor der detaillierten Beschreibung der Art und Weise, wie die verschiedenen heuristische Analyseverfahren durch die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen umgesetzt werden, werden zuerst die den heuristischen Analyseverfahren zugrunde liegenden Grundgedanken beschrieben.
  • Analysieren von Gateway-Zuweisungen in einem Teilnetz
  • Ein Analysieren der Gateway-Zuweisungen einer Gruppe von Host-Systemen in demselben Teilnetz der Netzwerktopologie 305 kann für ein Vorhersagen der Existenz von Lastausgleichsfunktionen oder anderen transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken von Nutzen sein. In Unternehmen werden Lastausgleichsfunktionen für gewöhnlich unter Verwendung verschiedener herkömmlicher Netzwerkkonfigurationen und Paketdatenflüsse installiert. In 4 ist zum Beispiel eine Netzwerkkonfiguration veranschaulicht, in der ein Server-Cluster (oder eine Server-Farm) 410, der Server-Datenverarbeitungseinheiten 402 und 404 aufweist, über einen L2-Switch 420 mit einer Lastausgleichsfunktion 430 verbunden ist. Der Server-Cluster 410 befindet sich in einem von dem Leitwegrechner 440 getrennten Netzwerk. Bei der Adresse für die durch die Server-Datenverarbeitungseinheiten 402 und 404 bereitgestellten Dienste handelt es sich um eine virtuelle IP-Adresse (VIP) der Lastausgleichsfunktion 430, sodass für über den Leitwegrechner 440 weitergeleitete Client-Anforderungen die VIP-Adresse der Lastausgleichsfunktion 430 verwendet wird. Sobald die Lastausgleichsfunktion 430 eine Anforderung von einem Client über den Leitwegrechner 440 empfängt, verwendet die Lastausgleichsfunktion 430 eigene Netzwerkadressumsetzungs-(network address translation, NAT) Strukturen, um die Zieladresse der Anforderung für einen der Server 402, 404 in dem Server-Cluster 410 umzusetzen.
  • Wenn die Anforderungen bei den Servern 402, 404 ankommen, weisen sie als Zieladresse die IP-Adresse der Server 402, 404 und als Quellenadresse die IP-Adresse des Client auf. Aufgrund dieser Adressumsetzung können die Server 402, 404 die Antwortpakete nicht direkt an den Client zurücksenden, da der Client eine Antwort von der ursprünglichen VIP erwartet, an die die Anforderung gesendet wurde. Deshalb müssen die Server 402, 404 das Paket an die Lastausgleichsfunktion 430 zurücksenden, die dann die Netzwerkadressumsetzung wieder umkehrt und die Antwortpakete an den Client zurücksendet, der die Anforderung gesendet hat. Zum Erreichen dieses Leitwegmusters muss die Lastausgleichsfunktion 430 auf den Servern 402, 404 als Standard-Gateway konfiguriert werden. Andere Server in demselben Teilnetz ohne Lastausgleich würden als Standard-Gateway direkt den Leitwegrechner 440 des Teilnetzes verwenden. Wenn ein Erkennungsmechanismus in der Lage ist, ein Teilnetz mit mehr als einem Standard-Gateway zu erkennen, kann dies somit auf die Verwendung einer Lastausgleichsfunktion wie beispielsweise der Lastausgleichsfunktion 430 hinweisen.
  • Distanzabhängiges Bilden von Server-Clustern
  • Ebenso wie das Suchen nach bestimmten Konfigurationen von Lastausgleichsfunktionen, beispielsweise nach mehreren Standard-Gateways, kann durch die Mechanismen zum Erkennen von Lastausgleichsfunktionen der anschaulichen Ausführungsformen ein allgemeinerer Ansatz zum Erkennen von Servern umgesetzt werden, die sich möglicherweise in einem Cluster befinden, in dem eine Lastausgleichsfunktion verwendet wird. Zuerst können Server-Cluster ermittelt und diese dann nach Lastausgleichsfunktionen durchsucht werden. Gemäß den anschaulichen Ausführungsformen können Bewertungsgrößen eingeführt werden, die Ähnlichkeiten der Konfiguration anzeigen, wie sie zwischen Servern vorkommen, die denselben Dienst (über eine Lastausgleichsfunktion) bereitstellen. Im Extremfall bestehen Server-Cluster aus identischen Servern. In den Fällen, da zur Verbesserung der Sicherheit und der Elastizität von Diensten Lastausgleichsfunktionen verwendet werden, kann der Server-Cluster aus verschiedenen Hardware- und/oder Softwareprodukten bestehen, die denselben Dienst bereitstellen. In den meisten Fällen verwenden Server-Cluster jedoch identische (oder sehr ähnliche) Hardware und Software, allein damit die Verwaltung so einfach wie möglich bleibt.
  • Durch Definieren von Distanzwerten zwischen den Servern können mittels der anschaulichen Ausführungsformen Server-Cluster ermittelt werden, d.h., Server mit einem relativ kleineren Distanzwert zwischen den Servern gehören mit höherer Wahrscheinlichkeit zu einem Server-Cluster als andere Server mit einem relativ höheren Distanzwert. Außerdem kann ein Schwellenwert festgelegt werden, um einen Distanzwert zu definieren, der zum Anzeigen eines Server-Clusters erforderlich ist. Gemäß einer anschaulichen Ausführungsform wird der „Distanzwert“ in Abhängigkeit davon ermittelt, wie stark der Name einer Server-Datenverarbeitungseinheit abweicht. Das heißt, die „Distanz“ zwischen den Server-Datenverarbeitungseinheiten bemisst sich danach, wie stark sich die Namen der Server-Datenverarbeitungseinheiten voneinander unterscheiden. Somit gehören Server-Datenverarbeitungseinheiten mit sehr ähnlichen Namen mit hoher Wahrscheinlichkeit zu demselben Teilnetz und somit zu demselben Server-Cluster.
  • Ein Beispiel eines Mechanismus, der zum Berechnen eines Distanzwertes verwendet werden kann, wird beschrieben in Levenshtein, „Binary Codes Capable of Correcting Deletions, Insertions, and Reversals", Soviet Physics Doklady, Bd. 10, Nr. 8, (1966), S. 707 bis 710. Auch andere Algorithmen wie beispielsweise der in Wagner et al., „The String-to-String Correction Problem", Journal of the ACM, Bd. 21, Nr. 1, 1974, S. 168 bis 173, beschriebene Algorithmus können verwendet werden, ohne vom Wesensgehalt und vom Schutzumfang der anschaulichen Ausführungsformen abzuweichen. Diese Dokumente sind durch Bezugnahme hierin aufgenommen.
  • Grundsätzlich kann jeder Algorithmus zum Zuweisen eines Distanzwertes verwendet werden, der davon ausgeht, wie stark eine Zeichenfolge oder ein Name „geändert“ werden muss, um mit einer anderen Zeichenfolge oder einem anderen Namen identisch zu sein. Somit stellt der Distanzwert ein Maß für den Unterschied zwischen zwei oder mehr Zeichenfolgen/Namen dar, die einer Server-Datenverarbeitungseinheit zugehörig sind. Gemäß einer anschaulichen Ausführungsform handelt es sich um eine gewichtete Levenshtein-Distanz für den Servernamen und/oder die Distanz von offenen Anschlüssen, d.h. die Distanz zwischen Anschlussnummern der verschiedenen Server-Datenverarbeitungseinheiten. Das heißt, die Distanz zwischen Namen kann sich nach der Levenshtein-Distanz richten, die die erforderliche Anzahl von Änderungen erfasst, um eine Zeichenfolge oder einen Namen in eine andere Zeichenfolge oder einen anderen Namen zu ändern. Unter Verwendung eines beispielhaften Distanzalgorithmus wie beispielsweise des von Levenshtein und Wagner beschriebenen Algorithmus weisen die Namen „Web01“ und „Web02“ eine Distanz von 1 auf, während die Distanz zwischen „Web01“ und „Wef01“ gleich 2 und zwischen „Web01“ und „Mikeo1“ gleich 8 ist. Im ersten Fall weist der Zifferntausch eine Gewichtung von 1 auf, sodass die Distanz gleich 1 ist, da nur 1 Zeichen ausgetauscht werden muss. Im zweiten Fall werden Buchstaben gegeneinander ausgetauscht, was einer Gewichtung von 2 und einer Distanz von 2 entspricht. Im dritten Fall werden drei Buchstaben ausgetauscht und ein Buchstabe eingefügt mit einer Gewichtung von jeweils 2, woraus sich eine Distanz von 8 ergibt.
  • Da die anschaulichen Ausführungsformen zum Beispiel unter Verwendung des gewichteten Levenshtein-Algorithmus nicht nach Schreibfehlern, sondern nach Gruppierungen von Namen suchen, werden mit den anschaulichen Ausführungsformen Umkehrungen nicht als eine, sondern als zwei Operationen gezählt (gewichtet), und Ersetzungen einer Ziffer durch eine andere Ziffer werden nur halb so hoch gewertet wird Einfügungen, Löschungen oder andere Ersetzungen. Ein Algorithmus zum Berechnen eines solchen Levenshtein-Distanzwertes dieser Art kann darin bestehen, eine geänderte Form des in Wagner et al., „The String-to-String Correction Problem", Journal of the ACM, Bd. 21, Nr. 1, 1974, S. 168 bis 173, beschriebenen Algorithmus zu verwenden.
  • Die Distanz zwischen Listen von offenen Anschlüssen wird getrennt auf den bekannten Anschlüssen (0 bis 1023) und für die restlichen Anschlussnummern berechnet. Das Verhältnis der gemeinsamen Anschlüsse zur Gesamtzahl der offenen Anschlüsse auf der Server-Datenverarbeitungseinheit wird für jede Gruppe verwalteter Server gewichtet, die einen einzigen Dienst unterstützen, der eine Lastausgleichsfunktion zum Bereitstellen einer benutzerseitigen Einheit verwendet (z.B. 80/20 zugunsten der Universalanschlüsse, da bekannte Anschlüsse wahrscheinlich eher durch angeschlossene Datenverarbeitungseinheiten gemeinsam genutzt werden), um einen Distanzwert zu erzeugen, beispielsweise einen Wert zwischen null und hundert. Das heißt, dass die Server-Datenverarbeitungseinheiten innerhalb eines Server-Clusters dazu neigen, einige offene Anschlüsse bereitzuhalten. Wenn das Verhältnis gemeinsamer Anschlüsse zur Gesamtzahl der offenen Anschlüsse auf einer Reihe von Server-Datenverarbeitungseinheiten größer ist, zeigt dies somit an, dass sich die Server-Datenverarbeitungseinheiten innerhalb ein und desselben Server-Clusters befinden.
  • Die Anschlussdistanz und die Servernamendistanz können miteinander verknüpft werden, um einen Distanzwert zu erzeugen, der für die Ähnlichkeit zwischen Servern kennzeichnend ist und einen Hinweis auf die mögliche Existenz einer Lastausgleichsfunktion liefert. Zum Beispiel sei angenommen, dass alle Servernamen „Web1“ und „Web2“ und „DatabaseHost“ Dienste auf den Anschlüssen 80 und DatabaseHost zusätzlich einen Dienst auf dem Anschluss 50000 ausführen. Die ersten beiden Server „Web1“ und „Web2“ benutzen ein Anschluss gemeinsam, was an sich nicht unbedingt auf die Existenz einer Lastausgleichsfunktion hinweist, jedoch sind ihre Namen (bis auf eine Ziffer) sehr ähnlich, sodass sie möglicherweise in einem Cluster zusammenarbeiten können. Der dritte Server „DatabaseHost“ weist einen sehr verschiedenen Namen auf und führt einen Dienst auf einem Anschluss im Benutzerraum aus, der auf die beiden anderen nicht zutrifft, sodass dieser wahrscheinlich nicht gemeinsam mit den beiden anderen Servern zu einem Cluster gehört. Durch Suchen nach der Ähnlichkeit zwischen den Namen und den Anschlüssen können die Mechanismen der anschaulichen Ausführungsformen somit ableiten oder vorhersagen, ob es in Verbindung mit den Server-Datenverarbeitungseinheiten wahrscheinlich eine Lastausgleichsfunktion oder einen anderen Typ von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken gibt.
  • Die Distanzeigenschaften der Servernamen und Anschlüsse liefern zwar eine gute erste Vorhersage für ein Vorliegen von Server-Clustern mit Lastausgleich, jedoch können auch andere Eigenschaften zum Beschreiben von Maschinenfunktionen verwendet werden, das Vorhandensein eines Server-Clusters anzeigen. Zum Beispiel können andere Distanzwerte verwendet werden, darunter eine Distanz in der Verzeichnisstruktur, eine Distanz zwischen installierten Anwendungen und Betriebssystemen und eine Distanz in einer Datenbanktabelle (und Kardinalität) (insbesondere bei großen Tabellen und nur wenigen anderen installierten Anwendungen).
  • Dabei handelt es sich um Beispiele von heuristischen Analyseverfahren für mehrere Einheiten, die durch die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen umgesetzt werden können, um das Vorhandensein und/oder den Standort von Lastausgleichsfunktionen in einer Netzwerktopologie 305 vorherzusagen. Ein oder mehrere dieser heuristischen Analyseverfahren können verwendet werden, um eine relative Bewertungszahl oder einen Konfidenzwert für die Existenz/den Standort einer Lastausgleichsfunktion in Bezug auf eine bestimmte Gruppe von Einheiten in der Netzwerktopologie 305 zu erzeugen. Diese Bewertungszahl oder dieser Konfidenzwert kann dazu verwendet werden, Benachrichtigungen darüber zu senden, ob es in der Netzwerktopologie 305 eine Lastausgleichsfunktion gibt, und möglichst den Standort der Lastausgleichsfunktion mitzuteilen.
  • Zusätzlich zu den heuristischen Analyseverfahren für mehrere Einheiten oder alternativ kann die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen heuristische Analyseverfahren für einzelne Einheiten verwenden, um Informationen über die mögliche Existenz und den Standort von Lastausgleichsfunktionen in der Netzwerktopologie 305 zu gewinnen. Diese heuristischen Analyseverfahren für einzelne Einheiten können ein Analysieren von Loopback- (Rückschleifen-) Netzwerkschnittstellen von Servern und/oder ein Analysieren von Gateway-MAC-Adressen umfassen, was im Folgenden beschrieben wird.
  • Analysieren von Loopback-Netzwerkschnittstellen von Servern
  • Bei einer Loopback-Schnittstelle handelt es sich um einen Mechanismus zum Weiterleiten von elektronischen Signalen, digitalen Datenströmen oder Flüssen von Datenobjekten von deren Ursprungseinheit zurück zu der Quelle, ohne dass eine Verarbeitung oder Veränderung beabsichtigt ist. Loopback-Schnittstellen können zum Testen der Übertragungs- oder Transportinfrastruktur und zum Ausführen von Verwaltungsoperationen verwendet werden. In der Internetprotokollversion 4 (IPv4) weist die gebräuchlichste Loopback-Schnittstelle die IP-Adresse 127.0.0.1 auf. Die anderen Loopback-Schnittstellen ohne die Adresse 127.0.0.1 sind nicht gebräuchlich, können jedoch vorkommen, wenn eine Lastausgleichsfunktion im direkten Routingmodus verwendet wird. In diesem Modus empfängt eine Lastausgleichsfunktion Anforderungen von den Clients und leitet diese an Server auf demselben Teilnetz weiter, indem sie die Ziel-MAC-Adresse ändert. Die Server weisen die IP-Adresse des Dienstes auf, der durch die auf der Loopback-Schnittstelle konfigurierten Server bereitgestellt wird.
  • 5 zeigt, dass Server sowohl auf die virtuelle IP-Adresse (VIP) als auch auf die reale IP-Adresse (RIP) auf der Transportschicht antworten, aber nur für die RIP Adressauflösungsprotokoll- (Address Resolution Protocol, ARP) Antworten senden. Das heißt, ARP-Antworten werden gesendet, damit andere Datenverarbeitungseinheiten in derselben Rundsendezone (Teilnetz) eine MAC-(Media Access Control, MAC) Adresse einer IP-Adresse zuordnen können. Wenn zwei Datenverarbeitungseinheiten auf ihren physischen Schnittstellen dieselbe IP-Adresse verwenden und auf ARP-Anforderungen antworten müssten, würde das Netzwerkverhalten undefiniert werden (dies käme einer Fehlkonfiguration gleich). Der gesamte Verkehr an diese Adresse sollte stattdessen zu einer Lastausgleichsfunktion geleitet werden, sodass die Lastausgleichsfunktion als einzige Einheit auf ARP-Anforderungen antwortet. Darüber hinaus werden in Server-Clustern durch Konfigurieren einer gemeinsamen Adresse auf einer Loopback-Einheit keine ARP-Antworten gesendet, da die Loopback-Einheit mit keinem physischen Netzwerk verbunden ist, während die übergeordneten Einheiten die Adresse als lokale Adresse erkennen können und daher auf die dieser Adresse zugehörigen Anforderungen antworten. Wenn diese Konfigurationen somit abgeleitet werden können, beispielsweise durch die Mechanismen der anschaulichen Ausführungsformen, kann die Existenz von Lastausgleichsfunktionen genau vorhergesagt werden.
  • In 5 sind die Server 502 und 504 mit den RIP-Adressen 192.168.1.10 beziehungsweise 192.168.1.11 sowie mit der VIP-Adresse 192.168.1.50 konfiguriert. In 5 handelt es sich bei diesem Beispiel bei Einheiten mit einem Namen vom Typ „Lo0“ um Loopback-Einheiten. 5 zeigt, dass die Server 502 und 504 des mit dem Switch 520 verbundenen Server-Clusters 510 dieselbe VIP-Adresse 192.168.1.50 wie die Lastausgleichsfunktion 530 des Servers verwenden. Wenn eine Client-Anforderung über den Leitwegrechner 540 durch den Switch 520 empfangen wird, wird diese somit auf der Grundlage der VIP an die Lastausgleichsfunktion 530 des Servers weitergeleitet, die die Client-Anforderungen dann an die beiden Server 502 und 504 sendet. Die Server 502 und 504 können dann Antwortpakete über den Switch 520 und den Leitwegrechner 540 an den Client zurücksenden, da sie dieselbe VIP-Adresse aufweisen, von der der Client eine Antwort erwartet.
  • In diesem Fall können die durch die Erkennungs-Tools 310 gesammelten Netzwerkkonfigurationsdaten für die Server 502 und 504 analysiert werden, um zu ermitteln, ob mehr als ein Server dieselben oder hinreichend ähnliche RIP-Adressen oder Loopback-Adressen verwendet, die im Teilnetz 127.0.0.0/8 nicht vorkommen. Das heißt, alle Adressen von 127.0.0.1 bis 127.255.255.255, d.h. das Teilnetz 127.0.0.0/8, sind aktuell in der IPv4-Spezifikation als Loopback-Adressen definiert, sodass das Vorkommen einer Loopback-Einheit in diesem Adressbereich normal ist. In anderen Adressbereichen kommen normalerweise keine Loopback-Einheiten vor. Diese ungewöhnliche Konfiguration einer Loopback-Einheit lässt sich dadurch erklären, dass ARP-Antworten an eine Adresse unterdrückt werden, während die Adresse durch übergeordnete Einheiten weiterhin genutzt werden kann, was auf die Existenz eines Server-Clusters und eine entsprechende Lastausgleichsfunktion hinweist.
  • Zwar kann eine solche Analyse einen Hinweis auf eine mögliche Existenz/einen möglichen Standort einer Lastausgleichsfunktion 530 liefern, jedoch kann dieses Analyseverfahren bei einer solchen Konfiguration aus anderen Gründen falsch positive Ergebnisse liefern. Zur weiteren Verbesserung des Konfidenzwertes kann nach anderen Mustern wie beispielsweise nach ähnlichen Host/DNS-Namen unter Verwendung eines Levenshtein-Algorithmus oder eines anderen Algorithmus gesucht werden, indem zum Beispiel in der Liste aktiver Dienste/offener Anschlüsse durch Vergleichen Server mit ähnlichen aktiven Diensten und/oder offenen Anschlüssen ausfindig gemacht werden, indem geprüft wird, ob sich die Server in demselben Teilnetz befinden, oder dergleichen. Durch eine Kombination einer solchen Analyse kann eine Bewertungszahl oder ein Konfidenzwert berechnet werden, der die Wahrscheinlichkeit anzeigt, dass es in Bezug auf die Server 502, 504 in der Netzwerktopologie 305 eine Lastausgleichsfunktion gibt. Für jede der obigen Eigenschaften kann zum Berechnen einer Komponente der Bewertungszahl ein gewichteter Ansatz verwendet werden, und die resultierende Gesamtbewertungszahl kann mit einem vorgegebenen Schwellenwert verglichen werden, der die Mindestbewertungszahl anzeigt, die zum Ermitteln erforderlich ist, ob möglicherweise eine Lastausgleichsfunktion in Bezug auf die Server 502, 504 in der Netzwerktopologie 305 vorhanden ist.
  • Analysieren von Gateway-MAC-Adressen
  • Zusätzlich oder anstelle der oben erörterten Analyse von Loopback-Adressen und ähnlichen VIP-Adressen und der oben beschriebenen heuristischen Analyse für mehrere Einheiten können mittels der anschaulichen Ausführungsformen ferner die Gateway-MAC-Adressen analysiert werden, um Kenntnisse über die mögliche Existenz/den Standort von Lastausgleichsfunktionen zu erlangen. Das heißt, Lastausgleichsfunktionen sind üblicherweise virtuelle IP- und MAC-Adressen zugewiesen, um neben anderen Funktionen die Redundanz für Failover-Konfigurationen zu unterstützen. Im Gegensatz zu früheren heuristischen Analyseverfahren, die hauptsächlich mit Lastausgleichsfunktionen verbundene Server zu erkennen versuchen, kann es daher von Vorteil sein, solche Daten zum direkten Erkennen von Lastausgleichsmaschinen zu verwenden. Da es keine (zuverlässigen) Mittel zum Erkennen von virtuellen IP-Adressen gibt, liegt das Schwergewicht der anschaulichen Ausführungsformen auf dem Erkennen virtueller oder lokal verwalteter MAC-Adressen, um potenzielle Lastausgleichsfunktionen zu erkennen.
  • Lokal verwaltete MAC-Adressen werden entweder durch einen Netzwerkadministrator oder durch einen internen Algorithmus der Lastausgleichsfunktion selbst erzeugt. In beiden Fällen unterscheiden sich diese Adressen insofern von allgemein verwalteten Adressen (d.h. solchen, die eindeutige Verwaltungskennungen enthalten), als das zweithöchstwertige Bit des höchstwertigen Bytes der Adresse nicht gleich 0, sondern gleich 1 gesetzt wird. Eine weitere Vereinbarung, die für einige Lastausgleichsfunktionen gilt, betrifft das Muster der beiden höchstwertigen Bytes der MAC-Adresse: 02-bf (oder 01-bf oder 03-bf). Hier zeigt das erste Byte den Typ der Lastausgleichskonfiguration an (IGMP, unidirektionales Senden oder selektives Rundsenden), und das zweite Byte dient als Platzhalter für den Server mit Lastausgleich, der eine Client-Anforderung verarbeitet. Durch das zweite MAC-Muster sollte eine Einheit zwar als Lastausgleichsfunktion erkannt werden, jedoch ist nicht sicher, dass das Muster immer verwendet wird. Daher kann auch ein Suchen nach dem ersten Muster von Nutzen sein, obwohl die Existenz einer Lastausgleichsfunktion nicht sicher erkannt werden kann, solche Muster in lokal verwalteten MACs können für andere Einheiten wie beispielsweise für redundante Leitwegrechner verwendet werden. Durch Suchen nach diesem Muster in den MACs der Host-Gateways, die Gruppen von Servern gemäß dem oben beschriebenen Clusterbildungsalgorithmus zugehörig sind, kann der Konfidenzwert für das Erkennen von Lastausgleichsfunktionen erhöht werden. Das heißt, bestimmte Adressbereiche, die einer Funktionalität von Lastausgleichsfunktionen zugehörig sind, zeigen nicht mit Sicherheit die Existenz einer Lastausgleichsfunktion an, liefern jedoch wertvolle Hinweise darauf, dass eine Lastausgleichsfunktion vorhanden sein kann, und können als Grundlage für fundierte Vorhersagen in Bezug auf die Existenz einer Lastausgleichsfunktion dienen.
  • Auflösen mehrerer IP-Adressen zu einer MAC-Adresse
  • Ein weiterer Hinweis auf die Existenz einer Lastausgleichsfunktion ergibt sich aus einer Konfiguration, in der mehrere IP-Adresse zu ein und derselben MAC-Adresse aufgelöst werden. Das heißt, Lastausgleichsfunktionen bieten oft mehrere Dienste unter verschiedenen IP-Adressen aus ein und demselben Teilnetz an. Zum Beispiel kann eine Lastausgleichsfunktion einem externen Netzwerk, dem Client-Datenverarbeitungseinheiten zugehörig sind, mehrere Dienste mit jeweils den folgenden IP-Adressen anbieten: IP1=192.168.1.50, IP2=192.168.1.51, IP3=192.168.1.52, IP4=192.168.1.53, IP5=192.168.1.54,... In diesem Fall weist jeder Dienst eine andere IP-Adresse auf, die jedoch alle zu ein und demselben Teilnetz gehören.
  • Somit besteht ein weiteres heuristisches Analyseverfahren, das durch die Mechanismen der anschaulichen Ausführungsformen verwendet werden kann, darin, in den ARP-Tabellen auf Leitwegrechnern und Servern der Netzwerktopologie 205 nach Fällen zu suchen, in denen mehrere IP-Adressen zu ein und derselben MAC-Adresse aufgelöst werden. Dadurch können entweder virtuelle Host-Computer oder Lastausgleichsfunktionen erkannt werden. Dieses heuristische Analyseverfahren kann somit verwendet werden, um weitere Erkenntnisse über die mögliche Existenz/den Standort einer Lastausgleichsfunktion in der Netzwerktopologie zu gewinnen. Mittels dieses heuristischen Analyseverfahrens kann, wenn dieses allein oder in Kombination mit einem oder mehreren der anderen oben erwähnten heuristischen Analyseverfahren eingesetzt wird, eine Bewertungszahl oder ein Konfidenzwert bereitgestellt werden, anhand dessen festgestellt werden kann, ob es in der Netzwerktopologie 305 eine Lastausgleichsfunktion gibt, und sogar der wahrscheinlichste Standort der Lastausgleichsfunktion innerhalb der Netzwerktopologie 305 ermittelt werden.
  • Bezug nehmend wiederum auf 3 verwendet die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen ein oder mehrere der oben beschriebenen heuristischen Analyseverfahren und/oder andere heuristische Analyseverfahren zum Durchsuchen der von Einheiten in der Netzwerktopologie 305 gesammelten Konfigurationsdaten, um in den Konfigurationsdaten Muster wie die oben beschriebenen zu erkennen, die auf die Existenz/den Standort einer Lastausgleichsfunktion oder einer anderen transparenten Einheit zum Abfangen von Netzwerkkommunikation wie beispielsweise einer Firewall oder dergleichen hinweisen. Die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen kann dann eine Bewertungszahl oder einen Konfidenzwert für Teile der Netzwerktopologie 305 wie beispielsweise für jede Einheit, Gruppen von Einheiten, definierte Bereiche der Netzwerktopologie 305 wie beispielsweise Teilnetze und dergleichen erzeugen, die dann mit einem oder mehreren Schwellenwerten verglichen werden können. Für die Schwellenwerte können durch einen Systemadministrator oder einen anderen berechtigten Benutzer Werte festgelegt werden, die einem Mindestkonfidenzwert entsprechen, der zum Anzeigen der Existenz/des Standorts einer Lastausgleichsfunktion erforderlich ist. Auf der Grundlage des Vergleichs der Bewertungszahl oder des Konfidenzwertes mit dem einen oder den mehreren Schwellenwerten ermittelt die heuristische Steuerkomponente 340 zum Erkennen von Lastausgleichsfunktionen, ob eine Benachrichtigung, dass eine Lastausgleichsfunktion erkannt worden ist, an die Benutzer-Datenverarbeitungseinheit 360 oder ein automatisiertes System 370 gesendet werden soll.
  • Wenn dies der Fall ist, wird eine Benachrichtigung erzeugt und an die Datenverarbeitungseinheiten 360, 370 gesendet. Die Benachrichtigung kann eine Mitteilung, dass es wahrscheinlich eine Lastausgleichsfunktion gibt, ein Erkennen des Teils der Netzwerktopologie 305, in dem die Lastausgleichsfunktion mit hoher Wahrscheinlichkeit gefunden wurde, aufweisen, wobei es sich je nach dem Auflösungsgrad des/der heuristischen Analyseverfahren bei der Suche nach Konfigurationsdaten, die auf die Existenz einer Lastausgleichsfunktion hinweisen, um einen Bereich in der Netzwerktopologie 305 oder sogar eine bestimmte Einheit in der Netzwerktopologie 305 handeln kann. Außerdem kann die Bewertungszahl oder der Konfidenzwert zur weiteren Verwendung an den Benutzer und/oder einen automatisierten Mechanismus der Datenverarbeitungseinheiten 360, 370 übermittelt werden. Der Benutzer und/oder der automatisierte Mechanismus der Datenverarbeitungseinheiten 360, 370 kann dann überprüfen, ob es an dem Standort/in dem Bereich der Netzwerktopologie 305, der in der Benachrichtigung mitgeteilt wurde, eine Lastausgleichsfunktion gibt. Dazu können eine manuelle Überprüfung, eine automatisierte Überprüfung und Analysemechanismen oder dergleichen gehören. Auf der Grundlage dieser Überprüfung kann festgestellt werden, ob die Anwendung des heuristischen Analyseverfahrens zu genauen Ergebnissen führt. Wenn dies nicht der Fall ist, können durch Rückkopplungsmechanismen Änderungen an den in den heuristischen Analyseverfahren verwendeten Parametern, den verwendeten heuristischen Analyseverfahren oder dergleichen wie beispielsweise den in den heuristischen Analyseverfahren verwendeten Gewichtungen, der jeweiligen Kombination verwendeter heuristischer Analyseverfahren usw. vorgenommen werden.
  • Nach dem Erkennen der Existenz/des Standorts einer Lastausgleichsfunktion können weitere Operationen zur Verwaltung des Netzwerks ausgeführt werden. Zum Beispiel kann bei Verlagerungsoperationen der Standort der Lastausgleichsfunktion dazu dienen, die Verlagerung der Lastausgleichsfunktion zusammen mit den verwalteten Ressourcen wie z.B. Anwendungen, Server usw. als komplette Einheit zu erleichtern, die der Lastausgleichsfunktion zugehörig sind.
  • Somit stellen die anschaulichen Ausführungsformen Mechanismen zum Analysieren von Mustern in Netzwerkkonfigurationsdaten bereit, die durch Erkennungs-Tools gesammelt wurden und auf die Existenz/den Standort von transparenten Einheiten zum Abfangen von Netzwerkkommunikation wie beispielsweise Lastausgleichsfunktionen, Firewalls oder dergleichen hinweisen. Auf der Grundlage dieser Analyse werden die Wahrscheinlichkeit für die Existenz sowie der Standort solcher Einheiten berechnet und zum Senden von Benachrichtigungen an Benutzer/automatisierte Mechanismen verwendet, damit diese Operationen zur Verwaltung des Netzwerks wie beispielsweise Verlagerungsoperationen oder dergleichen ausführen.
  • 6 ist ein Ablaufplan, der eine beispielhafte Operation einer heuristischen Steuerkomponente zum Erkennen von Lastausgleichsfunktionen gemäß einer anschaulichen Ausführungsform darlegt. Die Operation in 6 beginnt mit dem Gewinnen von Konfigurationsdaten von Einheiten einer Netzwerktopologie unter Verwendung eines oder mehrerer Erkennungs-Tools (Schritt 610). Dazu kann zum Beispiel ein Sammeln von Daten über Netzwerkschnittstellen von Teilnetzeinheiten und über Standard-Gateways, von Daten über das Dateisystem von Teilnetzeinheiten und über Anwendungsregister und dergleichen gehören. Diese Daten werden einer oder mehreren heuristischen Analyseverfahren für die Analyse der Netzwerkkonfiguration und heuristischen Analyseverfahren zur Analyse von Server-Clustern zugeführt (Schritt 620), die auf die gesammelten Daten der Netzwerkkonfiguration angewendet werden, um Muster von Konfigurationsdaten zu erkennen, die auf eine Existenz/einen Standort einer Lastausgleichsfunktion hinweisen (Schritt 630). Diese eine oder mehrere heuristische Analyseverfahren zur Analyse der Netzwerkkonfiguration und heuristische Analyseverfahren zur Analyse von Server-Clustern dienen zum Erkennen eines oder mehrerer der oben beschriebenen Muster. Das heißt, die verschiedenen Muster von Konfigurationsdaten, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise einer Lastausgleichsfunktion, einer Firewall oder dergleichen hinweisen oder Kenntnisse darüber vermitteln, und die Analyselogik zum Erkennen dieser Muster können in diesen heuristischen Analyseverfahren umgesetzt und auf die gesammelten Daten angewendet werden, um einen Übereinstimmungsgrad zwischen den gesammelten Daten und diesen Mustern, Bedingungen und dergleichen zu ermitteln.
  • Auf der Grundlage der Anwendung des einen oder mehrerer heuristischer Analyseverfahren zur Analyse der Netzwerkkonfiguration wird ein Konfidenzwert berechnet (Schritt 640). Bei dem Konfidenzwert kann es sich zum Beispiel um eine Kombination von Konfidenzwerten für jedes einzelne oder mehrere der Analyseverfahren handeln, die auf die Netzwerkkonfigurationsdaten angewendet werden. Diese einzelnen Konfidenzwerte können jeweils auch entsprechend einer relativen Wichtigkeit gewichtet werden, die diesen heuristischen Analyseverfahren in Bezug auf die gesamte Ermittlung der Existenz/des Standorts einer Lastausgleichsfunktion beigemessen wird.
  • Die daraus resultierenden Konfidenzwerte können mit einem oder mehreren vorgegebenen Schwellenwerten verglichen werden (Schritt 650). Wenn der Schwellenwert, einer der Schwellenwerte oder eine Kombination von Schwellenwerten durch den resultierenden Konfidenzwert erreicht oder überschritten sind (Schritt 660), ist eine mögliche Lastausgleichsfunktion erkannt worden (Schritt 670), und eine Benachrichtigung kann erzeugt und an einen berechtigen Benutzer/ein automatisiertes System gesendet werden (Schritt 680). Wenn der Schwellenwert, einer oder mehrere Schwellenwerte oder eine Kombination von Schwellenwerten durch den resultierenden Konfidenzwert nicht erreicht oder überschritten ist, wird festgestellt, dass kein Erkennen stattgefunden hat (Schritt 690), und es wird keine Benachrichtigung gesendet. Damit ist die Operation abgeschlossen.
  • Somit stellen die anschaulichen Ausführungsformen Mechanismen zum Erkennen von Lastausgleichsfunktionen, Firewalls oder von anderen transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken in Computern und von Datenverarbeitungseinheiten/-ressourcen, in denen durch solche Einheiten verwaltete Ressourcen zur Verfügung gestellt werden, auf der Grundlage von Wahrscheinlichkeiten bereit. Mittels der Mechanismen der anschaulichen Ausführungsformen werden Netzwerkkonfigurationsdaten von Einheiten einer Netzwerktopologie, Dateisystem- und Anwendungsregistrierungsdaten von diesen Einheiten der Netzwerktopologie gesammelt und vorgegebene Muster in den gesammelten Daten erkannt. Bei diesen vorgegebenen Mustern kann es sich um heuristische Muster von mehreren Einheiten oder um heuristische Muster von einzelnen Einheiten handeln. Auf der Grundlage der vorgegebenen Muster und einem Übereinstimmungsgrad zwischen den gesammelten Daten und diesen vorgegebenen Mustern wird ein Konfidenzwert berechnet, der die Wahrscheinlichkeit ausdrückt, dass es in einer bestimmten Einheit, einem Bereich, einem Teilnetz oder dergleichen eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken wie beispielsweise eine Lastausgleichsfunktion gibt. Wenn der Konfidenzwert einen oder mehrere definierte Schwellenwerte erreicht oder überschreitet, wird eine Benachrichtigung über das potenzielle Erkennen einer Lastausgleichsfunktion mit einer Wahrscheinlichkeit als Funktion des Konfidenzwertes erzeugt.
  • Die vorgegebenen Muster in den Netzwerkkonfigurationsdaten können die Existenz von identischen IP-Adressen auf mehreren Host-Computern und Loopback-Einheiten beinhalten, die mit beliebigen IP-Adressen konfiguriert sind, die im Teilnetz 127.0.0.0/8 nicht vorkommen. Darüber hinaus können die vorgegebenen Muster in den Netzwerkkonfigurationsdaten Server beinhalten, die einen anderen Gateway als die anderen Server in ihrem Teilnetz oder einen Standard-Gateway verwenden, der nicht als Leitwegrechner fungiert. Darüber hinaus können die vorgegebenen Muster in den Netzwerkkonfigurationsdaten mehrere IP-Adressen beinhalten, die ein und dieselbe MAC-Adresse ergeben, was sich zum Beispiel aus den ARP-Tabellen von Leitwegrechnern und Servern ergeben kann.
  • Außerdem können in bestimmten anschaulichen Ausführungsformen Ähnlichkeiten von Systemeigenschaften in dem Dateisystem, von Anwendungsregistrierungsdaten und offenen Anschlüssen von mehreren Datenverarbeitungseinheiten allein oder in Kombination mit anderen heuristischen Analyseverfahren dazu verwendet werden, einen Konfidenzwert zu erzeugen. Messen der Ähnlichkeit der Systemeigenschaften in dem Dateisystem, der Anwendungsregistrierungsdaten und offenen Anschlüsse von mehreren Computers beinhaltet Messen der Levenshtein-Distanz oder anderer Typen von Distanzwerten zwischen den Namen von Maschinen, Messen der Überlappung installierter Anwendungen (unter Berücksichtigung von Versionen) zwischen Maschinen und Messen der Überlappung von offenen Anschlüssen zwischen Maschinen, wobei gemeinsame und Benutzeranschlüsse unter Verwendung eines Gewichtungssystems unterschiedlich miteinander verglichen werden.
  • Gemäß dem oben Gesagten sollte einsichtig sein, dass die anschaulichen Ausführungsformen zwar in Bezug auf die spezielle Implementierung zum Erkennen der Existenz/des Standorts von Lastausgleichsfunktionen beschrieben werden, dass die anschaulichen Ausführungsformen aber nicht darauf beschränkt sind. Vielmehr können die Mechanismen der anschaulichen Ausführungsformen auch auf andere Typen von transparenten Einheiten zum Abfangen von Netzwerkkommunikation wie beispielsweise Firewalls und dergleichen angewendet werden. Somit sollte die Erfindung nicht als Beschränkung auf das Erkennen/den Standort von Lastausgleichsfunktionen, sondern von allen Einheiten ausgelegt werden, die aufgrund von Sicherheitsmechanismen durch bekannte Erkennungsmechanismen nicht erkennbar sind, aber unter Verwendung der oben beschriebenen heuristischen Analyseverfahren und anderer ähnlicher Mustererkennungsverfahren durch Mustererkennung in Netzwerkkonfigurationsdaten, Datei- und Anwendungsdaten und dergleichen erkannt werden können.
  • Gemäß dem oben Gesagten sollte einsichtig sein, dass die anschaulichen Ausführungsformen die Form einer kompletten Hardwareausführungsform, einer kompletten Softwareausführungsform oder einer Ausführungsform annehmen kann, die sowohl Hardware- als auch Softwareelemente enthält. Gemäß einer beispielhaften Ausführungsform werden die Mechanismen der anschaulichen Ausführungsformen durch einen Software- oder Programmcode realisiert, der, ohne darauf beschränkt zu sein, Firmware, residente Software, Mikrocode usw. beinhaltet.
  • Ein zum Speichern und/oder Ausführen eines Programmcodes geeignetes Datenverarbeitungssystem beinhaltet mindestens einen Prozessor, der durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden ist. Zu den Speicherelementen können ein lokaler Speicher, der unmittelbar während des Ausführens des Programmcodes genutzt wird, Massenspeicher und Cachespeicher gehören, die zum vorübergehenden Speichern zumindest eines Teils des Programmcodes dienen, um während der Ausführung die Anzahl der Zugriffe auf den Code vom Massenspeicher zu verringern.
  • Eingabe/Ausgabe- oder E/A-Einheiten (darunter, ohne darauf beschränkt zu sein, Tastaturen, Bildschirme, Zeigeeinheiten usw.) können entweder direkt oder durch zwischengeschaltete E/A-Steuereinheiten mit dem System verbunden sein. Auch Netzwerkadapter können mit dem System verbunden sein, damit das Datenverarbeitungssystem über zwischengeschaltete private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder fernen Druckern oder Speichereinheiten verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten stellen lediglich einige wenige der gegenwärtig verfügbaren Typen von Netzwerkadaptern dar.
  • Die Beschreibung der vorliegenden Erfindung ist zur Veranschaulichung und Beschreibung vorgelegt worden und erhebt keinen Anspruch auf Vollständigkeit oder Beschränkung auf die Erfindung in der offenbarten Form. Dem Fachmann sind viele Änderungen und Varianten offensichtlich. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und deren praktische Anwendung bestmöglich zu erläutern und anderen Fachleuten das Verständnis für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu ermöglichen, die für die vorgesehene Verwendung geeignet sind.

Claims (18)

  1. Verfahren in einem Datenverarbeitungssystem (200, 300) zum Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken (430, 530) in einer Netzwerktopologie (305), wobei das Verfahren aufweist: Sammeln (610) von Netzwerkkonfigurationsdaten von einer Vielzahl von Einheiten in der Netzwerktopologie; Analysieren (630) der gesammelten Netzwerkkonfigurationsdaten unter Verwendung eines oder mehrerer heuristischer Analyseverfahren zum Erkennen von Mustern in den gesammelten Netzwerkkonfigurationsdaten, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken hinweisen; Berechnen (640) eines Konfidenzwertes auf der Grundlage der Analyse der gesammelten Netzwerkkonfigurationsdaten; und Senden (680) einer Benachrichtigung über eine erkannte Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken an eine Datenverarbeitungseinheit als Reaktion darauf, dass der berechnete Konfidenzwert mindestens einen Schwellenwert erreicht oder überschreitet, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren für mehrere Gateways aufweisen, das eine Zuweisung der Gateway-Datenverarbeitungseinheit eines Teilnetzes zu einer zusammenhängenden Gruppe von Einheiten (410, 510) aus der Vielzahl von Einheiten in der Netzwerktopologie (305) analysiert, um zu erkennen, ob der Gruppe von Einheiten (410, 510) mehr als eine Gateway-Datenverarbeitungseinheit (430, 530) zugehörig ist, und wobei das Berechnen (640) des Konfidenzwertes ein Erhöhen des Konfidenzwertes für die Existenz einer Lastausgleichsfunktion als Reaktion auf das Erkennen eines Teilnetzes mit mehr als einem Standart-Gateway aufweist.
  2. Verfahren nach Anspruch 1, wobei das Analysieren (630) der gesammelten Netzwerkkonfigurationsdaten das Verwenden eines oder mehrerer heuristischer Analyseverfahren zum Erkennen von Mustern in den gesammelten Netzwerkkonfigurationsdaten aufweist: Berechnen eines Musters in den gesammelten Netzwerkkonfigurationsdaten; Vergleichen des berechneten Musters in den gesammelten Netzwerkkonfigurationsdaten mit einem oder mehreren bekannten Mustern, die auf eine Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken hinweisen: und Ermitteln, ob das berechnete Muster innerhalb einer vorgegebenen Toleranz mit mindestens einem oder mehreren bekannten Mustern übereinstimmt.
  3. Verfahren nach Anspruch 1, das aufweist: Empfangen einer Rückmeldung, die anzeigt, ob Ergebnisse der Analyse und der Berechnung des Konfidenzwertes korrekt waren; und Ändern des mindestens einen oder mehrerer heuristischer Analyseverfahren auf der Grundlage der Rückmeldung.
  4. Verfahren nach Anspruch 1, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Distanzanalyseverfahren aufweisen, das eine Differenzdistanz zwischen Namen und/oder Datenübertragungsanschlüssen von Einheiten berechnet, die durch die Vielzahl von Einheiten (410, 510) der Netzwerktopologie (305) genutzt werden, und die Differenzdistanz mit mindestens einem Schwellenwert vergleicht, und wobei das Berechnen des Konfidenzwertes ein Erhöhen des Konfidenzwertes als Reaktion darauf aufweist, dass die Differenzdistanz den mindestens einen Schwellenwert erreicht oder überschreitet.
  5. Verfahren nach Anspruch 4, wobei die Differenzdistanz unter Verwendung eines gewichteten Differenzalgorithmus berechnet wird, der einen Änderungsbetrag berechnet, der zum Ändern eines Server-Namens oder einer Anschlusszuweisung einer ersten Einheit (402, 502) in einen Server-Namen oder eine Anschlusszuweisung einer zweiten Einheit (404, 504) aus der Vielzahl von Einheiten (410, 510) erforderlich ist, und verschiedene Typen von Änderungen mit unterschiedlichen Gewichtungswerten gewichtet.
  6. Verfahren nach Anspruch 1, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Loopback-Analyseverfahren für Netzwerkschnittstellen aufweist, das ermittelt, ob es in der Netzwerktopologie (305) eine Loopback-Einheit mit einer zugehörigen Adresse gibt, die nicht innerhalb eines vorgegebenen Bereichs von Loopback-Adressen enthalten ist, und wobei das Berechnen (640) des Konfidenzwertes ein Erhöhen des Konfidenzwertes als Reaktion darauf aufweist, dass es in der Netzwerktopologie (305) eine Loopback-Einheit mit einer zugehörigen Adresse gibt, die nicht innerhalb eines vorgegebenen Bereichs von Loopback-Adressen enthalten ist.
  7. Verfahren nach Anspruch 1, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren für Gateway-Adressen zum Analysieren von Adressen aufweisen, die den Einheiten (402, 404, 502, 504) in der Vielzahl von Einheiten (410, 510) zugehörig sind, um in den den Einheiten zugehörigen Adressen ein Muster zu erkennen, das anzeigt, dass es sich bei einer zugehörigen Einheit um eine transparente Einheit zum Abfangen von Netzwerkkommunikation (430, 530) handelt.
  8. Verfahren nach Anspruch 7, wobei es sich bei dem Muster in der Adresse um eine spezifische Einstellung für ein höchstwertiges Byte der Adresse auf einen Wert, der darauf hinweist, dass es sich bei der Einheit um eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken und/oder um eine Einstellung der ersten beiden höchstwertigen Bytes der Adresse auf einen Wert handelt, der darauf hinweist, dass es sich bei der Einheit um eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken handelt.
  9. Verfahren nach Anspruch 1, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren zum Auflösen mehrerer Adressen aufweist, das ermittelt, ob eine oder mehrere Datenstrukturen eines oder mehrerer Leitwegrechner (440, 540) in der Vielzahl von Einheiten der Netzwerktopologie (305) zum Auflösen von Adressen Zuordnungen aufweisen, in denen mehrere Netzwerkadressen ein und derselben Einheitenadresse zugeordnet sind, und wobei das Berechnen (640) des Konfidenzwertes ein Erhöhen des Konfidenzwertes als Reaktion darauf aufweist, dass eine oder mehrere Datenstrukturen eines oder mehrerer Leitwegrechner (440, 540) in der Vielzahl von Einheiten der Netzwerktopologie (305) Zuordnungen aufweisen, in denen mehrere Netzwerkadressen ein und derselben Einheitenadresse zugeordnet sind.
  10. Computerprogrammprodukt, das ein computerlesbares Speichermedium (208, 224, 226, 230) mit einem darin gespeicherten computerlesbaren Programmcode aufweist, der bei Ausführung auf einer Datenverarbeitungseinheit (200, 300) diese veranlasst: Netzwerkkonfigurationsdaten von einer Vielzahl von Einheiten in einer Netzwerktopologie (305, 610) zu sammeln; die gesammelten Netzwerkkonfigurationsdaten unter Verwendung eines oder mehrerer heuristisches Analyseverfahren zu analysieren, um in den gesammelten Netzwerkkonfigurationsdaten Muster zu erkennen, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (430, 530, 630) hinweisen; einen Konfidenzwert auf der Grundlage von Ergebnissen der Analyse der gesammelten Netzwerkkonfigurationsdaten zu berechnen (640); und als Reaktion darauf, dass der berechnete Konfidenzwert mindestens einen Schwellenwert erreicht oder überschreitet, eine Benachrichtigung über eine erkannte Existenz einer transparenten Einheit zum Abfangen von Netzwerkkommunikation an eine Datenverarbeitungseinheit zu senden (680), wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren für mehrere Gateways aufweisen, das eine Zuweisung einer Gateway-Datenverarbeitungseinheit eines Teilnetzes zu einer zugehörigen Gruppe von Einheiten (410, 510) in der Vielzahl von Einheiten in der Netzwerktopologie (305) analysiert, um zu erkennen, ob der Gruppe von Einheiten (410, 510) mehr als eine Gateway-Datenverarbeitungseinheit (430, 530) zugehörig ist, und wobei das Berechnen des Konfidenzwertes (640) ein Erhöhen des Konfidenzwertes für die Existenz einer Lastausgleichsfunktion als Reaktion das Erkennen eines Teilnetzes mit mehr als einem Standart-Gateway aufweist.
  11. Computerprogrammprodukt nach Anspruch 10, wobei das computerlesbare Programm ferner die Datenverarbeitungseinheit veranlasst, unter Verwendung eines oder mehrerer heuristischer Analyseverfahren die gesammelten Netzwerkkonfigurationsdaten zu analysieren, um in den gesammelten Netzwerkkonfigurationsdaten Muster zu erkennen (630) durch: Berechnen eines Musters in den gesammelten Netzwerkkonfigurationsdaten; Vergleichen des berechneten Musters in den gesammelten Netzwerkkonfigurationsdaten mit einem oder mehreren bekannten Mustern, die auf eine Existenz einer transparenten Einheit zum Abfangen von Netzwerkkommunikation hinweisen; und Ermitteln, ob das berechnete Muster innerhalb einer vorgegebenen Toleranz mit mindestens einem oder mehreren bekannten Mustern übereinstimmt.
  12. Computerprogrammprodukt nach Anspruch 10, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches DistanzAnalyseverfahren zum Berechnen einer Differenzdistanz eine Differenzdistanz zwischen den Einheitennamen und/oder den durch die Vielzahl von Einheiten (410, 510) der Netzwerktopologie (305) genutzten Datenübertragungsanschlüssen der Einheiten berechnet und die Differenzdistanz mit mindestens einem Schwellenwert vergleicht, und wobei das Berechnen des Konfidenzwertes ein Erhöhen des Konfidenzwertes als Reaktion darauf aufweist, dass die Differenzdistanz den mindestens einen Schwellenwert erreicht oder überschreitet.
  13. Computerprogrammprodukt nach Anspruch 12, wobei die Differenzdistanz unter Verwendung eines gewichteten Differenzalgorithmus berechnet wird, der einen Änderungsbetrag ermittelt, der zum Ändern eines Server-Namens oder einer Anschlusszuweisung einer ersten Einheit (402, 502) in einen Server-Namen oder eine Anschlusszuweisung einer zweiten Einheit (404, 504) in der Vielzahl von Einheiten (410, 510) erforderlich ist, und verschiedene Typen von Änderungen mit unterschiedlichen Gewichtungswerten gewichtet.
  14. Computerprogrammprodukt nach Anspruch 10, wobei die eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Loopback-Analyseverfahren für Netzwerkschnittstellen aufweist, das ermittelt, ob es in der Netzwerktopologie (305) eine Loopback-Einheit mit einer zugehörigen Adresse gibt, die innerhalb eines vorgegebenen Bereichs von Loopback-Adressen nicht enthalten ist, und wobei das Berechnen des Konfidenzwertes (640) ein Erhöhen des Konfidenzwertes als Reaktion auf ein Feststellen aufweist, dass es in der Netzwerktopologie (305) eine Loopback-Einheit mit einer zugehörigen Adresse gibt, die innerhalb eines vorgegebenen Bereichs von Loopback-Adressen nicht enthalten ist.
  15. Computerprogrammprodukt nach Anspruch 10, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren zum Analysieren von Gateway-Adressen aufweist, das den Einheiten 402, 404, 502, 504) in der Vielzahl von Einheiten (410, 510) zugehörige Adressen analysiert, um in den den Einheiten zugehörigen Adressen ein Muster zu erkennen, das anzeigt, dass es sich bei einer zugehörigen Einheit um eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken (430, 530) handelt.
  16. Computerprogrammprodukt nach Anspruch 15, wobei es sich bei dem Muster in der Adresse um eine spezifische Einstellung für ein höchstwertiges Byte der Adresse auf einen Wert, der darauf hinweist, dass es sich bei der Einheit um eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken und/oder um eine spezifische Einstellung der ersten beiden höchstwertigen Bytes der Adresse auf einen Wert handelt, der darauf hinweist, dass es sich bei der Einheit um eine transparente Einheit zum Abfangen von Datenübertragungen in Netzwerken handelt.
  17. Computerprogrammprodukt nach Anspruch 10, wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren zum Auflösen mehrerer Adressen aufweist, das ermittelt, ob eine oder mehrere Datenstrukturen eines oder mehrerer Leitwegrechner (440, 540) in der Vielzahl von Einheiten der Netzwerktopologie (305) zum Auflösen von Adressen Zuordnungen aufweisen, in denen mehrere Netzwerkadressen ein und derselben Einheitenadresse zugeordnet sind, und wobei das Berechnen (640) des Konfidenzwertes ein Erhöhen des Konfidenzwertes als Reaktion darauf aufweist, dass eine oder mehrere Datenstrukturen eines oder mehrerer Leitwegrechner (440, 540) in der Vielzahl von Einheiten der Netzwerktopologie (305) Zuordnungen aufweisen, in denen mehrere Netzwerkadressen ein und derselben Einheitenadresse zugeordnet sind.
  18. Vorrichtung (200, 300), die aufweist: einen Prozessor (206); und einen mit dem Prozessor (206) verbundenen Speicher (208, 224), wobei der Speicher Anweisungen aufweist, die bei Ausführen durch den Prozessor diesen veranlassen: Netzwerkkonfigurationsdaten von einer Vielzahl von Einheiten in einer Netzwerktopologie (305, 610) zu sammeln; die gesammelten Netzwerkkonfigurationsdaten unter Verwendung eines oder mehrerer heuristischer Analyseverfahren zu analysieren, um in den gesammelten Netzwerkkonfigurationsdaten Muster zu erkennen, die auf die Existenz einer transparenten Einheit zum Abfangen von Datenübertragungen in Netzwerken (430, 530, 630) hinweisen; einen Konfidenzwert auf der Grundlage von Ergebnissen der Analyse der gesammelten Netzwerkkonfigurationsdaten zu berechnen (640); und als Reaktion darauf, dass der berechnete Konfidenzwert mindestens einen Schwellenwert erreicht oder überschreitet, eine Benachrichtigung über eine erkannte Existenz einer transparenten Einheit zum Abfangen von Netzwerkkommunikation an eine Datenverarbeitungseinheit zu senden (680), wobei das eine oder die mehreren heuristischen Analyseverfahren ein heuristisches Analyseverfahren für mehrere Gateways aufweisen, das eine Zuweisung einer Gateway-Datenverarbeitungseinheit eines Teilnetzes zu einer zugehörigen Gruppe von Einheiten (410, 510) in der Vielzahl von Einheiten in der Netzwerktopologie (305) analysiert, um zu erkennen, ob der Gruppe von Einheiten (410, 510) mehr als eine Gateway-Datenverarbeitungseinheit (430, 530) zugehörig ist, und wobei das Berechnen des Konfidenzwertes (640) ein Erhöhen des Konfidenzwertes für die Existenz einer Lastausgleichsfunktion als Reaktion das Erkennen eines Teilnetzes mit mehr als einem Standart-Gateway aufweist.
DE112013001446.7T 2012-03-13 2013-03-08 Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken Active DE112013001446B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/418,761 2012-03-13
US13/418,761 US9094309B2 (en) 2012-03-13 2012-03-13 Detecting transparent network communication interception appliances
PCT/US2013/029756 WO2013138168A1 (en) 2012-03-13 2013-03-08 Detecting transparent network communication interception appliances

Publications (2)

Publication Number Publication Date
DE112013001446T5 DE112013001446T5 (de) 2015-01-22
DE112013001446B4 true DE112013001446B4 (de) 2021-01-28

Family

ID=49158734

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013001446.7T Active DE112013001446B4 (de) 2012-03-13 2013-03-08 Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken

Country Status (4)

Country Link
US (1) US9094309B2 (de)
CN (1) CN104169904B (de)
DE (1) DE112013001446B4 (de)
WO (1) WO2013138168A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8236476B2 (en) 2008-01-08 2012-08-07 International Business Machines Corporation Multiple exposure photolithography methods and photoresist compositions
US9559894B2 (en) 2012-08-22 2017-01-31 Oracle International Corporation System and method for supporting high available (HA) network communication in a middleware machine environment
US9350629B2 (en) * 2012-08-22 2016-05-24 Oracle International Corporation System and method for ensuring internet protocol (IP) address and node name consistency in a middleware machine environment
US9444674B2 (en) * 2012-10-02 2016-09-13 Microsoft Technology Licensing, Llc Heuristic analysis of responses to user requests
US10445134B2 (en) * 2014-06-03 2019-10-15 Amazon Technologies, Inc. Identifying candidate workloads for migration
US9369352B1 (en) * 2014-08-07 2016-06-14 Sprint Communications Company L.P. Method of capturing server and operating system metrics for virtual to physical topology reporting
US9652212B2 (en) 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US10833954B2 (en) 2014-11-19 2020-11-10 Battelle Memorial Institute Extracting dependencies between network assets using deep learning
US10713140B2 (en) * 2015-06-10 2020-07-14 Fair Isaac Corporation Identifying latent states of machines based on machine logs
US10523796B2 (en) * 2015-12-22 2019-12-31 Intel Corporation Techniques for embedding fabric address information into locally-administered Ethernet media access control addresses (MACs) and a multi-node fabric system implementing the same
US10666518B2 (en) * 2016-09-09 2020-05-26 Solarwinds Worldwide, Llc Path probing using an edge completion ratio
CN106686085B (zh) * 2016-12-29 2020-06-16 华为技术有限公司 一种负载均衡的方法、装置和系统
US10439985B2 (en) 2017-02-15 2019-10-08 Edgewise Networks, Inc. Network application security policy generation
US10785288B2 (en) * 2017-02-22 2020-09-22 International Business Machines Corporation Deferential support of request driven cloud services
US10637744B2 (en) 2017-04-12 2020-04-28 Battelle Memorial Institute Complementary workflows for identifying one-hop network behavior and multi-hop network dependencies
US10419393B2 (en) * 2017-05-11 2019-09-17 International Business Machines Corporation Using network configuration analysis to improve server grouping in migration
US10713657B2 (en) * 2017-08-01 2020-07-14 Capital One Services, Llc Systems and methods for estimating authenticity of local network of device initiating remote transaction
CN109600761B (zh) * 2017-09-30 2021-01-15 华为技术有限公司 无线通信的方法
WO2019094655A1 (en) * 2017-11-10 2019-05-16 Edgewise Networks, Inc. Automated load balancer discovery
WO2019183522A1 (en) * 2018-03-22 2019-09-26 Akamai Technologies, Inc. Traffic forwarding and disambiguation by using local proxies and addresses
CN108923952B (zh) * 2018-05-31 2021-11-30 北京百度网讯科技有限公司 基于服务监控指标的故障诊断方法、设备及存储介质
US11290334B2 (en) 2018-12-03 2022-03-29 Cisco Technology, Inc. Determining cause of sub-optimal network device performance
US11076027B1 (en) * 2018-12-03 2021-07-27 Amazon Technologies, Inc. Network communications protocol selection based on network topology or performance
US10523549B1 (en) * 2019-06-02 2019-12-31 Cybertoka Ltd Method and system for detecting and classifying networked devices
KR20210063025A (ko) * 2019-11-22 2021-06-01 삼성전자주식회사 통신 시스템에서 네트워크 엘리먼트를 제어하기 위한 서버 및 그의 동작 방법
CN112202593A (zh) * 2020-09-03 2021-01-08 深圳前海微众银行股份有限公司 数据获取方法、装置、网管系统及计算机存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495426A (en) * 1994-01-26 1996-02-27 Waclawsky; John G. Inband directed routing for load balancing and load distribution in a data communication network
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
US6219786B1 (en) 1998-09-09 2001-04-17 Surfcontrol, Inc. Method and system for monitoring and controlling network access
US6556541B1 (en) * 1999-01-11 2003-04-29 Hewlett-Packard Development Company, L.P. MAC address learning and propagation in load balancing switch protocols
CN1913395A (zh) * 2000-08-30 2007-02-14 松下电器产业株式会社 数据传送装置、无线电通信系统及无线电通信方法
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US8037202B2 (en) 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
US7426577B2 (en) * 2003-06-19 2008-09-16 Avaya Technology Corp. Detection of load balanced links in internet protocol netwoks
CA2463562A1 (en) * 2004-04-07 2005-10-07 Alcatel Agent based router monitoring, diagnostic and maintenance
US8689319B2 (en) 2004-04-19 2014-04-01 Sollitionary, Inc. Network security system
US7558261B2 (en) 2004-10-28 2009-07-07 Cisco Technology, Inc. Architecture and method for accessing services in a data center
US7568022B2 (en) 2004-12-14 2009-07-28 International Business Machines Corporation Automated display of an information technology system configuration
JP4523444B2 (ja) 2005-02-10 2010-08-11 富士通株式会社 通信ネットワークにおける障害の原因を特定する障害管理装置および方法
US7787477B2 (en) * 2005-07-11 2010-08-31 Mks Instruments, Inc. Address-transparent device and method
US8756298B2 (en) 2005-12-21 2014-06-17 Cisco Technology, Inc. System for automatic configuration of computers in a server farm
JP3943581B1 (ja) 2005-12-27 2007-07-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 負荷分散システムを検出する装置および方法。
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8589574B1 (en) * 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
CN100463422C (zh) 2006-09-08 2009-02-18 中山大学 一种链路、路径、网络可用带宽测量方法
US8533339B2 (en) 2006-10-13 2013-09-10 Cisco Technology, Inc. Discovering security devices located on a call path and extending bindings at those discovered security devices
US20080205388A1 (en) * 2007-02-22 2008-08-28 Microsoft Corporation Discovery of network devices logically located between a client and a service
US7836171B2 (en) * 2007-03-27 2010-11-16 Verint Americas Inc. Communication link interception using link fingerprint analysis
JP4766023B2 (ja) * 2007-09-28 2011-09-07 ソニー株式会社 Dlna対応機器、dlna接続設定方法およびプログラム
US7970928B2 (en) * 2007-12-17 2011-06-28 Microsoft Corporation Transparent auto-discovery of network devices logically located between a client and server
EP2332328A4 (de) * 2008-08-18 2012-07-04 Ipharro Media Gmbh Bereitstellung von zusätzlichen informationen
US8447881B2 (en) * 2008-09-02 2013-05-21 Microsoft Corporation Load balancing for services
JP2012511292A (ja) * 2008-12-10 2012-05-17 エヌイーシー ヨーロッパ リミテッド 基盤ネットワーク上で少なくとも1つの仮想ネットワークを動作させる方法および仮想ネットワーク環境
EP2244495B1 (de) * 2009-04-20 2012-09-19 Panasonic Corporation Routenoptimierung eines Datenpfades zwischen Kommunikationsknoten unter Verwendung eines Routenoptimierungsagenten
US8073952B2 (en) 2009-04-22 2011-12-06 Microsoft Corporation Proactive load balancing
US8489733B2 (en) * 2010-05-21 2013-07-16 Red Hat, Inc. Automatic enterprise service bus deployment at the level of individual services
US8924705B1 (en) * 2010-09-24 2014-12-30 Revera Systems Method and detection system for detecting encrypted peer-to-peer (EP2P) sessions associated with a particular EP2P network
JP5860670B2 (ja) * 2010-11-05 2016-02-16 インテル コーポレイション Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
US20130160024A1 (en) * 2011-12-20 2013-06-20 Sybase, Inc. Dynamic Load Balancing for Complex Event Processing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Heuristic (computer science). In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 4. März 2012. URL: https://en.wikipedia.org/w/index.php?title=Heuristic_(computer_science)&oldid=480131705 [abgerufen am 09.07.2020] *
JOUKOV, Nikolai [et al.]: Built-to-order service engineering for enterprise IT discovery. In: Services Computing, 2008. SCC'08. IEEE International Conference on. IEEE, 2008. S. 91-98 *
Naive Bayes spam filtering. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 1. März 2012. URL: https://en.wikipedia.org/w/index.php?title=Naive_Bayes_spam_filtering&oldid=479578884 [abgerufen am 09.07.2020] *

Also Published As

Publication number Publication date
WO2013138168A1 (en) 2013-09-19
DE112013001446T5 (de) 2015-01-22
CN104169904B (zh) 2017-08-04
CN104169904A (zh) 2014-11-26
US20130246606A1 (en) 2013-09-19
US9094309B2 (en) 2015-07-28

Similar Documents

Publication Publication Date Title
DE112013001446B4 (de) Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken
Natarajan et al. NSDMiner: Automated discovery of network service dependencies
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe
DE60111089T2 (de) Verfahren und Vorrichtung zum Analysieren von einer oder mehrerer Firewalls
DE112019004913T5 (de) Erfassen von unangemessener aktivität in anwesenheit von nicht authentifizierten api-anforderungen unter verwendung von künstlicher intelligenz
DE60308260T2 (de) Verfahren und Vorrichtung zum effizienten Vergleich von Antworten auf vorher vermittelte Anforderungen durch einen Netzknoten
DE202019103185U1 (de) Verteilte Deduplizierung von Paketen
DE112011103273B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zur Weitergabe von Identitäten über Anwendungsebenen unter Verwendung von kontextabhängiger Zuordnung und gesetzten Werten
US20110016528A1 (en) Method and Device for Intrusion Detection
DE10393571T5 (de) Verfahren und System zum Validieren logischer End-to-End-Zugriffspfade in Storage Area Netzwerken
Gonçalves et al. Big data analytics for detecting host misbehavior in large logs
DE202012013482U1 (de) Verteilung von Zugriffsinformationen auf Overlay-Netzwerken
DE202017105977U1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE112017007393T5 (de) System und verfahren für netzwerkvorrichtungssicherheits- und vertrauenswertbestimmung
CN110177123B (zh) 基于dns映射关联图的僵尸网络检测方法
Tajalizadehkhoob et al. Apples, oranges and hosting providers: Heterogeneity and security in the hosting market
DE112017006993T5 (de) System und Verfahren zum Erfassen einer Netztopologie
DE102022208744A1 (de) Sicherer fernzugriff auf geräte in sich überlappenden subnetzen
DE102019219586A1 (de) Verfahren und System zum Testen eines in Entwicklung befindlichen Systems unter Verwendung realer Transaktionsdaten
Poltavtseva et al. High-performance NIDS architecture for enterprise networking
DE102014225418A1 (de) Verfahren und Vorrichtung zur Überwachung einer Zertifizierungsstelle
DE112020003555B4 (de) Verwaltung von sicherheits-berechtigungsnachweisen für client-anwendungen
DE102021123575A1 (de) Bereitstellen einer internet-of-things-einheit
Mokhov et al. Automating MAC spoofer evidence gathering and encoding for investigations
CN105721626A (zh) 一种dns节点集中管控方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final