DE202019103185U1 - Verteilte Deduplizierung von Paketen - Google Patents

Verteilte Deduplizierung von Paketen Download PDF

Info

Publication number
DE202019103185U1
DE202019103185U1 DE202019103185.9U DE202019103185U DE202019103185U1 DE 202019103185 U1 DE202019103185 U1 DE 202019103185U1 DE 202019103185 U DE202019103185 U DE 202019103185U DE 202019103185 U1 DE202019103185 U1 DE 202019103185U1
Authority
DE
Germany
Prior art keywords
network
data packets
network device
data
instance
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
DE202019103185.9U
Other languages
English (en)
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.)
Gigamon Inc
Original Assignee
Gigamon Inc
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 Gigamon Inc filed Critical Gigamon Inc
Publication of DE202019103185U1 publication Critical patent/DE202019103185U1/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Datenträger mit darauf gespeicherten Daten, oder Daten repräsentierende Signalsequenz, die ausgebildet ist, um über ein Computernetzwerk übertragen zu werden, wobei die Daten Programmanweisungen repräsentieren, die bei Ausführung durch ein System, das einen oder mehrere Prozessoren beinhaltet, das System veranlassen, Operationen durchzuführen, die beinhalten:
Empfangen von virtualisiertem Verkehr an einem ersten Eingangsanschluss einer ersten Netzwerksichtbarkeitseinrichtung;
Trennen des virtualisierten Verkehrs in
einen ersten Satz von Datenpaketen, die eine erste Eigenschaft gemeinsam haben, wobei der erste Satz durch eine erste Instanz eines Deduplizierungsprogramms zu untersuchen ist, das in der ersten Netzwerksichtbarkeitseinrichtung ausgeführt wird, und
einen zweiten Satz von Datenpaketen, die eine zweite Eigenschaft gemeinsam haben, wobei der zweite Satz durch eine zweite Instanz eines Deduplizierungsprogramms zu untersuchen ist, das in einer zweiten Netzwerksichtbarkeitseinrichtung ausgeführt wird,
Empfangen eines dritten Satzes von Datenpaketen an einem zweiten Eingangsanschluss der ersten Netzwerksichtbarkeitseinrichtung;
Bestimmen, dass alle Datenpakete in dem dritten Satz die erste Eigenschaft gemeinsam haben;
Weiterleiten aller Datenpakete des ersten Satzes und aller Datenpakete des dritten Satzes an die erste Instanz des Deduplizierungsprogramms zur Prüfung; und
Weiterleiten aller Datenpakete des zweiten Satzes an einen Ausgangsanschluss zur Übertragung an die zweite Netzwerksichtbarkeitseinrichtung.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Verfahren zum Eliminieren von Duplikaten von Datenpaketen, die in Netzwerkverkehr enthalten sind, der durch mehrere Netzwerksichtbarkeitseinrichtungen empfangen wird.
  • HINTERGRUND
  • Datenverkehr (oder einfach „Verkehr“) in einem Computernetzwerk kann analysiert werden, um eine Echtzeit-Entscheidungsfindung für Netzwerkoperationen, Sicherheitsverfahren etc. zu verbessern. Der Verkehr kann an zahlreichen Punkten mittels einer Vielzahl von Geräten / Anwendungen (die insgesamt als „Knoten“ im Computernetzwerk bezeichnet werden) bezogen werden, und dann an eine Netzwerksichtbarkeitseinrichtung weitergeleitet werden, die fähig ist, eine umfassende Sichtbarkeit eines Verkehrsstroms zu liefern. In Anbetracht der Komplexität und des Umfangs von Verkehr, der durch viele Infrastrukturen geleitet wird, werden häufig verschiedene Arten von Netzwerk-Werkzeugen verwendet, um Probleme, von denen das Computernetzwerk geplagt wird, zu identifizieren, zu analysieren oder zu handhaben. Diese Probleme können Sicherheitsrisiken, Flaschenhälse etc. beinhalten. Beispiele für derartige Netzwerk-Werkzeuge beinhalten ein IDS (IDS = Intrusion Detection System = Angriffserkennungssystem) und ein IPS (IPS = Intrusion Prevention System = Ang riffsabwehrsystem).
  • Netzwerksichtbarkeitseinrichtungen und Netzwerk-Werkzeuge können als In-Band-Einrichtungen (auch als „Inline-Einrichtungen“ bezeichnet) oder Out-of-Band-Einrichtungen arbeiten. Out-of-Band-Einrichtungen arbeiten außerhalb des Pfades von Verkehr zwischen einem Ursprungsknoten und einem Zielknoten, und diese erhalten daher Kopien von Datenpaketen, aus denen der Verkehr besteht, anstelle der ursprünglichen Datenpakete. Out-of-Band-Einrichtungen können die Kopien der Datenpakete frei modifizieren, da es den ursprünglichen Datenpaketen ermöglicht wird, das Computernetzwerk ungehindert zu durchqueren. Andererseits arbeiten Inline-Einrichtungen innerhalb des Verkehrspfades zwischen einem Ursprungsknoten und einem Zielknoten, und empfangen daher die ursprünglichen Datenpakete.
  • Figurenliste
  • Verschiedene technische Merkmale gehen für Fachleute aus der detaillierten Beschreibung in Verbindung mit den Zeichnungen klar hervor. Ausführungsformen des technischen Verfahrens sind in den Zeichnungen beispielhaft und nicht-einschränkend dargestellt, wobei gleiche Bezugszeichen ähnliche Elemente bezeichnen.
    • 1A zeigt ein Beispiel einer Netzwerkanordnung, bei der eine Netzwerksichtbarkeitseinrichtung Datenpakete von mehreren Geräten/Anwendungen (insgesamt als „Knoten“ bezeichnet) in einem Computernetzwerk empfängt.
    • 1B zeigt einen beispielhaften Pfad von Datenpaketen bei der Bewegung des Datenpakets von einem Ursprungsgerät zu einem Empfängergerät.
    • 2 zeigt ein Beispiel, wie eine Sichtbarkeitsplattform, die eine Netzwerksichtbarkeitseinrichtung beinhaltet, in eine Cloud-Computing-Plattform integriert werden kann, um einem Endbenutzer einen kohärenten Überblick eines virtualisierten Verkehrs zu liefern, der sich durch die öffentliche Cloud-Infrastruktur bewegt.
    • 3 zeigt ein Ausführungsbeispiel einer Sichtbarkeitsplattform, die vollständig in einer Cloud-Umgebung oder einer Nicht-Cloud-Umgebung betrieben werden kann (z. B. als virtuelle Maschine).
    • 4 zeigt, wie separate Instanzen eines Deduplizierungsprogramms konfiguriert sein können, um zu mehreren virtuellen Maschinen gehörigen Verkehr zu überwachen.
    • 5 zeigt ein Beispiel einer Netzwerksichtbarkeitseinrichtung, die ein Deduplizierungsprogramm beinhaltet, welches fähig ist, Duplikate von Datenpaketen aus Verkehr zu filtern, der an einem Eingangsanschluss empfangen wird.
    • 6 zeigt ein Beispiel eines Lastverteilers, der konfiguriert ist, um von einem Quellenknoten empfangene Datenpakete zwischen mehreren Zielknoten gemäß einer Lastverteilungsstrategie zu verteilen.
    • 7A zeigt ein Beispiel einer Netzwerksichtbarkeitseinrichtung, die einen Lastverteiler beinhaltet, der konfiguriert ist, ankommenden Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms zu verteilen.
    • 7B zeigt ein weiteres Beispiel einer Netzwerksichtbarkeitseinrichtung, die einen Lastverteiler beinhaltet, der konfiguriert ist, ankommende Datenpakete in Sätze zu sortieren, die zwischen mehreren Instanzen eines Deduplizierungsprogramms zu verteilen sind.
    • 8A zeigt ein Beispiel einer verteilten Sichtbarkeitsstruktur, die mehrere Sichtbarkeitseinrichtungen beinhaltet, von denen jede eine Instanz eines Deduplizierungsprogramms und eines (nicht dargestellten) Lastverteilers ausführt.
    • 8B zeigt ein weiteres Beispiel einer verteilten Sichtbarkeitsstruktur, die mehrere Netzwerk-Werkzeuge beinhaltet.
    • 9 zeigt einen Prozess für ein Erzielen einer verteilten Deduplizierung durch intelligentes Routing von Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms.
    • 10 zeigt einen Prozess zum Implementieren eines Modells zur verteilten Deduplizierung.
    • 11 beinhaltet ein Blockdiagramm, das ein Beispiel eines Verarbeitungssystems zeigt, in dem zumindest einige der hier beschriebenen Operationen implementiert werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Netzwerksichtbarkeitseinrichtung kann konfiguriert sein, um Datenpakete von einem oder mehreren Knoten in einem Computernetzwerk zu empfangen. Die Netzwerksichtbarkeitseinrichtung kann mit einem oder mehreren Netzwerk-Werkzeugen verbunden sein, die konfiguriert sind, die Datenpakete (oder Kopien der Datenpakete) zu analysieren, den Verkehr im Computernetzwerk zu überwachen, oder die Übertragung von regelwidrigen (z. B. bösartigen) Datenpaketen zu blockieren.
  • Herkömmlicherweise erfolgte eine Verwaltung der Bandbreite von Datenübertragungen durch Netzwerksichtbarkeitseinrichtungen dadurch, dass Duplikate von Datenpaketen in dem innerhalb eines Zeitfensters beobachteten Verkehr eliminiert wurden. Diese Aufgabe wird typischerweise durch ein Computerprogramm durchgeführt, das ausgelegt ist, um ein spezialisiertes Datenkompressionsverfahren durchzuführen, das als Deduplizierung bezeichnet wird.
  • Deduplizierungsprogramme dienen mehreren Zwecken. Beispielsweise kann ein Deduplizierungsprogramm konfiguriert sein, die Anzahl von Datenpaketen zu verringern, die von einer Netzwerksichtbarkeitseinrichtung an ein Netzwerk-Werkzeug gesendet werden. Als weiteres Beispiel kann ein Deduplizierungsprogramm konfiguriert sein, Verkehr zu filtern, um eine Speichernutzung zu verbessern. Bei einem Deduplizierungsprozess führt das Deduplizierungsprogramm zu Anfang eine Identifizierung von ankommenden Datenpaketen durch und speichert dann die Datenpakete (z. B. in einem Cache-Speicher). Mit Fortschreiten des Deduplizierungsprozesses werden weitere ankommende Datenpakete mit den gespeicherten Datenpaketen verglichen, und bei jedem Auftreten einer Übereinstimmung wird das redundante Datenpaket aus dem Verkehr gefiltert. Ein solches Vorgehen gewährleistet, dass Empfänger des Verkehrs (z. B. Netzwerk-Werkzeuge) nicht mit Duplikaten von Datenpaketen überschwemmt werden. In einigen Fällen wird das redundante Datenpaket durch eine kleine Referenzierung ersetzt, welche das übereinstimmende gespeicherte Datenpaket identifiziert.
  • Deduplizierungsprogramme haben mehrere Nachteile. Mit dem exponentiellen Wachstum des Arbeitsanfalls in physischen Datenzentren haben viele Endbenutzer begonnen, Arbeitsprozesse und Daten auf Cloud-Computing-Plattformen zu verlagern. Um den Verkehr zu überwachen, der einem einzelnen Endbenutzer zugehörig ist, kann es jedoch erforderlich sein, dass eine Netzwerksichtbarkeitseinrichtung Verkehr von Hunderten oder Tausenden von virtuellen Maschinen empfängt. Jedoch kann eine einzige Instanz eines Deduplizierungsprogramms häufig das betrachtete Verkehrsvolumen nicht handhaben. Demzufolge werden mehrere Instanzen des Deduplizierungsprogramms benötigt, die je nach Bedarf jeweils in einer separaten Netzwerksichtbarkeitseinrichtung laufen.
  • Daher werden hier Netzwerksichtbarkeitseinrichtungen vorgestellt, die fähig sind, ein Modell zur verteilten Deduplizierung dadurch zu implementieren, dass ein Routing von Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms durchgeführt wird. Anstatt dass man den gesamten zu einem Endbenutzer gehörigen Verkehr zu einer einzigen Netzwerksichtbarkeitseinrichtung für eine Überprüfung weiterleitet, kann der Verkehr stattdessen zu einem Pool von mehreren Netzwerksichtbarkeitseinrichtungen weitergeleitet werden, die kollektiv gewährleisten, dass keine Duplikate von Datenpaketen in dem Verkehr vorhanden sind. Spezieller können diese Netzwerksichtbarkeitseinrichtungen ein Routing des Verkehrs zu verschiedenen Instanzen des Deduplizierungsprogramms durchführen, und zwar derart, dass garantiert wird, dass Duplikate von Datenpaketen bei derselben Instanz des Deduplizierungsprogramms ankommen, ungeachtet dessen, welche Netzwerksichtbarkeitseinrichtung(en) anfänglich die Duplikate des Datenpaketes empfangen hat/haben.
  • Terminologie
  • Wird in dieser Beschreibung auf „ein Ausführungsbeispiel“ oder „ein (einzelnes) Ausführungsbeispiel“ verwiesen, bedeutet dies, dass das spezielle Merkmal, Funktion, Struktur oder Eigenschaft, das/die hier beschrieben wird, in mindestens einem Ausführungsbeispiel enthalten ist. Derartige Formulierungen beziehen sich nicht notwendigerweise bei jedem Auftreten auf das gleiche Ausführungsbeispiel, noch beziehen sie sich notwendigerweise auf alternative Ausführungsbeispiele, die einander wechselseitig ausschließen.
  • Die Begriffe „verbunden“, „gekoppelt“ oder eine beliebige Variante von diesen sollen hier jegliche entweder direkt oder indirekt vorliegende Verbindung oder Kopplung zwischen zwei oder mehreren Elementen beinhalten. Die Kopplung/Verbindung kann physischer oder logischer Natur, oder eine Kombination daraus sein. Beispielsweise können Geräte elektrisch oder kommunikativ miteinander gekoppelt sein, obschon keine physische Verbindung zwischen diesen besteht.
  • Die bei jeglichen der hier beschriebenen Prozesse durchgeführten Schrittabfolgen sind Beispiele. Jedoch können die Schritte, es sei denn, dies wäre eine physische Unmöglichkeit, in verschiedenen Abfolgen und Kombinationen durchgeführt werden. Beispielsweise könnten Schritte zu den hier beschriebenen Prozessen hinzugefügt oder aus diesen entfernt werden. In ähnlicher Weise könnten Schritte durch andere ersetzt oder in anderer Reihenfolge vorgesehen werden. Somit verstehen sich Beschreibungen jeglicher Prozesse als erweiterbar.
  • Netzwerkeinrichtungsarchitektur
  • 1A zeigt ein Beispiel einer Netzwerkanordnung 100a, bei der eine Netzwerksichtbarkeitseinrichtung 102 Datenpakete von mehreren Geräten/Anwendungen (insgesamt als „Knoten“ bezeichnet) in einem Computernetzwerk 110 empfängt. Die Knoten verbinden ein Ursprungsgerät 104 (z. B. ein Desktop-Computersystem) mit einem Empfängertgerät 108 (z. B. einem Server). Somit ermöglichen die Knoten, dass Datenpakete zwischen dem Ursprungsgerät 104 und dem Empfängergerät 108 übertragen werden. Beispiele von Knoten beinhalten Switches (z. B. Switches 106a, 106d), Router (z. B. Router 106b, 106c), Netzwerkabgriffe etc.
  • Jeder Knoten repräsentiert einen Eintrittspunkt in das Computernetzwerk 110. Bei den Eintrittspunkten könnte es sich, und dies ist häufig der Fall, um unterschiedliche Punkte im Computernetzwerk 110 handeln. Im Allgemeinen sind zumindest einige der Knoten fähig, als Verkehr empfangene Datenpakete (oder Duplikate der Datenpakete) an eine Netzwerksichtbarkeitseinrichtung 102 zur Analyse zu senden. Verkehr kann an die Netzwerksichtbarkeitseinrichtung 102 durch einen Knoten geleitet werden, der einen Eintrittspunkt in das Computernetzwerk 110 bereitstellt.
  • Ob ein Knoten die ursprünglichen Datenpakete oder Kopien der ursprünglichen Datenpakete an eine hinter den Knoten befindliche Einrichtung (z. B. die Netzwerksichtbarkeitseinrichtung 102) sendet, hängt davon ab, ob es sich bei der dahinter befindlichen Einrichtung um eine Inline-Einrichtung oder eine Out-of-Band-Einrichtung handelt. Wie zuvor angemerkt, empfangen Inline-Einrichtungen die ursprünglichen Datenpakete, hingegen empfangen Out-of-Band-Einrichtungen Kopien der ursprünglichen Datenpakete.
  • Dabei kann die Netzwerksichtbarkeitseinrichtung 102 Datenpakete vom Knoten 106b empfangen (z. B. über den Übertragungspfad 114a) und zumindest einige der Datenpakete an den Knoten 106c weiterleiten (z. B. über den Übertragungspfad 114b). Da der Knoten 106b fähig ist, eine Downstream-Übertragung eines Netzwerkverkehrs in Datenverkehrsrichtung hindurch durch die Netzwerksichtbarkeitseinrichtung 102 durchzuführen, braucht der Knoten 106b nicht direkt mit dem Knoten 106c verbunden zu sein (d. h. möglicherweise ist der Übertragungspfad 114c nicht vorhanden). Einige oder alle der Knoten im Computernetzwerk 110 können in ähnlicher Weise konfiguriert sein.
  • Wenn die Netzwerksichtbarkeitseinrichtung 102 als Inline-Einrichtung eingesetzt wird, werden Datenpakete durch die Netzwerksichtbarkeitseinrichtung 102 an einem Netzwerkanschluss (der auch als „Eingangsanschluss“ bezeichnet wird) empfangen. Beispielsweise werden Datenpakete, die durch den Knoten 106b über den Übertragungspfad 114a übertragen werden, durch die Netzwerksichtbarkeitseinrichtung 102 an einem speziellen Eingangsanschluss empfangen. Die Netzwerksichtbarkeitseinrichtung 102 kann mehrere Eingangsanschlüsse beinhalten, die mit unterschiedlichen Knoten im Computernetzwerk 110 verbunden sind. Die Netzwerksichtbarkeitseinrichtung 102 kann beispielsweise eine Überwachungsplattform sein, die ein Gehäuse und austauschbare Blades beinhaltet, welche verschiedene Funktionalitäten bieten, beispielsweise erweiterte Fähigkeiten zur Paketverteilung sowie -maskierung und -filterung.
  • Die Netzwerksichtbarkeitseinrichtung 102 kann auch Datenpakete von einem Netzwerkanschluss (der auch als „Ausgangsanschluss“ bezeichnet wird) übertragen. Beispielsweise kann die Netzwerksichtbarkeitseinrichtung 102 mehrere Ausgangsanschlüsse beinhalten, die mit mehreren Netzwerk-Werkzeugen 112a-n verbunden sind. Jedes Netzwerk-Werkzeug 102a-n kann jederzeit als Inline-Einrichtung oder als Out-of-Band-Einrichtung eingesetzt werden. Wenn ein Netzwerk-Werkzeug als Out-of-Band-Einrichtung eingesetzt wird, erzeugt die Netzwerksichtbarkeitseinrichtung 102 ein Duplikat von mindestens einigen der Datenpakete, die durch die Netzwerksichtbarkeitseinrichtung 102 empfangen wurden, und gibt dann die Duplikate an einen Ausgangsanschluss für eine Downstream-Übertragung an das Out-of-Band-Netzwerk-Werkzeug weiter. Wenn ein Netzwerk-Werkzeug als Inline-Einrichtung eingesetzt wird, gibt die Netzwerksichtbarkeitseinrichtung 102 zumindest einige der ursprünglichen Datenpakete an einen Ausgangsanschluss für eine Downstream-Übertragung an das Inline-Netzwerk-Werkzeug weiter, und diese Datenpakete werden dann normalerweise an einem separaten Netzwerkanschluss der Netzwerksichtbarkeitseinrichtung 102 von dem Werkzeug kommend wieder zurückerhalten (d. h. unter der Annahme, dass die Datenpakete nicht durch das Werkzeug blockiert werden).
  • 1B zeigt einen beispielhaften Pfad von Datenpaketen bei der Bewegung des Datenpakets von einem Ursprungsgerät 104 zu einem Empfängergerät 108. Spezieller zeigt 1B eine Netzwerkanordnung 100b, bei der sowohl die Netzwerksichtbarkeitseinrichtung 102 als auch ein Netzwerk-Werkzeug 112a als Inline-Einrichtungen eingesetzt werden (d. h. innerhalb des Netzwerkverkehrsstroms). Obschon die Übertragungspfade, die die Netzwerksichtbarkeitseinrichtung 102 und das Netzwerk-Werkzeug 112a verbinden, HalbduplexLeitungen sind (d. h. Information lediglich in einer einzigen Richtung übertragen), könnten auch Vollduplex-Leitungen, die fähig sind, Information in beide Richtungen zu übertragen, für einige oder alle Übertragungswege zwischen Knoten des Computernetzwerks 110 verwendet werden.
  • Nach einem Empfangen eines Datenpaketes von dem Knoten 106b ermittelt die Netzwerksichtbarkeitseinrichtung 102 eine dem Datenpaket entsprechende Zuordnung, die auf einer oder mehreren Eigenschaften des Datenpaketes basiert. Beispielsweise könnte(n) die Eigenschaft(en) das Kommunikationsprotokoll beinhalten, dem das Datenpaket zugehörig ist (z. B. HTTP, TCP, IP) oder ein Sitzungsmerkmal (z. B. ein Zeitstempel). Alternativ oder zusätzlich könnte eine geeignete Zuordnung basierend auf dem Netzwerkanschluss der Netzwerksichtbarkeitseinrichtung 102, bei welchem das Datenpaket empfangen wurde, dem Quellenknoten, von dem aus das Datenpaket empfangen wurde etc. ermittelt werden.
  • Die Zuordnung repräsentiert eine Richtlinie, wie das Datenpaket durch die Netzwerksichtbarkeitseinrichtung 102 gehandhabt werden soll. Beispielsweise könnte die Zuordnung spezifizieren, dass das Datenpaket in einer Eins-an-Eins-Konfiguration übertragen werden sollte (d. h. von einem Eingangsanschluss der Netzwerksichtbarkeitseinrichtung 102 an einen Ausgangsanschluss der Netzwerksichtbarkeitseinrichtung 102), einer Eins-an-Viele-Konfiguration (d. h. von einem Eingangsanschluss der Netzwerksichtbarkeitseinrichtung 102 an mehrere Ausgangsanschlüsse der Netzwerksichtbarkeitseinrichtung 102), oder einer Viele-an-Eins-Konfiguration (d. h. von mehreren Eingangsanschlüssen der Netzwerksichtbarkeitseinrichtung 102 an einen Ausgangsanschluss der Netzwerksichtbarkeitseinrichtung 102). Somit könnte ein einzelner Ausgangsanschluss der Netzwerkeinrichtung 102 Datenpakete von einem oder mehreren Eingangsanschlüssen der Netzwerkeinrichtung 102 empfangen.
  • Häufig erfolgt eine Weitergabe des Datenpaketes (z. B. durch einen Prozessor der Netzwerksichtbarkeitseinrichtung 102) an einen Ausgangsanschluss für eine Downstream-Übertragung zu einem Netzwerk-Werkzeug (z. B. einem Überwachungs- und/oder Sicherheits-Werkzeug). Dabei kann die Zuordnung beispielsweise spezifizieren, dass eine Weitergabe durch die Netzwerksichtbarkeitseinrichtung 102 an einen Werkzeuganschluss für eine Downstream-Übertragung zu einem Netzwerk-Werkzeug 112a erfolgen soll. Die Netzwerksichtbarkeitseinrichtung 102 kann ein Aggregieren oder Modifizieren des Datenpaketes gemäß der durch die Zuordnung spezifizierten Richtlinie vornehmen, bevor eine Weitergabe des Datenpaketes zu dem Ausgangsanschluss für eine Downstream-Übertragung zum Netzwerk-Werkzeug 112a erfolgt. Bei einigen Ausführungsformen beinhaltet die Netzwerksichtbarkeitseinrichtung 102 mehrere Ausgangsanschlüsse, von denen jeder mit einem unterschiedlichen Netzwerk-Werkzeug oder einer weiteren Netzwerksichtbarkeitseinrichtung verbunden ist.
  • Nach dem Analysieren des Datenpaketes überträgt das Netzwerk-Werkzeug 102a normalerweise das Datenpaket zurück an die Netzwerksichtbarkeitseinrichtung 102 (d. h. unter der Annahme, dass das Netzwerk-Werkzeug 112a nicht bestimmt, dass das Paket blockiert werden sollte), welches eine Weitergabe des Datenpaketes an einen Netzwerkanschluss für eine Downstream-Übertragung zu einem weiteren Knoten (z. B. Knoten 106c) vornimmt.
  • 2 zeigt ein Beispiel, wie eine Sichtbarkeitsplattform 202, die eine Netzwerksichtbarkeitseinrichtung beinhaltet, in eine Cloud-Computing-Plattform 200 integriert werden kann, um einem Endbenutzer einen kohärenten Überblick eines virtualisierten Verkehrs zu liefern, der sich durch die öffentliche Cloud-Infrastruktur bewegt. Viele Endbenutzer (z. B. Einzelpersonen und Firmen) haben damit begonnen, Arbeitsprozesse und Daten in Cloud-Computing-Plattformen zu verlagern. Durch Installieren von Agenten 204 bei einigen oder allen der zum Endbenutzer gehörenden virtuellen Maschinen 206 kann die Sichtbarkeitsplattform 202 Datenpakete (oder Duplikate der Datenpakete), die eine öffentliche Cloud-Infrastruktur durchqueren, zur weiteren Analyse beschaffen, um den Einblick in mögliche Sicherheitsrisiken zu verbessern.
  • Bei einigen Ausführungsformen ist die Sichtbarkeitsplattform 202 mit einem oder mehreren Netzwerk-Werkzeugen 208 kommunikativ verbunden, um den virtualisierten Verkehr zu analysieren. Das/die Netzwerk-Werkzeug(e) 208 können als Teil der Sichtbarkeitsplattform 202 lokal (d. h. auf der Cloud-Computing-Plattform 200) oder entfernt gehostet sein (z. B. in einer vom Endbenutzer kontrollierten, vor Ort befindlichen Rechnerumgebung). Wenn die Sichtbarkeitsplattform 202 vollständig virtuell ist (z. B. die Netzwerksichtbarkeitseinrichtung aus einem virtuellen programmierbaren Switch besteht), baut die Sichtbarkeitsplattform 202 einen Tunnel auf, um den virtualisierten Verkehr an das/die Netzwerk-Werkzeug(e) 208 zu liefern, ungeachtet dessen, wo sich das/die Netzwerk-Werkzeug(e) 208 befinden. Wenn jedoch die Sichtbarkeitsplattform 202 physisch ist (z. B. die Netzwerksichtbarkeitseinrichtung aus einem physischen programmierbaren Switch besteht), ist es möglich, dass die Sichtbarkeitsplattform 202 einen Tunnel lediglich für solche (eines oder mehrere) Netzwerk-Werkzeuge 208 aufbaut, die entfernt gehostet sind (z. B. nicht direkt mit der Sichtbarkeitsplattform 202 unter Verwendung von physischen Kabeln verbunden sind).
  • Ein „Tunnel“ ist ein Mechanismus, der verwendet werden kann, um eine zuverlässige Übertragung von Verkehr über ein Netzwerk durchzuführen. Bevor virtualisierter Verkehr durch die Sichtbarkeitsplattform 202 zum Tunnel für eine Übertragung zu dem/den Netzwerk-Werkzeug(en) 208 weitergeleitet wird, kann die Sichtbarkeitsplattform 202 einen äußeren Mantel für den virtualisierten Verkehr (und jeglichen weiteren Netzwerkinhalt) basierend auf dem Tunneltyp erzeugen. Beispielsweise könnten die im Inneren befindlichen Nutzdaten durch die Sichtbarkeitsplattform 202 gekapselt werden, und zwar in einer Kapselung gemäß einem VXLAN-Protokoll (VXLAN = Virtual Extensible LAN) oder einem GRE-Protokoll (GRE = Generic Routing Encapsulation). Das/die Netzwerk-Werkzeug(e) 208 können dann den äußeren Mantel bei Empfang entfernen und bestimmen, wie die im Inneren befindlichen Nutzdaten (z. B. der tatsächliche virtualisierte Verkehr) gehandhabt werden sollte.
  • Die Sichtbarkeitsplattform 202 kann als Cloud-native virtuelle Maschine vorhanden sein (auch als „nicht-native virtuelle Maschine“ bezeichnet), die einen virtualisierten Verkehr analysiert, der die Cloud-Computing-Plattform 200 durchquert. Demgemäß ist es möglich, dass die Sichtbarkeitsplattform 202 nicht durch Computerhardware eingeschränkt wird, die zur Unterstützung der Cloud-Computing-Plattform 200 verantwortlich ist.
  • 3 zeigt ein Ausführungsbeispiel einer Sichtbarkeitsplattform 300, die vollständig in einer Cloud-Umgebung oder einer Nicht-Cloud-Umgebung betrieben werden kann (z. B. als virtuelle Maschine). Somit kann die Sichtbarkeitsplattform 300 auf einer Cloud-Computing-Plattform gehostet werden, kann auf einer dedizierten Computer-Hardware laufen, z.B. einer Überwachungsplattform, die ein Gehäuse und austauschbare Blades beinhaltet, welche verschiedene Funktionalitäten bieten, beispielsweise erweiterte Fähigkeiten zur Paketverteilung sowie -maskierung und -filterung, oder irgendeiner Kombination daraus. Beispielsweise könnte die Sichtbarkeitsplattform 300 eine Netzwerksichtbarkeitseinrichtung 304 beinhalten, die sich auf einem eigenständigen Personal-Computer, einem dedizierten Netzwerk-Server oder irgendeiner anderen Rechnervorrichtung mit einer x86-Befehlssatz-Architektur befindet.
  • In einigen Fällen kann es erwünscht sein, dass die Netzwerksichtbarkeitseinrichtung 304 als virtuelle Maschine auf einer Cloud-Computing-Plattform läuft (z. B. der Cloud-Computing-Plattform 200 von 2). Beispielsweise kann die Sichtbarkeitsplattform 300 im Inneren einer VPC (Virtual Private Cloud) vorliegen, die sich in einem dedizierten Abschnitt eines virtuellen Netzwerks eines Endbenutzers in AWS (Amazon Web Services), VMware, OpenStack etc. befindet. Eine derartige Anordnung ermöglicht der Sichtbarkeitsplattform 300, ein intelligentes Optimieren, Filtern und Analysieren von virtualisiertem Verkehr über Hunderte oder Tausende virtueller Maschinen vorzunehmen. Zu beachten ist jedoch, dass die Sichtbarkeitsplattform 300 auch außerhalb der VPC vorliegen kann.
  • Die Sichtbarkeitsplattform 300 kann beinhalten: einen oder mehrere Agenten 302 für ein Mirroring von virtualisiertem Verkehr, der eine Cloud-Computing-Plattform durchquert, eine Netzwerksichtbarkeitseinrichtung 304 für ein Aggregieren und Filtern des virtualisierten Verkehrs, einen oder mehrere Controller 306, und einen Client 308 für eine Verwaltung der Sichtbarkeitsplattform 300 in ihrer Gesamtheit. Weitere Ausführungsbeispiele können eine Teilmenge dieser Komponenten beinhalten.
  • Wie hier dargestellt, ist jeder Agent 302 vollständig in einer entsprechenden virtuellen Zielmaschine 310 enthalten, deren virtueller Verkehr überwacht werden soll. Der Begriff „virtualisierter Verkehr“ bezeichnet allgemein Verkehr, der eine virtuelle Maschine durchquert. Obschon der/die Agent(en) 302 durch den/die Controller (306) ausgegebene Anfragen bedienen, kann jeder Agent 302 für das Konfigurieren seiner eigenen Schnittstellen-Spiegel, Tunnel etc. verantwortlich sein.
  • Die Netzwerksichtbarkeitseinrichtung 304 kann einen programmierbaren Switch (auch als „Switching-Engine“ bezeichnet) beinhalten. Bei dem programmierbaren Switch kann es sich um einen physischen Switch oder einen virtuellen Switch handeln, beispielsweise einen SDN-Switch (SDN = Software-Defined Networking). Die Netzwerksichtbarkeitseinrichtung 304 ist verantwortlich für ein Aggregieren von virtualisiertem Verkehr, bei dem ein Mirroring (Spiegeln) durch den/die Agent(en) 302 durchgeführt wird, und leitet dann zumindest einen Teil des aggregierten virtualisierten Verkehrs an eines oder mehrere Netzwerk-Werkzeuge 312 zur weiteren Analyse weiter. Bei einigen Ausführungsbeispielen führt die Netzwerksichtbarkeitseinrichtung 304 ein Filtern (z. B. Slicing, Maskieren oder Sampling) und/oder ein Replizieren des aggregierten virtualisierten Verkehrs durch, bevor sie ein Downstream-Weiterleiten von diesem an das/die Netzwerk-Werkzeug(e) 312 durchführt.
  • Indessen können der/die Controller 306 durch den Endbenutzer über den Client 308 gesteuert werden, der auf der Cloud-Computing-Plattform in einer vom Endbenutzer kontrollierten, vor Ort befindlichen Rechnerumgebung gehostet sein kann. Bei einigen Ausführungsbeispielen ist ein einziger Controller 306 konfiguriert, den/die Agent(en) 302 und den programmierbaren Switch 304 zu steuern, hingegen sind bei weiteren Ausführungsbeispielen mehrere Controller 306 konfiguriert, den/die Agent(en) 302 und die Netzwerksichtbarkeitseinrichtung 304 zu steuern. Dabei steuert beispielsweise ein erster Controller den/die Agent(en) 302 und ein zweiter Controller steuert die Netzwerksichtbarkeitseinrichtung 304. Jedoch könnte jeder Agent 302 auch einem dedizierten Controller zugehörig sein.
  • Gemeinsam ermöglichen der Client 308 und der/die Controller 306 eine zentralisierte Verwaltung der Sichtbarkeitsplattform 300 in ihrer Gesamtheit. Beispielsweise kann der Client 308 konfiguriert sein, um mit einer oder mehreren von der Cloud-Computing-Plattform angebotenen Anwendungsprogrammschnittstellen (APIs) 314 integriert zu werden, um relevante Information betreffend den überwachten virtualisierten Verkehr abzufragen (z. B. Endbenutzer-Zugangsdaten, Adressen der virtuellen Maschine, Eigenschaften des virtualisierten Verkehrs). Bei einigen Ausführungsbeispielen unterstützt der Client 308 eine ,Ziehen-und-Ablegen'-Benutzerschnittstelle (Drag-and-Drop-Benutzerschnittstelle), die vom Endbenutzer verwendet werden kann, um Verkehrsrichtlinien zu erzeugen und zu implementieren. Außerdem kann der Client 308 einem Endbenutzer oder einem Administrator (z. B. dem Verwalter der Sichtbarkeitsplattform 300) Verkehrsrichtlinien-Statistiken für eine Problemlösung in Echtzeit bereitstellen.
  • Durch Identifizieren des/der Netzwerkobjekt(e), die durch eine Sichtbarkeitsstruktur untereinander verbunden sind, kann ein Verkehrsstrom ohne Weiteres überwacht werden, ungeachtet dessen, ob die Netzwerksichtbarkeitseinrichtung 304 Datenpakete überwacht, die ein physisches Gerät oder eine virtuelle Umgebung durchqueren. Beispiele für Netzwerkobjekte beinhalten rohe Endpunkte, Tunnel-Endpunkte, Anwendungsendpunkte und Zuordnungen. Eine Netzwerksichtbarkeitseinrichtung kann einen oder mehrere rohe Endpunkte beinhalten, die einen Verkehr von entsprechenden Netzwerkkarten (NICs) oder virtuellen Netzwerkkarten (vNICs) empfangen. Die Netzwerksichtbarkeitseinrichtung kann auch einen oder mehrere Tunnel-Endpunkte beinhalten, die ein Senden/Empfangen von Verkehr an/von entfernte(n) Standorte(n) durchführen. Beispiele für entfernte Standorte beinhalten weitere Netzwerksichtbarkeitseinrichtungen, vor Ort befindliche Rechnerumgebungen etc. Tunnel-Endpunkte können durch die Netzwerksichtbarkeitseinrichtung unter Verwendung von APIs erzeugt werden, und Tunnel-Endpunkte sind typischerweise sowohl einem entfernten Endpunkt als auch einem spezifischen Typ (z. B. VXLAN oder GRE) zugehörig.
  • Die Netzwerksichtbarkeitseinrichtung kann auch einen oder mehrere Anwendungsendpunkte beinhalten, die ein Senden/Empfangen von Paketen an/von Anwendungsprogramme(n) (auch als „Anwendungen“ bezeichnet) durchführen. Anwendungen können für ein Erzeugen, Aggregieren, Filtern und/oder Modifizieren des virtuellen Verkehrs verantwortlich sein, der von der Netzwerksichtbarkeitseinrichtung empfangen wird. Beispiele für Anwendungen können Maskierprogramme, Programme zur tiefen Paketinspektion (Deep Packet Inspection), Nettostrom-Generierungsprogramme, Deduplizierungsprogramme etc. beinhalten.
  • Die Netzwerksichtbarkeitseinrichtung kann Verkehr an rohen Endpunkten, Tunnel-Endpunkten und Anwendungsendpunkten empfangen, und die Netzwerksichtbarkeitseinrichtung kann Verkehr an Tunnel-Endpunkten und Anwendungsendpunkten ausgeben. Rohe Endpunkte können daher lediglich ankommenden Verkehr empfangen, hingegen sind Tunnel-Endpunkte und Anwendungsendpunkte generell bidirektional (d. h. sie können Verkehr über unterschiedliche Eingangs- und Ausgangsschnittstellen empfangen und senden).
  • Rohe Endpunkte können Verkehr direkt von (v)NICs empfangen. Jedoch sind Tunnel-Endpunkte häufig die vorherrschende Weise, ein Routing von Verkehr weg von einer Netzwerksichtbarkeitseinrichtung durchzuführen (z. B. hinein in eine vor Ort befindliche Umgebung, die eines oder mehrere Netzwerk-Werkzeuge enthält). Außerdem befindet sich, obschon Anwendungsendpunkte ein Routing von virtuellem Verkehr in eine durch eine Anwendung verwaltete Umgebung durchführen, die Umgebung typischerweise weiterhin innerhalb der Netzwerksichtbarkeitseinrichtung.
  • Verteilte Paketdeduplizierung durch Netzwerksichtbarkeitseinrichtungen
  • Deduplizierungsprogramme wurden herkömmlicherweise verwendet, um Duplikate von Datenpaketen in dem innerhalb eines Zeitfensters beobachteten Verkehr zu eliminieren. In einem Computernetzwerk gibt es mehrere unterschiedliche Szenarien, in denen Duplikate von Datenpaketen erzeugt werden können.
  • Als Erstes können Duplikate von Datenpaketen fälschlicherweise durch eine Anwendung erzeugt werden, die sich auf einer Netzwerksichtbarkeitseinrichtung befindet. Ein Beispiel einer solchen Anwendung ist ein Nettostrom-Generierungsprogramm. Da diese Duplikate auf einer einzelnen Netzwerksichtbarkeitseinrichtung erzeugt werden, kann eine lokale Instanz eines auf der Netzwerksichtbarkeitseinrichtung befindlichen Deduplizierungsprogramms diese Duplikate ohne Weiteres ausfiltern, bevor der Verkehr die Netzwerksichtbarkeitseinrichtung verlässt.
  • Als Zweites können Duplikate von Datenpaketen durch einen Quellenknoten (z. B. eine Netzwerksichtbarkeitseinrichtung) während eines Broadcast-Prozesses erzeugt werden. Beispielsweise kann, wenn der Quellenknoten beabsichtigt, in Erfahrung zu bringen, wo sich ein Zielknoten innerhalb eines Computernetzwerkes befindet, der Quellenknoten eine Abfragenachricht an einen oder mehrere dazwischen befindliche Knoten (z. B. Switches, Router etc.) senden. Jeder dazwischen befindliche Knoten erstellt eine Kopie der Abfragenachricht und leitet diese dann an einen oder mehrere weitere Knoten weiter. Eine derartige Aktion wird mit der Absicht durchgeführt, dass schlussendlich eine Kopie der Abfragenachricht den Zielknoten erreicht, welcher dann eine Antwort an den Quellenknoten senden kann, die eine Zieladresse beinhaltet. Von diesem Zeitpunkt an können der Quellenknoten und der Zielknoten miteinander mittels eines Punkt-zu-Punkt-Kommunikationsprotokolls kommunizieren.
  • Duplikate von Datenpaketen können auch durch einen Quellenknoten während eines Multicast-Prozesses erzeugt werden. Bei einem Multicast-Prozess sendet der Quellenknoten eine Nachricht an mehrere Zielknoten, anstatt dass er jedem Zielknoten eine separate Nachricht sendet. Broadcast-Prozesse werden normalerweise vermieden, es sei denn, sie wären erforderlich, um den Standort eines Zielknotens zu identifizieren, hingegen werden Multicast-Prozesse häufig verwendet, um in effizienter Weise für mehrere Zielknoten Aktualisierungen bereitzustellen.
  • Als Drittes können Duplikate von Datenpaketen durch eine Netzwerkeinrichtung einfach deshalb beobachtet werden, da sie virtualisierten Verkehr überwacht. Wie in 4 dargestellt, können separate Instanzen eines Deduplizierungsprogramms konfiguriert sein, um einen Verkehr zu überwachen, der zu mehreren virtuellen Maschinen gehört. Dabei ist beispielsweise die Deduplizierungsprogramminstanz A 406a, die sich auf der Netzwerkeinrichtung A 404a befindet, konfiguriert, um einen Verkehr zu untersuchen, der die virtuelle Maschine A 402a verlässt, hingegen ist die Deduplizierungsprogramminstanz B 406b, die sich auf der Netzwerkeinrichtung B 404b befindet, konfiguriert, um einen Verkehr zu untersuchen, der in die virtuelle Maschine B 402b eintritt. Bei einigen Ausführungsbeispielen wird der von einer jeweiligen virtuellen Maschine stammende Verkehr durch einen Agenten gesammelt, der sich, wenn er im Einsatz ist, auf der virtuellen Maschine befindet. Bei weiteren Ausführungsbeispielen wird der von einer jeweiligen virtuellen Maschine stammende Verkehr durch irgendeinen anderen Typ von Verkehrsstromsammler 408a-b gesammelt, der, wenn er im Einsatz ist, sich außerhalb der virtuellen Maschine befindet. Beispielsweise kann ein jeweiliger Verkehrsstromsammler 408a-b eine Schnittstelle zu der zuständigen Cloud-Computing-Plattform bilden, um Verkehr abzufragen, der einer oder mehreren virtuellen Maschinen entspricht.
  • Wenn die virtuelle Maschine A 402a mit der virtuellen Maschine B 402b kommuniziert, wird dasselbe Datenpaket zweimal erfasst. Die Deduplizierungsprogramminstanz A 406a untersucht das Datenpaket, das beim Verlassen der virtuellen Maschine A 402a erfasst wird, und die Deduplizierungsprogramminstanz B 406b untersucht das Datenpaket, das beim Eintritt in die virtuelle Maschine B 402b erfasst wird. Jedoch erfolgt, da eine jeweilige Instanz des Deduplizierungsprogramm lediglich Duplikate von Datenpaketen in dem durch die entsprechende Netzwerkeinrichtung empfangenen Verkehr identifiziert, weder durch die Deduplizierungsprogramminstanz A 406a noch durch die Deduplizierungsprogramminstanz B 406b ein Eliminieren des bei der Kommunikation beteiligten Datenpaketes. Wenn die Netzwerkeinrichtung A 404a und die Netzwerkeinrichtung B 404b konfiguriert sind, gefilterten Verkehr weiter an ein Netzwerk-Werkzeug 410 weiterzuleiten, empfängt das Netzwerk-Werkzeug 410 Duplikate des Datenpaketes.
  • Es werden hier daher Verfahren für ein Erzielen einer verteilten Deduplizierung durch ein intelligentes Routing von Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms vorgestellt. Jede Instanz des Deduplizierungsprogramms kann sich auf einer unterschiedlichen Netzwerksichtbarkeitseinrichtung befinden. Gemeinsam bilden die mehreren Netzwerksichtbarkeitseinrichtungen, auf denen sich die mehreren Instanzen des Deduplizierungsprogramms befinden, einen Pool von Netzwerksichtbarkeitseinrichtungen, die fähig sind, ein verteiltes Deduplizierungsmodell zu implementieren. Diese Netzwerksichtbarkeitseinrichtungen können ein Routing von Verkehr zwischen den mehreren Instanzen des Deduplizierungsprogramms derart durchführen, dass garantiert wird, dass Duplikate von Datenpaketen bei derselben Instanz des Deduplizierungsprogramms ankommen, ungeachtet dessen, welche Netzwerksichtbarkeitseinrichtung(en) die Duplikate des Datenpaketes anfänglich empfangen hat/haben.
  • 5 zeigt ein Beispiel einer Netzwerksichtbarkeitseinrichtung 500, die ein Deduplizierungsprogramm 502 beinhaltet, welches fähig ist, Duplikate von Datenpaketen aus Verkehr zu filtern, der an einem Eingangsanschluss 504 empfangen wird. Im Allgemeinen filtert das Deduplizierungsprogramm 502 Verkehr, um zu gewährleisten, dass kein Downstream-Weiterleiten von Duplikaten von Datenpaketen an ein Netzwerk-Werkzeug über einen Ausgangsanschluss 506 (auch als „Werkzeuganschluss“ bezeichnet) erfolgt.
  • Bei einem Deduplizierungsprozess identifiziert das Deduplizierungsprogramm 502 zu Anfang bei dem Eingangsanschluss 504 empfangene Datenpakete und speichert dann während eines Identifikationsstadiums die Datenpakete (z. B. im Speicher 508). Alternativ kann das Deduplizierungsprogramm 502 eine Datenstruktur im Speicher 508 mit Information bezüglich der am Eingangsanschluss 504 empfangenen Datenpakete bestücken. Beispielsweise kann die Datenstruktur für jedes empfangene Datenpaket einen separaten Datensatz enthalten, der eine oder mehrere Eigenschaften bezeichnet (z. B. Quelle, Paketlänge, Ziel, Protokoll). Mit Fortschreiten des Deduplizierungsprozesses vergleicht das Deduplizierungsprogramm 502 weitere am Eingangsanschluss 504 empfangene Datenpakete mit den Datenpaketen, die im Speicher 508 oder der Datenstruktur gespeichert sind. Bei jedem Auftreten einer Übereinstimmung wird das redundante Datenpaket aus dem Verkehr ausgefiltert, bevor ein Downstream-Weiterleiten des Verkehrs über den Ausgangsanschluss 506 erfolgt. Eine derartige Aktion gewährleistet, dass ein Empfänger (z. B. ein Netzwerk-Werkzeug) nicht mit Duplikaten von Datenpaketen überschwemmt wird. Bei einigen Ausführungsbeispielen wird das redundante Datenpaket durch eine Referenzierung ersetzt, die das übereinstimmende gespeicherte Datenpaket identifiziert.
  • Bei einigen Ausführungsbeispielen vergleicht das Deduplizierungsprogramm 502 ein gesamtes empfangenes Datenpaket mit den im Speicher 508 gespeicherten Datenpaketen. Bei derartigen Ausführungsbeispielen kann das Deduplizierungsprogramm 502 lediglich dann bestimmen, dass es sich bei dem empfangenen Datenpaket um ein Duplikat handelt, falls eine vollständige Übereinstimmung mit einem gespeicherten Datenpaket vorliegt. Bei weiteren Ausführungsbeispielen vergleicht das Deduplizierungsprogramm 502 eines oder mehrere gewisse Felder mit einem oder mehreren entsprechenden Feldern der gespeicherten Datenpakete. Dieses Verfahren (das auch als „Feldabgleichverfahren“ bezeichnet wird) kann bei Netzwerksituationen verwendet werden, um eine durch Filtern verursachte Latenz zu verringern. Anders gesagt, wird das Feldabgleichverfahren häufig bei Netzwerksituationen verwendet, da die Netzwerksichtbarkeitseinrichtung 500 ein Weiterleiten des am Eingangsanschluss 504 empfangenen Verkehrs innerhalb eines vorgegebenen Zeitrahmens durchführen muss.
  • Außerdem können Datenpakete, die von der Netzwerksichtbarkeitseinrichtung 500 am Eingangsanschluss 504 empfangen werden, in einer Vielfalt von Größen vorliegen. Beispielsweise können Datenpakete in einem Größenbereich von 64 Bytes bis über 9000 Bytes liegen. Wenn das Deduplizierungsprogramm 502 durch einen physischen programmierbaren Switch ausgeführt wird, können diese großen Datenpakete problemlos gehandhabt werden. Wenn jedoch das Deduplizierungsprogramm 502 durch einen virtuellen programmierbaren Switch ausgeführt wird, können diese großen Datenpakete nicht gehandhabt werden, ohne dass dies zu unerwünschter Latenz führt. Daher kann das Feldabgleichverfahren von virtuellen programmierbaren Switches verwendet werden, um Duplikate von Datenpaketen mit hoher Zuverlässigkeit ohne ein Untersuchen der gesamten Nutzdaten zu unterdrücken.
  • Wie zuvor angegeben, werden vom Deduplizierungsprogramm 502 ankommende Datenpakete lediglich mit solchen Datenpaketen verglichen, die im Speicher 508 der Netzwerksichtbarkeitseinrichtung 500 gespeichert sind. Jedoch haben viele Endbenutzer ein ausreichend großes Verkehrsvolumen, dass mehrere Netzwerksichtbarkeitseinrichtungen, auf denen jeweils eine separate Instanz des Deduplizierungsprogramms läuft, verwendet werden müssen, um den Verkehr zu überwachen. In einer verteilten Umgebung von mehreren Netzwerksichtbarkeitseinrichtungen ist es wichtig, dass alle potenziellen Duplikate von Datenpaketen durch dieselbe Instanz des Deduplizierungsprogramms untersucht werden. Lastverteilungsmechanismen (auch als „Lastverteiler“ bezeichnet) können verwendet werden, um zu gewährleisten, dass der bei einer gegebenen Netzwerksichtbarkeitseinrichtung empfangene Verkehr in geeigneter Weise zwischen den mehreren Netzwerksichtbarkeitseinrichtungen aufgeteilt wird.
  • 6 zeigt ein Beispiel eines Lastverteilers 600, der konfiguriert ist, um von einem Quellenknoten 602 empfangene Datenpakete zwischen mehreren Zielknoten 604a-n gemäß einer Lastverteilungsstrategie zu verteilen. Der zweite Knoten 602 kann ein Agent sein, der auf einer virtuellen Maschine eingesetzt wird, ein Verkehrsstromsammler, der außerhalb einer virtuellen Maschine eingesetzt wird, eine Cloud-Computing-Plattform etc. Indessen kann es sich bei den Zielknoten 604a-n um Netzwerksichtbarkeitseinrichtungen handeln, die separate Instanzen eines Deduplizierungsprogramms aufweisen. Somit kann der Lastverteiler 600 gewährleisten, dass Verkehr, der durch einen Pool von mehreren Netzwerkeinrichtungen empfangen wird, zwischen den mehreren Netzwerkeinrichtung in ungefähr gleichartiger Weise aufgeteilt wird.
  • Der Lastverteiler 600 untersucht ankommenden Verkehr, um zu bestimmen, zu welchem Zielknoten von den mehreren Zielknoten 604a-n ein jeweiliges Datenpaket weitergeleitet werden sollte. Für eine geeignete Verteilung des ankommenden Verkehrs auf die mehreren Zielknoten 604a-n kann der Lastverteilungsmechanismus 600 eine Transformationsfunktion anwenden, die einen Wert für jedes Datenpaket erzeugt, und dann den geeigneten Zielknoten für ein jeweiliges Datenpaket basierend auf dem entsprechenden Wert identifizieren. Ein Beispiel für eine Transformationsfunktion ist der HRW-Hashing-Algorithmus (HRW = „Highest Random Weight“, oder auch „Rendezvous Hashing“). Der HRW-Hashing-Algorithmus ist ausgelegt, um eine verteilte Vereinbarung betreffend einen Satz von k Optionen aus einem möglichen Satz von n Optionen zu erzielen.
  • Bei Ausführung durch den Lastverteiler 600 wird vom HRW-Hashing-Algorithmus jedem Zielknoten (VDj ) eine Gewichtung für jedes Datenpaket im ankommenden Verkehr zugewiesen, und dann jedes Datenpaket dem die größte Gewichtung aufweisenden Zielknoten zugewiesen. Wie weiter unten noch ausgeführt wird, können mehrere Lastverteiler verwendet werden, um zu gewährleisten, dass Duplikate von Datenpaketen zu demselben Zielknoten weitergeleitet werden. Eine geeignete Verteilung erfordert jedoch, dass jeder Lastverteiler die gleiche Transformationsfunktion ausführt. Beispielsweise kann jeder bei einem verteilten Deduplizierungsmodell beteiligte Lastverteiler eine identische Hash-Funktion anwenden. Wenn sich alle Lastverteiler in einer Sichtbarkeitsstruktur auf eine Transformationsfunktion geeinigt haben, kann jeder Lastverteiler unabhängig ein Routing von Verkehr basierend auf unter Verwendung der Transformationsfunktion berechneten Werten durchführen. Beispielsweise kann jeder Lastverteiler in unabhängiger Weise Gewichtungen unter Verwendung des HRW-Hashing-Algorithmus berechnen und dann denjenigen Zielknoten auswählen, welcher der größten Gewichtung entspricht.
  • 7A zeigt ein Beispiel einer Netzwerksichtbarkeitseinrichtung 700a, die einen Lastverteiler 704a beinhaltet, der konfiguriert ist, ankommenden Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms zu verteilen. Nach dem Empfangen von Datenpaketen an einem Eingangsanschluss 702 kann die Netzwerksichtbarkeitseinrichtung 700a die Datenpakete unter Verwendung des Lastverteilers 704a in mehrere Sätze aufteilen. Beispielsweise kann der Lastverteiler 704a eine Transformationsfunktion anwenden, die bewirkt, dass ein Wert für jedes Datenpaket erzeugt wird, und dann basierend auf diesen Werten die Datenpakete in Sätze aufteilen. Der einem jeweiligen Datenpaket zugewiesene Wert kann auf Datenpaketeigenschaften basieren, beispielsweise dem Kommunikationsprotokoll, das zu dem Datenpaket gehört (z. B. HTTP, TCP, UDP, IPv4, IPv6), einer laufenden Nummer, einem Sitzungsmerkmal (z. B. ein Zeitstempel), dem Eingangsanschluss, bei dem das Datenpaket empfangen wurde, einer Quellenadresse, einer Zieladresse, einer Header-Länge, einer Nutzdatenlänge etc. Zusätzlich oder alternativ kann der einem jeweiligen Datenpaket zugewiesene Wert auf dem Inhalt eines gewissen Feldes basieren, das beispielsweise im Header enthalten ist.
  • Hierbei ist der Lastverteiler 704a konfiguriert, um die Datenpakete in drei separate Sätze aufzuteilen. Datenpakete, die einen ersten Wert aufweisen (oder einen Wert innerhalb eines ersten Satzes von Werten) werden einem ersten Satz zugeteilt, Datenpakete, die einen zweiten Wert aufweisen (oder einen Wert innerhalb eines zweiten Satzes von Werten) werden einem zweiten Satz zugeteilt, und Datenpakete, die einen dritten Wert aufweisen (oder einen Wert innerhalb eines dritten Satzes von Werten) werden einem dritten Satz zugeteilt. Der Lastverteiler 704a kann auch fähig sein, auf eine Datenstruktur zuzugreifen, die angibt, wie ein jeweiliger Satz von Datenpaketen gehandhabt werden sollte. Hierbei wird der dritte Satz von Datenpaketen zu einem Deduplizierungsprogramm 706a für eine Überprüfung weitergeleitet. Datenpakete im dritten Satz, die eine Überprüfung durch das Deduplizierungsprogramm 706a überdauern, können für eine Downstream-Übertragung zu einem Netzwerk-Werkzeug an einen dritten Ausgangsanschluss 712 weitergeleitet werden. Unterdessen werden der erste Satz von Datenpaketen und der zweite Satz von Datenpaketen zu einem ersten Ausgangsanschluss 708 bzw. einem zweiten Ausgangsanschluss 710 weitergeleitet, und zwar für eine Downstream-Übertragung zu unterschiedlichen Netzwerksichtbarkeitseinrichtungen. Dies kann so erfolgen, dass der erste Satz von Datenpaketen und der zweite Satz von Datenpaketen durch weitere Instanzen des Deduplizierungsprogramms, die sich auf weiteren Netzwerksichtbarkeitseinrichtungen befinden, untersucht werden können. Beispielsweise kann ein Übertragen des ersten Satzes von Datenpaketen an die Netzwerksichtbarkeitseinrichtung A bewirken, dass der erste Satz von Datenpaketen durch eine Instanz des Deduplizierungsprogramms untersucht wird, die sich auf der Netzwerksichtbarkeitseinrichtung A befindet. In ähnlicher Weise kann ein Übertragen des zweiten Satzes von Datenpaketen an die Netzwerksichtbarkeitseinrichtung B bewirken, dass der zweite Satz von Datenpaketen durch eine Instanz des Deduplizierungsprogramms untersucht wird, die sich auf der Netzwerksichtbarkeitseinrichtung B befindet.
  • Bei einigen Ausführungsbeispielen hat der Lastverteiler 704a Zugang zu einer Datenstruktur, die ein Zuordnen von Werten zwischen mehreren Netzwerksichtbarkeitseinrichtungen oder mehreren Instanzen des Deduplizierungsprogramms durchführt. Jeder Wert kann einer einzigen Netzwerksichtbarkeitseinrichtung oder einer einzigen Instanz des Deduplizierungsprogramms zugeordnet sein. Demgemäß kann der Lastverteiler 704a, um zu bestimmen, zu welchem Satz ein gegebenes Datenpaket gehört, auf die Datenstruktur zugreifen, um zu bestimmen, welche Netzwerksichtbarkeitseinrichtung oder welche Instanz des Deduplizierungsprogramms durch einen Eintrag, der dem für das gegebene Datenpaket erzeugten Wert entspricht, bezeichnet wird. Wie später noch weiter ausgeführt wird, kann ein dynamisches Aufbereiten der Datenstruktur erfolgen, ansprechend auf eine Erkennung einer Änderung des Status einer Netzwerksichtbarkeitseinrichtung. Demgemäß kann, falls auf eine bestehende Netzwerksichtbarkeitseinrichtung nicht mehr zugegriffen werden kann, für alle Einträge in der Datenstruktur, die der bestehenden Netzwerkeinrichtung entsprechen, ein Neuzuordnen auf eine oder mehrere unterschiedliche Netzwerksichtbarkeitseinrichtung(en) erfolgen. In ähnlicher Weise kann, falls auf eine neue Netzwerksichtbarkeitseinrichtung zugegriffen werden kann, für einen oder mehrere Einträge der Datenstruktur, die einer oder mehreren bestehenden Netzwerksichtbarkeitseinrichtung(en) entsprechen, ein Neuzuordnen auf die neue Netzwerksichtbarkeitseinrichtung erfolgen. Im Allgemeinen ist der Lastverteiler 704a vollständig Client-basiert. Somit kann der Lastverteiler 704a völlig funktionsfähig sein, ohne dass er dazu mit der/den Netzwerksichtbarkeitseinrichtung(en), zu der/denen er Verkehr übertragen kann, oder der/den virtuellen Maschine(n) zu kommunizieren braucht, von der/denen er Verkehr empfangen kann.
  • 7B zeigt ein weiteres Beispiel einer Netzwerksichtbarkeitseinrichtung 700b, die einen Lastverteiler 704b beinhaltet, der konfiguriert ist, ankommende Datenpakete in Sätze zu sortieren, die zwischen mehreren Instanzen eines Deduplizierungsprogramms zu verteilen sind. Für Datenpakete, die am Eingangsanschluss 702 empfangen wurden, kann der Lastverteiler 704b von 7B in gleicher Weise wie der Lastverteiler 704a von 7A arbeiten. Somit kann ein erster Satz von Datenpaketen und ein zweiter Satz von Datenpaketen zu einem ersten Ausgangsanschluss 708 bzw. einem zweiten Ausgangsanschluss 710 für eine Downstream-Übertragung zu unterschiedlichen Netzwerkeinrichtungen weitergeleitet werden, hingegen kann ein dritter Satz von Datenpaketen zu einem Deduplizierungsprogramm 706b zur Prüfung weitergeleitet werden. Dabei empfängt jedoch die Netzwerksichtbarkeitseinrichtung 700b auch Datenpakete an einem zweiten Eingangsanschluss 714 und einem dritten Eingangsanschluss 716. Diese Datenpakete wurden möglicherweise an die Netzwerksichtbarkeitseinrichtung 700b durch die weiteren Netzwerksichtbarkeitseinrichtungen weitergeleitet, die mit dem ersten Ausgangsanschluss 708 und dem zweiten Ausgangsanschluss 710 verbunden sind.
  • Im Allgemeinen entsprechen die Datenpakete, die am zweiten Eingangsanschluss 714 und dem dritten Eingangsanschluss 716 empfangen wurden, Sätzen, die durch die Lastverteiler erzeugt wurden, welche sich jeweils auf diesen weiteren Netzwerkeinrichtungen befinden. Beispielsweise hat ein auf der Netzwerksichtbarkeitseinrichtung A befindlicher Lastverteiler möglicherweise einen Satz von Datenpaketen erzeugt, der anschließend durch die Netzwerksichtbarkeitseinrichtung 700b am zweiten Eingangsanschluss 714 empfangen wird. In ähnlicher Weise hat ein auf der Netzwerksichtbarkeitseinrichtung B befindlicher Lastverteiler möglicherweise einen Satz von Datenpaketen erzeugt, der anschließend durch die Netzwerksichtbarkeitseinrichtung 700b am dritten Eingangsanschluss 716 empfangen wird. Anstatt zum Lastverteiler 704b geleitet zu werden, können diese Datenpakete direkt zum Deduplizierungsprogramm 706b zur Prüfung weitergeleitet werden. Eine derartige Aktion kann erfolgen, falls weitere Lastverteiler (z. B. die auf der Netzwerksichtbarkeitseinrichtung A und der Netzwerksichtbarkeitseinrichtung B befindlichen) bestimmt haben, dass diese Datenpakete durch den Lastverteiler 704b untersucht werden sollten. Man beachte jedoch, dass diese Datenpakete stattdessen zum Lastverteiler 704b weitergeleitet werden könnten. Da der Lastverteiler 704b die gleiche Transformationsfunktion wie die weiteren Lastverteiler anwendet, werden alle Datenpakete, die am zweiten Eingangsanschluss 714 und dem dritten Eingangsanschluss 716 empfangen wurden, in den dritten Satz einsortiert, der an das Deduplizierungsprogramm 706b zur Prüfung weitergeleitet wird.
  • 8A zeigt ein Beispiel einer verteilten Sichtbarkeitsstruktur 800a, die mehrere Sichtbarkeitseinrichtungen 802a-c beinhaltet, von denen jede eine Instanz eines Deduplizierungsprogramms und eines (nicht dargestellten) Lastverteilers ausführt. 8B zeigt ein weiteres Beispiel einer verteilten Sichtbarkeitsstruktur 800b, die mehrere Netzwerk-Werkzeuge 806a-c beinhaltet. Durch Zusammenarbeit können die mehreren Netzwerksichtbarkeitseinrichtungen 802a-c gewährleisten, dass mögliche Duplikate eines Datenpaketes durch dieselbe Instanz des Deduplizierungsprogramms untersucht werden.
  • Jede Netzwerksichtbarkeitseinrichtung kann Verkehr an einem Netzwerkanschluss empfangen. Dabei empfängt beispielsweise die Netzwerksichtbarkeitseinrichtung 802a virtualisierten Verkehr, der einer Reihe von virtuellen Maschinen entspricht (d. h. VMA1 , VMA2 , ... VMAK ), an einem ersten Netzwerkanschluss (N1 ). Der erste Netzwerkanschluss kann auch als „Eingangsanschluss“ bezeichnet werden. Bei Empfangen des Verkehrs kann ein Lastverteiler die Datenpakete in einen Satz oder mehrere Sätze einsortieren, wie in 7A-B gezeigt. Hierbei hat der Lastverteiler die Datenpakete in drei separate Sätze von Datenpaketen einsortiert. Ein erster Satz von Datenpaketen kann an ein lokales Deduplizierungsprogramm 804a zur Prüfung weitergeleitet werden. Wie in 8A dargestellt, können Datenpakete in dem ersten Satz, die eine Überprüfung durch das lokale Deduplizierungsprogramm 804a überdauern, zu einem zweiten Netzwerkanschluss (N2 ) für eine Downstream-Übertragung an ein Netzwerk-Werkzeug 806 weitergeleitet werden. Der zweite Netzwerkanschluss kann auch als „Werkzeuganschluss“ bezeichnet werden. Wie in 8B dargestellt, könnten Datenpakete in dem ersten Satz, die eine Überprüfung durch das lokale Deduplizierungsprogramm 804a überdauern, auch zu mehreren Werkzeuganschlüssen weitergeleitet werden. Beispielsweise kann die Netzwerksichtbarkeitseinrichtung 802a einen oder mehrere zusätzliche Filter auf die überdauernden Datenpakete in dem ersten Satz anwenden, um zu bestimmen, ob gewisse Teilmengen dieser Datenpakete verworfen, modifiziert, zu einem gewissen Typ von Netzwerk-Werkzeug weitergeleitet etc. werden sollten.
  • Unterdessen kann ein zweiter Satz von Datenpaketen und ein dritter Satz von Datenpaketen zu unterschiedlichen Netzwerkanschlüssen für eine Downstream-Übertragung weitergeleitet werden. Dabei wird beispielsweise der zweite Satz von Datenpaketen zu einem dritten Netzwerkanschluss (N3 ) für eine Übertragung zur Netzwerksichtbarkeitseinrichtung 802b und der dritte Satz von Datenpaketen zu einem vierten Netzwerkanschluss (N4 ) für eine Übertragung zur Netzwerksichtbarkeitseinrichtung 802c weitergeleitet. Die dritten und vierten Netzwerkanschlüsse können auch als „Ausgangsanschlüsse“ bezeichnet werden.
  • Jede Netzwerksichtbarkeitseinrichtung arbeitet typischerweise in im Wesentlichen ähnlicher Weise. Somit kann jede Netzwerksichtbarkeitseinrichtung einen Lastverteiler verwenden, um ankommende Datenpakete in Sätze zu sortieren, mindestens einen Satz zu identifizieren, der an ein lokales Deduplizierungsprogramm zur Überprüfung weitergeleitet werden soll, mindestens einen Satz zu identifizieren, der zu einer weiteren Netzwerksichtbarkeitseinrichtung zur Prüfung durch ein entferntes Deduplizierungsprogramm weitergeleitet werden soll etc. Wenn jedoch jeder Lastverteiler konfiguriert ist, die gleiche Transformationsfunktion anzuwenden, dann werden von einer jeweiligen Instanz des Deduplizierungsprogramms unterschiedliche Teilmengen von Verkehr untersucht. Dies gewährleistet, dass Datenpakete derart weitergeleitet werden, dass garantiert wird, dass Duplikate eines Datenpaketes bei derselben Instanz des Deduplizierungsprogramms ankommen, ungeachtet dessen, welche Netzwerksichtbarkeitseinrichtung(en) die Duplikate des Datenpaketes anfänglich erhalten hat/haben.
  • Beispielsweise kann die Netzwerksichtbarkeitseinrichtung 802a Verkehr empfangen, der basierend auf dem Wert, der einem jeweiligen Datenpaket durch einen ersten Lastverteiler zugewiesen wurde, in drei separate Sätze von Datenpaketen sortiert wurde. Der erste Lastverteiler kann bestimmen, dass ein erster Satz von Datenpaketen an das Deduplizierungsprogramm 804a zur Prüfung weitergeleitet werden sollte. Der erste Satz von Datenpaketen kann alle Datenpakete in dem Verkehr beinhalten, die eine gewisse Eigenschaft aufweisen. Unterdessen kann die Netzwerksichtbarkeitseinrichtung 802b Verkehr empfangen, der basierend auf dem Wert, der einem jeweiligen Datenpaket durch einen zweiten Lastverteiler zugewiesen wurde, ebenfalls in drei separate Sätze von Datenpaketen sortiert wurde. Der zweite Lastverteiler kann bestimmen, dass ein zweiter Satz von Datenpaketen durch das Deduplizierungsprogramm 804a untersucht werden sollte, da diese Datenpakete die gewisse Eigenschaft mit dem ersten Satz von Datenpaketen gemeinsam haben. Somit kann der auf der Netzwerksichtbarkeitseinrichtung 802b befindliche Lastverteiler veranlassen, dass der zweite Satz von Datenpaketen an einen Netzwerkanschluss (z. B. N3 ) für eine Übertragung an die Netzwerksichtbarkeitseinrichtung 802a weitergeleitet wird. Eine derartige Aktion kann über die mehreren Netzwerksichtbarkeitseinrichtungen 802a-c hinweg ausgeführt werden, um zu gewährleisten, dass Duplikate eines Datenpaketes durch dieselbe Instanz des Deduplizierungsprogramms untersucht werden.
  • 9 zeigt einen Prozess 900 für ein Erzielen einer verteilten Deduplizierung durch intelligentes Routing von Verkehr zwischen mehreren Instanzen eines Deduplizierungsprogramms. Anfänglich wird Verkehr an einem Eingangsanschluss einer Netzwerksichtbarkeitseinrichtung empfangen (Schritt 901). Der Verkehr kann beispielsweise virtualisierten Verkehr beinhalten, der zu einer oder mehreren virtuellen Maschinen gehört.
  • Die Netzwerksichtbarkeitseinrichtung kann dann einen Lastverteiler auffordern, eine Transformationsfunktion anzuwenden, um einen Wert für ein jeweiliges Datenpaket zu erzeugen (Schritt 902), und dann auf eine Datenstruktur zugreifen, die eine Zuordnung der Werte zwischen mehreren Instanzen eines Deduplizierungsprogramms oder mehreren Netzwerksichtbarkeitseinrichtungen vornimmt (Schritt 903). Im Allgemeinen ist jeder Wert nur einer einzigen Instanz des Deduplizierungsprogramms zugeordnet. Demgemäß ist, wenn der Lastverteiler auf die Datenstruktur zugreift, der Lastverteiler in der Lage, ein einziges Ziel für ein gegebenes Datenpaket zu identifizieren. Bei einigen Ausführungsbeispielen trennt der Lastverteiler den Verkehr in mehrere Sätze von Datenpaketen basierend auf diesen Werten (Schritt 904). Beispielsweise kann der Lastverteiler einen ersten Satz erzeugen, der alle Datenpakete beinhaltet, die Einträgen in der Datenstruktur entsprechen, welche eine erste Instanz des Deduplizierungsprogramms bezeichnen, einen zweiten Satz erzeugen, der alle Datenpakete beinhaltet, die Einträgen in der Datenstruktur entsprechen, welche eine zweite Instanz des Deduplizierungsprogramms bezeichnen, etc.
  • Der Lastverteiler kann mindestens einen Satz von Datenpaketen an eine lokale Instanz des Deduplizierungsprogramms zur Prüfung weiterleiten (Schritt 905). Datenpakete in dem mindestens einen Satz, die eine Prüfung durch die lokale Instanz des Deduplizierungsprogramms überdauern, können für eine Übertragung zu einem Netzwerk-Werkzeug zu einem Werkzeuganschluss weitergeleitet werden. Der Lastverteiler kann auch mindestens einen weiteren Satz von Datenpaketen für eine Übertragung zu einer zweiten Netzwerksichtbarkeitseinrichtung an einen Ausgangsanschluss weiterleiten (Schritt 906). Eine derartige Aktion kann erfolgen, wenn der Lastverteiler bestimmt (z. B. durch Prüfen der Datenstruktur), dass der mindestens eine weitere Satz durch eine entfernte Instanz des Deduplizierungsprogramms überprüft werden soll, die sich auf der zweiten Netzwerksichtbarkeitseinrichtung befindet.
  • Bei einigen Ausführungsbeispielen kann die Netzwerksichtbarkeitseinrichtung konfiguriert sein, die Datenstruktur dynamisch zu modifizieren, um Verkehrsverteilungsmuster abzuändern, wenn bestehende Netzwerksichtbarkeitseinrichtungen nicht mehr verfügbar sind, neue Netzwerksichtbarkeitseinrichtungen verfügbar werden etc. Beispielsweise kann die Netzwerksichtbarkeitseinrichtung einen Hinweis erhalten, dass auf die zweite Netzwerksichtbarkeitseinrichtung aktuell nicht zugegriffen werden kann (Schritt 907). Bei derartigen Ausführungsbeispielen kann die Netzwerksichtbarkeitseinrichtung Einträge in der Datenstruktur modifizieren, die dem mindestens einen weiteren Satz von Datenpaketen entsprechen, um eine dritte Instanz des Deduplizierungsprogramms oder eine dritte Netzwerksichtbarkeitseinrichtung zu bezeichnen (Schritt 908). Ein Modifizieren der Einträge bewirkt, dass der Lastverteiler den mindestens einen weiteren Satz von Datenpaketen für eine Übertragung an die dritte Netzwerksichtbarkeitseinrichtung an einen weiteren Ausgangsanschluss weiterleitet.
  • Außerdem kann die Netzwerksichtbarkeitseinrichtung konfiguriert sein, einen Satz von Datenpakten an einem weiteren Eingangsanschluss zu empfangen. Wie in 8A-B dargestellt, kann der Satz von Datenpaketen durch eine weitere Netzwerksichtbarkeitseinrichtung übertragen werden (z. B. die zweite Netzwerksichtbarkeitseinrichtung oder die dritte Netzwerksichtbarkeitseinrichtung), und zwar ansprechend auf eine Bestimmung, dass der Satz von Datenpaketen durch die lokale Instanz des Deduplizierungsprogramms untersucht werden soll. Bei derartigen Ausführungsbeispielen kann der Satz von Datenpaketen an die lokale Instanz des Deduplizierungsprogramms zur Prüfung weitergeleitet werden.
  • 10 stellt einen Prozess 1000 zur Implementierung eines verteilten Deduplizierungsmodells dar. Obschon die Schritte des Prozesses 1000 so beschrieben sind, dass sie durch einen Controller durchgeführt werden, der konfiguriert ist, mehrere Netzwerksichtbarkeitseinrichtungen zu verwalten, ist es für Fachleute klar, dass die Schritte auch durch eine der Netzwerksichtbarkeitseinrichtungen durchgeführt werden könnten.
  • Zu Anfang identifiziert ein Controller mehrere Netzwerksichtbarkeitseinrichtungen, die in ein verteiltes Deduplizierungsmodell eingeschlossen werden sollen (Schritt 1001). Bei einigen Ausführungsbeispielen ist jede Netzwerksichtbarkeitseinrichtung der mehreren Netzwerksichtbarkeitseinrichtungen demselben Endbenutzer zugehörig (z. B. einer Einzelperson oder einer Firma). Bei weiteren Ausführungsbeispielen wird die geeignete Anzahl von Netzwerksichtbarkeitseinrichtung beruhend auf dem erwarteten zu untersuchenden Verkehrsvolumen bestimmt. Das Verkehrsvolumen kann basierend auf in der Vergangenheit angetroffenen Volumen, der Anzahl der zu überwachenden virtuellen Maschinen etc. abgeschätzt werden.
  • Der Controller kann dann einen separaten Lastverteiler auf jeder Netzwerksichtbarkeitseinrichtung instanziieren (Schritt 1002), sowie auch eine separate Instanz eines Deduplizierungsprogramms auf jeder Netzwerksichtbarkeitseinrichtung instanziieren (Schritt 1003). Wie zuvor beschrieben, können die mehreren Instanzen des Deduplizierungsprogramms verwendet werden, um Verkehrsvolumen zu filtern, die durch ein einzelnes Deduplizierungsprogramm nicht gehandhabt werden könnten.
  • Der Controller kann auch einen Kommunikationskanal zwischen jeder Netzwerksichtbarkeitseinrichtung aufbauen (Schritt 1004). Um die Erzeugung eines jeweiligen Kommunikationskanals zu erleichtern, kann der Controller eine sortierte Liste von Netzwerkanschlüssen für jeden Lastverteiler konfigurieren, wie in Tabelle I dargestellt. Tabelle I: Sortierte Liste von Netzwerkanschlüssen für jeden Lastverteiler, der in einem Pool von n Netzwerksichtbarkeitseinrichtungen instanziiert ist, wobei Di die Deduplizierungsprogramminstanz auf einer Netzwerksichtbarkeitseinrichtung i und Vi eine Tunnel-Verbindung zu einer Netzwerksichtbarkeitseinrichtung i ist.
    Netzwerksichtbarkeitseinrichtung Sortierte Liste von Netzwerkanschlüssen
    1 [D1, V2, ... Vn-1, Vn]
    2 [V1, D2, ... Vn-1, Vn]
    ... ...
    i [V1, V2, ... , Vi-1, Di, Vi+1, ... , Vn-1, Vn]
    ... ...
    n - 1 [V1, V2, ... Dn-1, Vn]
    n [V1, V2, ... Vn-1, Dn]
  • Somit beinhaltet jede Netzwerksichtbarkeitseinrichtung einen Netzwerkanschluss entsprechend jeder weiteren Netzwerksichtbarkeitseinrichtung der mehreren Netzwerksichtbarkeitseinrichtungen. Bei einigen Ausführungsbeispielen ist der Netzwerkanschluss bidirektional (d. h. er kann Datenpakete senden und empfangen), hingegen ist bei weiteren Ausführungsbeispielen der Netzwerkanschluss unidirektional (d. h. er kann Datenpakete lediglich senden oder empfangen). Falls der Netzwerkanschluss unidirektional ist, kann ein jeweiliger Kommunikationskanal einem Paar von Netzwerkanschlüssen entsprechen (z. B. einem Eingangsanschluss, über den Datenpakete empfangen werden, und einem Ausgangsanschluss, über den Datenpakete gesendet werden).
  • Jeder Kommunikationskanal kann über einen Tunnel zwischen den entsprechenden Netzwerksichtbarkeitseinrichtungen aufgebaut werden. Wie zuvor angegeben, handelt es sich bei einem „Tunnel“ um einen Mechanismus, der verwendet werden kann, um in zuverlässiger Weise Verkehr über ein Netzwerk zu übertragen. Demgemäß kann Verkehr zwischen Paaren von Netzwerksichtbarkeitseinrichtungen übertragen werden, die jeweils einen Tunnel-Endpunkt beinhalten. Die Anzahl von Tunneln, die zur Erzeugung eines vollständig verbundenen Netzes zwischen n Netzwerksichtbarkeitseinrichtungen benötigt wird, ist gegeben durch: C = n ( n 1 ) 2
    Figure DE202019103185U1_0001
  • Außerdem beinhaltet jede Netzwerksichtbarkeitseinrichtung, die in dem vollständig verbundenen Netz enthalten ist, n-1 Tunnel-Endpunkte (d. h. einen Tunnel-Endpunkt für jede entfernte Instanz des Deduplizierungsprogramms). Obschon 8A-B drei Netzwerksichtbarkeitseinrichtungen beinhalten, könnte eine Sichtbarkeitsstruktur eine beliebige Anzahl von Netzwerksichtbarkeitseinrichtungen beinhalten. Beispielsweise kann eine Sichtbarkeitsstruktur, die 32 Netzwerksichtbarkeitseinrichtungen beinhaltet (d. h. n = 32) und Endpunkt-zu-Netzwerksichtbarkeitseinrichtung-Zuordnungsverhältnisse von 8:1 bis 32:1 aufweist, ohne Weiteres eine verteilte Deduplizierung über 265 bis 1024 unterschiedliche Endpunkte (z. B. virtuelle Maschinen) unterstützen. Größere Konfigurationen (d. h., n > 32) sind auch möglich, obschon bei diesen Situationen eine Mehrebenen-Hierarchie von Netzwerksichtbarkeitseinrichtungen verwendet werden kann, um ein Kaskadieren von Verkehr über mehrere hierarchische Ebenen durchzuführen.
  • Der Controller kann dann die separaten Lastverteiler programmieren, um eine identische Transformationsfunktion auf ankommende Datenpakete anzuwenden (Schritt 1005). Beispielsweise kann jeder Lastverteiler so programmiert sein, dass er die gleiche Hash-Funktion verwendet. Wenn sich alle Lastverteiler in einer Sichtbarkeitsstruktur auf eine Transformationsfunktion geeinigt haben, kann jeder Lastverteiler unabhängig ein Routing von Verkehr basierend auf unter Verwendung der Transformationsfunktion berechneten Werten durchführen. Beispielsweise kann jeder Lastverteiler in unabhängiger Weise Gewichtungen unter Verwendung des HRW-Hashing-Algorithmus berechnen und dann denjenigen Zielknoten auswählen, welcher der größten Gewichtung entspricht.
  • Diese Schritte können in verschiedenen Abfolgen durchgeführt werden. Beispielsweise könnte jeder Lastverteiler so programmiert sein, dass er eine identische Transformationsfunktion anwendet, bevor er auf einer entsprechenden Netzwerksichtbarkeitseinrichtung instanziiert wird. Als weiteres Beispiel könnte eine separate Instanz des Deduplizierungsprogramms auf jeder Netzwerksichtbarkeitseinrichtung instanziiert werden, bevor ein separater Lastverteiler auf jeder Netzwerksichtbarkeitseinrichtung instanziiert wird.
  • Verarbeitungssystem
  • 11 beinhaltet ein Blockdiagramm, das ein Beispiel eines Verarbeitungssystems 1100 darstellt, in dem zumindest einige der hier beschriebenen Operationen implementiert werden können. Beispielsweise kann das Verarbeitungssystem 1100 zur Erzeugung einer Schnittstelle verantwortlich sein, über die ein Endbenutzer mehrere bei einem verteilten Deduplizierungsmodell beteiligte Netzwerksichtbarkeitseinrichtungen verwaltet. Als weiteres Beispiel kann zumindest ein Teil des Verarbeitungssystems 1100 in einer Rechnervorrichtung (z. B. einem Server) enthalten sein, die eine Netzwerksichtbarkeitseinrichtung und/oder eine Cloud-Rechnerplattform unterstützt. Das Verarbeitungssystem 1100 kann einen oder mehrere Prozessoren 1102, einen Hauptspeicher 1106, einen nicht-flüchtigen Speicher 1110, einen Netzwerkadapter 1112 (z. B. Netzwerkschnittstellen), eine Anzeige 1118, Eingabe-/Ausgabevorrichtungen 1120, eine Steuervorrichtung 1122 (z. B. eine Tastatur und Zeigegeräte), eine Laufwerkeinheit 1124, die ein Speichermedium 1126 beinhaltet, und eine Signalgeneratorvorrichtung 1130 beinhalten, die mit einem Bus 1116 kommunikativ verbunden. Der Bus 1116 ist abstrakt dargestellt und repräsentiert eines oder mehrere der beiden folgenden Elemente, und zwar separate physische Busse, Punkt-zu-Punkt-Verbindungen, oder beide, wobei diese durch geeignete Brücken, Adapter oder Steuereinrichtungen verbunden sind. Der Bus 1116 kann daher beispielsweise einen Systembus, einen PCI-Bus (PCI = Peripheral Component Interconnect) oder einen PCI-Express-Bus, einen ISA-Bus (ISA = Industry Standard Architecture), einen SCSI-Bus (SCSI = Small Computer System Interface), einen USB-Bus (USB = Universal Serial Bus), einen IIC- oder I2C-Bus, oder einen Bus gemäß dem IEEE-Standard 1354 (IEEE = Institute of Electrical and Electronics Engineers) beinhalten, der auch als „Fireware“ bezeichnet wird. Ein Bus kann auch für eine Weitergabe von Datenpaketen (z. B. über Voll- oder Halbduplexleitungen) zwischen Komponenten einer Netzwerkeinrichtung, wie beispielsweise einer Switching-Engine, einem oder mehreren Netzwerkanschlüssen, einem oder mehreren Werkzeuganschlüssen etc. verantwortlich sein.
  • Bei verschiedenen Ausführungsbeispielen arbeitet das Verarbeitungssystem 1100 als eigenständiges Gerät, obschon das Verarbeitungssystem 1100 mit weiteren Geräten verbunden sein kann (z. B. kabelgebunden oder drahtlos). Beispielsweise kann das Verarbeitungssystem 1100 ein Endgerät beinhalten, das direkt mit einer Netzwerkeinrichtung verbunden ist. Als weiteres Beispiel kann das Verarbeitungssystem 1100 mit der Netzwerkeinrichtung drahtlos verbunden sein.
  • Bei verschiedenen Ausführungsbeispielen kann das Verarbeitungssystem 1100 ein Server-Computer, ein Client-Computer, ein Personal-Computer (PC), ein Benutzergerät, ein Tablet-PC, ein Laptop-Computer, ein persönlicher digitaler Assistent (PDA), ein Mobiltelefon, ein iPhone, ein iPad, ein Blackberry, ein Prozessor, ein Telefon, eine Web-Anwendung, ein Netzwerk-Router, ein Switch oder eine Bridge, eine Konsole, eine tragbare Konsole, ein (tragbares) Spielgerät, ein Musikabspielgerät, jegliches tragbare mobile Handgerät, oder jegliche Maschine sein, die fähig ist, einen Satz von (sequentiellen oder anderen) Anweisungen auszuführen, die Aktionen spezifizieren, welche durch das Verarbeitungssystem 1100 vorzunehmen sind.
  • Obschon der Hauptspeicher 1106, der nicht-flüchtige Speicher 1110 und das Speichermedium 1126 (auch als „maschinenlesbares Medium“ bezeichnet), als einzelnes Medium dargestellt sind, sollte der Begriff „maschinenlesbares Medium“ und „Speichermedium“ so verstanden werden, dass er ein einzelnes Medium oder mehrere Medien umfasst (z. B. eine zentrale oder verteilte Datenbank, und/oder zugehörige Cache-Speicher und Server), die einen oder mehrere Sätze von Anweisungen 1128 speichern. Der Begriff „maschinenlesbares Medium“ und „Speichermedium“ sollen ebenfalls so verstanden werden, dass sie jegliches Medium beinhalten, welches fähig ist, einen Satz von Anweisungen zur Ausführung durch das Verarbeitungssystem 1100 zu speichern, zu codieren oder zu tragen, und welches das Verarbeitungssystem 1100 veranlasst, eine oder mehrere von jeglichen der Methodiken der vorliegend offenbarten Ausführungsbeispiele durchzuführen.
  • Im Allgemeinen können die Routinen, die zur Implementierung der Technik ausgeführt werden, als Teil eines Betriebssystems oder einer speziellen Anwendung, Komponente, Programm, Objekt, Modul oder Abfolge von Anweisungen (die insgesamt als „Computerprogramme“ bezeichnet werden) implementiert sein. Die Computerprogramme beinhalten typischerweise eine oder mehrere Anweisungen (z. B. Anweisungen 1104, 1108, 1128), die zu verschiedenen Zeiten in verschiedenen Arbeitsspeicher- und Festspeichervorrichtungen in einem Computer festgelegt sind, und die bei Lesen und Ausführen durch eine oder mehrere Verarbeitungseinheiten oder Prozessoren 1102 das Verarbeitungssystem 1100 veranlassen, Operationen durchzuführen, um Elemente auszuführen, welche die verschiedenen Aspekte der Offenbarung involvieren.
  • Außerdem verstehen Fachleute, obschon eine Beschreibung von Ausführungsformen im Kontext von vollständig funktionsfähigen Computern und Computersystemen erfolgte, dass die verschiedenen Ausführungsbeispiele als Programmprodukt in vielfältiger Form vertrieben werden können, und dass die Offenbarung, ungeachtet des speziellen Typs von maschinen- oder computerlesbaren Medien, die für die tatsächliche Durchführung des Vertriebs verwendet werden, in gleicher Weise Gültigkeit hat.
  • Weitere Beispiele für maschinenlesbare Speichermedien, maschinenlesbare Medien oder computerlesbare (Speicher-)Medien beinhalten Medien vom beschreibbaren Typ, wie beispielsweise flüchtige und nicht-flüchtige Speichervorrichtungen 1110, Disketten und andere Wechselplatten, Festplattenlaufwerke, optische Platten (z. B. CD-ROMs (CD-ROM = Compact Disk Read-Only Memory), DVDs (DVD = Digital Versatile Disk)) und Medien vom Übertragungstyp wie beispielsweise digitale und analoge Kommunikationsverbindungen.
  • Der Netzwerkadapter 1112 ermöglicht dem Verarbeitungssystem 1100, Daten in einem Netzwerk 1114 mit einer Entität auszutauschen, die sich außerhalb des Verarbeitungssystems 1100 befindet, beispielsweise einer Netzwerkeinrichtung, und zwar mittels jeglichem bekannten und/oder zweckmäßigen Kommunikationsprotokoll, das durch das Verarbeitungssystem 1100 und die externe Entität unterstützt wird. Der Netzwerkadapter 1112 kann eine oder mehrere der folgenden Elemente beinhalten, und zwar eine Netzwerkadapterkarte, eine drahtlose Netzwerkschnittstellenkarte, einen Router, einen Access-Point, einen drahtlosen Router, einen Switch, einen Multilayer-Switch, einen Protokollwandler, ein Gateway, eine Bridge, einen Bridge-Router, einen Hub, einen digitalen Medienempfänger und/oder einen Repeater.
  • Der Netzwerkadapter 1112 kann eine Firewall beinhalten, die bei einigen Ausführungsbeispielen Berechtigungen für einen Zugriff / stellvertretenden Zugriff auf Daten in einem Computernetzwerk regeln und/oder verwalten kann, und verschiedene Vertrauensebenen zwischen unterschiedlichen Maschinen und/oder Anwendungen nachverfolgen kann. Die Firewall kann eine beliebige Anzahl von Modulen beinhalten, die eine beliebige Kombination von Hardware- und/oder Softwarekomponenten aufweisen, welche fähig sind, einen vorbestimmten Satz von Zugriffsrechten zwischen einem speziellen Satz von Maschinen und Anwendungen, Maschinen und Maschinen, und/oder Anwendungen und Anwendungen durchzusetzen, beispielsweise, um den Verkehrsstrom und eine gemeinsame Nutzung von Ressourcen zwischen diesen verschiedenen Entitäten zu regeln. Zusätzlich kann die Firewall eine Zugangskontrollliste verwalten und/oder Zugriff auf diese haben, wobei in dieser Liste Berechtigungen detailliert angegeben sind, einschließlich beispielsweise der Rechte einer Einzelperson, einer Maschine und/oder einer Anwendung für das Zugreifen auf und das Operieren mit einem Objekt, und die Umstände, unter welchen diese Berechtigungen Gültigkeit haben.
  • Weitere Netzwerksicherheitsfunktionen können durch die Funktionen der Firewall durchgeführt werden oder in diesen enthalten sein, einschließlich einer Angriffsabwehr, einer Angriffserkennung, einer Next-Generation-Firewall, einer Personal-Firewall etc.
  • Wie zuvor angegeben, sind die hier vorgestellten Verfahren beispielsweise implementiert durch: programmierbare Schaltkreise (z. B. einen oder mehrere Mikroprozessoren), mittels Programmierung mit Software und/oder Firmware, vollständig als spezielle fest verdrahtete (d. h. nicht-programmierbare) Schaltkreise, oder als Kombination solcher Formen. Spezialschaltkreise können beispielsweise in Form von einer oder mehreren ASICs (ASIC = Application-Specific Integrated Circuit = anwendungsspezifische integrierte Schaltung), PLDs (PLD = Programmable Logic Device = programmierbare logische Schaltung), FPGAs (FPGA = Field Programmable Gate Array = im Einsatz programmierbare Gatteranordnung) etc. vorliegen.
  • Man beachte, dass jede der zuvor beschriebenen Ausführungsformen mit einer weiteren Ausführungsform kombiniert werden kann, außer insoweit zuvor anders angegeben oder insoweit irgendwelche dieser Ausführungsformen sich gegenseitig funktionell und/oder strukturell ausschließen.
  • Obschon die vorliegende Erfindung mit Bezug auf spezielle beispielhafte Ausführungsformen beschrieben wurde, versteht es sich, dass die Erfindung nicht auf die beschriebenen Ausführungsformen eingeschränkt ist, sondern innerhalb des Schutzumfangs der anliegenden Ansprüche mit Modifikationen und Änderungen umgesetzt werden kann.

Claims (25)

  1. Datenträger mit darauf gespeicherten Daten, oder Daten repräsentierende Signalsequenz, die ausgebildet ist, um über ein Computernetzwerk übertragen zu werden, wobei die Daten Programmanweisungen repräsentieren, die bei Ausführung durch ein System, das einen oder mehrere Prozessoren beinhaltet, das System veranlassen, Operationen durchzuführen, die beinhalten: Empfangen von virtualisiertem Verkehr an einem ersten Eingangsanschluss einer ersten Netzwerksichtbarkeitseinrichtung; Trennen des virtualisierten Verkehrs in einen ersten Satz von Datenpaketen, die eine erste Eigenschaft gemeinsam haben, wobei der erste Satz durch eine erste Instanz eines Deduplizierungsprogramms zu untersuchen ist, das in der ersten Netzwerksichtbarkeitseinrichtung ausgeführt wird, und einen zweiten Satz von Datenpaketen, die eine zweite Eigenschaft gemeinsam haben, wobei der zweite Satz durch eine zweite Instanz eines Deduplizierungsprogramms zu untersuchen ist, das in einer zweiten Netzwerksichtbarkeitseinrichtung ausgeführt wird, Empfangen eines dritten Satzes von Datenpaketen an einem zweiten Eingangsanschluss der ersten Netzwerksichtbarkeitseinrichtung; Bestimmen, dass alle Datenpakete in dem dritten Satz die erste Eigenschaft gemeinsam haben; Weiterleiten aller Datenpakete des ersten Satzes und aller Datenpakete des dritten Satzes an die erste Instanz des Deduplizierungsprogramms zur Prüfung; und Weiterleiten aller Datenpakete des zweiten Satzes an einen Ausgangsanschluss zur Übertragung an die zweite Netzwerksichtbarkeitseinrichtung.
  2. Datenträger oder Signalsequenz nach Anspruch 1, wobei der virtualisierte Verkehr einer ersten virtuellen Maschine zugehörig ist, und wobei der dritte Satz von Datenpaketen in virtualisiertem Verkehr enthalten ist, der einer zweiten virtuellen Maschine zugehörig ist.
  3. Datenträger oder Signalsequenz nach Anspruch 1 oder Anspruch 2, wobei das Trennen beinhaltet: Generieren eines Hash-Wertes für jedes Datenpaket, das in dem virtualisierten Verkehr enthalten ist, wodurch eine Mehrzahl von Hash-Werten erzeugt werden; Zugreifen auf eine Datenstruktur, welche die Mehrzahl von Hash-Werten zwischen einer Mehrzahl von Instanzen des Deduplizierungsprogramms zuordnet, wobei jeder Hash-Wert nur einer einzigen Instanz des Deduplizierungsprogramms zugeordnet wird, und wobei jede Instanz des Deduplizierungsprogramms in einer unterschiedlichen Netzwerksichtbarkeitseinrichtung ausgeführt wird; Bestimmen, dass jedes Datenpaket in dem ersten Satz von Datenpaketen einem Eintrag in der Datenstruktur entspricht, der die erste Instanz des Deduplizierungsprogramms bezeichnet; und Bestimmen, dass jedes Datenpaket in dem zweiten Satz von Datenpaketen einem Eintrag in der Datenstruktur entspricht, der die zweite Instanz des Deduplizierungsprogramms bezeichnet.
  4. Datenträger oder Signalsequenz nach Anspruch 3, weiter beinhaltend: Empfangen eines Hinweises, dass auf die zweite Netzwerksichtbarkeitseinrichtung aktuell nicht zugegriffen werden kann; und Modifizieren von Einträgen in der Datenstruktur, die dem zweiten Satz von Datenpaketen entsprechen, um eine dritte Instanz des Deduplizierungsprogramms anzugeben, wobei die dritte Instanz des Deduplizierungsprogramms sich auf einer dritten Netzwerksichtbarkeitseinrichtung befindet, und wobei das Modifizieren veranlasst, dass der zweite Satz von Datenpaketen für eine Übertragung an die dritte Netzwerksichtbarkeitseinrichtung an einen zweiten Ausgangsanschluss weitergeleitet wird.
  5. Datenträger oder Signalsequenz nach einem der Ansprüche 1 bis 4, wobei der virtualisierte Verkehr einer Mehrzahl von virtuellen Maschinen zugehörig ist.
  6. System, aufweisend eine erste Netzwerksichtbarkeitseinrichtung, die mindestens einen ersten Prozessor aufweist, und eine zweite Netzwerksichtbarkeitseinrichtung, die mindestens einen zweiten Prozessor aufweist, wobei das System ausgebildet ist, Operationen durchzuführen, welche die Operationen nach einem der Ansprüche 1 bis 5 beinhalten.
  7. System, aufweisend eine erste Netzwerksichtbarkeitseinrichtung, die einen ersten Speicher und mindestens einen ersten Prozessor aufweist, und eine zweite Netzwerksichtbarkeitseinrichtung, die einen zweiten Speicher und mindestens einen zweiten Prozessor aufweist, wobei der erste Speicher und der zweite Speicher mit Programmanweisungen gemäß den Daten programmiert sind, die im Datenträger nach einem der Ansprüche 1 bis 5 gespeichert sind oder durch die Signalsequenz nach einem der Ansprüche 1 bis 5 repräsentiert sind.
  8. Datenträger mit darauf gespeicherten Daten, oder Daten repräsentierende Signalsequenz, die ausgebildet ist, um über ein Computernetzwerk übertragen zu werden, wobei die Daten Programmanweisungen repräsentieren, die bei Ausführung durch ein System, das einen oder mehrere Prozessoren beinhaltet, das System veranlassen, Operationen durchzuführen, die beinhalten: Anwenden, durch eine Netzwerkeinrichtung, einer spezifizierten Transformationsfunktion, um einen Wert für jedes einer Mehrzahl von Datenpaketen zu generieren, die an einem ersten Eingangsanschluss der Netzwerkeinrichtung empfangen werden, um eine Mehrzahl von Werten zu erzeugen; und Verwenden, durch die Netzwerkeinrichtung, der Mehrzahl von Werten, um zu identifizieren einen ersten Satz von Datenpaketen, die durch eine lokale Instanz eines Deduplizierungsprogramms zu untersuchen sind, die in der Netzwerkeinrichtung ausgeführt wird, und einen zweiten Satz von Datenpaketen, die durch eine entfernte Instanz des Deduplizierungsprogramms zu untersuchen sind, die in einer weiteren Netzwerkeinrichtung ausgeführt wird.
  9. Datenträger mit darauf gespeicherten Daten, oder Daten repräsentierende Signalsequenz, die ausgebildet ist, um über ein Computernetzwerk übertragen zu werden, wobei die Daten Programmanweisungen repräsentieren, die bei Ausführung durch eine Netzwerkeinrichtung die Netzwerkeinrichtung veranlassen, Operationen durchzuführen, die beinhalten: Anwenden, durch die Netzwerkeinrichtung, einer spezifizierten Transformationsfunktion, um einen Wert für jedes einer Mehrzahl von Datenpaketen zu generieren, die an einem ersten Eingangsanschluss der Netzwerkeinrichtung empfangen werden, um eine Mehrzahl von Werten zu erzeugen; und Verwenden, durch die Netzwerkeinrichtung, der Mehrzahl von Werten, um zu identifizieren einen ersten Satz von Datenpaketen, die durch eine lokale Instanz eines Deduplizierungsprogramms zu untersuchen sind, das in der Netzwerkeinrichtung ausgeführt wird, und einen zweiten Satz von Datenpaketen, die durch eine entfernte Instanz des Deduplizierungsprogramms zu untersuchen sind, das in einer weiteren Netzwerkeinrichtung ausgeführt wird.
  10. Datenträger oder Signalsequenz nach Anspruch 8 oder Anspruch 9, wobei die Operationen weiter beinhalten: Veranlassen, durch die Netzwerkeinrichtung, dass der erste Satz von Datenpaketen durch die lokale Instanz des Deduplizierungsprogramms untersucht wird; und Weiterleiten, durch die Netzwerkeinrichtung, mindestens eines Teils des ersten Satzes von Datenpaketen an einen Werkzeuganschluss für eine Übertragung an ein Netzwerk-Werkzeug.
  11. Datenträger oder Signalsequenz nach Anspruch 10, wobei die Operationen weiter beinhalten: Weiterleiten, durch die Netzwerkeinrichtung, des zweiten Satzes von Datenpaketen an einen Ausgangsanschluss für eine Übertragung an die weitere Netzwerkeinrichtung.
  12. Datenträger oder Signalsequenz nach Anspruch 11, wobei die Operationen weiter beinhalten: Empfangen, durch die Netzwerkeinrichtung, eines dritten Satzes von Datenpaketen von der weiteren Netzwerkeinrichtung an einem zweiten Eingangsanschluss; Veranlassen, durch die Netzwerkeinrichtung, dass der dritte Satz von Datenpaketen durch die lokale Instanz des Deduplizierungsprogramms untersucht werden soll; und Weiterleiten, durch die Netzwerkeinrichtung, zumindest eines Teils des dritten Satzes von Datenpaketen an den Netzwerkanschluss für eine Übertragung an das Netzwerk-Werkzeug.
  13. Datenträger oder Signalsequenz nach Anspruch 12, wobei der zweite Eingangsanschluss dem einen Ende eines Tunnels entspricht, der eine Verbindung zwischen der Netzwerkeinrichtung und der weiteren Netzwerkeinrichtung herstellt.
  14. Datenträger oder Signalsequenz nach einem der Ansprüche 8 bis 13, wobei das Verwenden der Mehrzahl von Werten, um den ersten und den zweiten Satz von Datenpaketen zu identifizieren, beinhaltet: Zugreifen, durch die Netzwerkeinrichtung, auf eine Datenstruktur, welche die Mehrzahl von Werten zwischen einer Mehrzahl von Instanzen des Deduplizierungsprogramms zuordnet, wobei jeder Wert nur einer einzigen Instanz des Deduplizierungsprogramms zugeordnet wird, und wobei jede Instanz des Deduplizierungsprogramms in einer unterschiedlichen Netzwerksichtbarkeitseinrichtung ausgeführt wird; Bestimmen, durch die Netzwerkeinrichtung, dass jedes Datenpaket in dem ersten Satz von Datenpaketen einem Eintrag entspricht, der die lokale Instanz des Deduplizierungsprogramms bezeichnet; und Bestimmen, durch die Netzwerkeinrichtung, dass jedes Datenpaket in dem zweiten Satz von Datenpaketen einem Eintrag entspricht, der die entfernte Instanz des Deduplizierungsprogramms bezeichnet.
  15. Datenträger oder Signalsequenz nach einem der Ansprüche 8 bis 14, wobei jeder Wert auf einem Feld in einem Header des entsprechenden Datenpaketes basiert.
  16. Datenträger oder Signalsequenz nach einem der Ansprüche 8 bis 15, wobei jeder Wert auf mindestens einem der folgenden Elemente basiert: TCP-Laufnummer (TCP = Transmission Control Protocol = Übertragungssteuerungsprotokoll), Header-Länge, Nutzdatenlänge, Diensttyp, Protokoll, Quellenadresse oder Zieladresse.
  17. Netzwerkeinrichtung, die mindestens einen Prozessor aufweist, wobei die Netzwerkeinrichtung ausgebildet ist, Operationen durchzuführen, welche die Operationen nach einem der Ansprüche 8 bis 16 beinhalten.
  18. Netzwerkeinrichtung, aufweisend einen Arbeitsspeicher und mindestens einen Prozessor, wobei der Arbeitsspeicher mit Programmanweisungen programmiert ist, und zwar gemäß den Daten, die in dem Datenträger gespeichert sind oder durch die Signalsequenz nach einem der Ansprüche 8 bis 16 repräsentiert sind.
  19. Netzwerkeinrichtung, aufweisend: einen Eingangsanschluss, durch den virtualisierter Verkehr empfangen wird, der einer virtuellen Maschine zugehörig ist; einen Ausgangsanschluss, durch den Datenpakete weg von der Netzwerkeinrichtung geroutet werden; und einen Prozessor, der konfiguriert ist für ein: Generieren eines Wertes für jedes Datenpaket, das in dem virtualisierten Verkehr enthalten ist, wodurch eine Mehrzahl von Werten erzeugt werden, Identifizieren eines ersten Wertes, der einem ersten Datenpaket entspricht, das in dem virtualisierten Verkehr enthalten ist, Zugreifen auf eine Datenstruktur, die einen Eintrag für jeden durch den Prozessor generierten Wert beinhaltet, wobei jeder Eintrag eine Routing-Anweisung beinhaltet, die bezeichnet, welche Instanz von einer Mehrzahl von Instanzen eines Deduplizierungsprogramms für ein Untersuchen des entsprechenden Datenpaketes verantwortlich ist; Bestimmen, basierend auf dem ersten Wert, dass das erste Datenpaket durch eine entfernte Instanz des Deduplizierungsprogramms zu untersuchen ist, die in einer weiteren Netzwerkeinrichtung ausgeführt wird, und Weiterleiten des ersten Datenpaketes an den Ausgangsanschluss für eine Übertragung an die weitere Netzwerkeinrichtung.
  20. Netzwerkeinrichtung nach Anspruch 19, wobei der Prozessor weiter konfiguriert ist für ein: Identifizieren eines zweiten Wertes, der einem zweiten Datenpaket entspricht, das in dem virtualisierten Verkehr enthalten ist; Bestimmen, basierend auf dem zweiten Wert, dass das zweite Paket durch eine lokale Instanz des Deduplizierungsprogramms zu untersuchen ist, die in der Netzwerkeinrichtung ausgeführt wird; Veranlassen, dass das zweite Datenpaket durch die lokale Instanz des Deduplizierungsprogramms untersucht wird.
  21. Netzwerkeinrichtung nach Anspruch 20, weiter aufweisend: einen Werkzeuganschluss, durch den zumindest ein Teil des virtualisierten Verkehrs zu einem Netzwerk-Werkzeug geroutet wird.
  22. Netzwerkeinrichtung nach Anspruch 21, wobei der Prozessor weiter konfiguriert ist für ein: Überwachen, ob das zweite Datenpaket durch die lokale Instanz des Deduplizierungsprogramms gefiltert wird; und ansprechend auf eine Bestimmung, dass das zweite Datenpaket nicht durch die lokale Instanz des Deduplizierungsprogramms gefiltert wurde, Weiterleiten des zweiten Datenpaketes an den Werkzeuganschluss für eine Übertragung an das Netzwerk-Werkzeug.
  23. Netzwerkeinrichtung nach Anspruch 21 oder Anspruch 22, wobei der Werkzeuganschluss dem einen Ende eines Tunnels entspricht, der eine Verbindung zwischen der Netzwerkeinrichtung und dem Netzwerk-Werkzeug herstellt.
  24. Netzwerkeinrichtung nach einem der Ansprüche 19 bis 23, wobei jede Instanz der Mehrzahl von Instanzen des Deduplizierungsprogramms in einer unterschiedlichen Netzwerkeinrichtung innerhalb einer Sichtbarkeitsstruktur ausgeführt wird.
  25. Netzwerkeinrichtung nach einem der Ansprüche 19 bis 23, wobei der Eingangsanschluss dem einem Ende eines ersten Tunnels entspricht, der eine Verbindung zwischen der Netzwerkeinrichtung und der virtuellen Maschine herstellt, und wobei der Ausgangsanschluss dem einen Ende eines zweiten Tunnels entspricht, der eine Verbindung zwischen der Netzwerkeinrichtung und der weiteren Netzwerkeinrichtung herstellt.
DE202019103185.9U 2018-06-06 2019-06-06 Verteilte Deduplizierung von Paketen Active DE202019103185U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/001,721 2018-06-06
US16/001,721 US11405289B2 (en) 2018-06-06 2018-06-06 Distributed packet deduplication

Publications (1)

Publication Number Publication Date
DE202019103185U1 true DE202019103185U1 (de) 2019-10-07

Family

ID=66776184

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202019103185.9U Active DE202019103185U1 (de) 2018-06-06 2019-06-06 Verteilte Deduplizierung von Paketen

Country Status (3)

Country Link
US (3) US11405289B2 (de)
EP (1) EP3579504B1 (de)
DE (1) DE202019103185U1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880197B2 (en) 2018-07-13 2020-12-29 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node
US10686671B1 (en) 2018-11-05 2020-06-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing network elements of an in-band network telemetry capable network
US10911307B2 (en) 2019-01-29 2021-02-02 Dell Products L.P. System and method for out of the box solution-level configuration and diagnostic logging and reporting
US10972343B2 (en) 2019-01-29 2021-04-06 Dell Products L.P. System and method for device configuration update
US10901641B2 (en) * 2019-01-29 2021-01-26 Dell Products L.P. Method and system for inline deduplication
US10764135B2 (en) 2019-01-29 2020-09-01 Dell Products L.P. Method and system for solution integration labeling
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US10979312B2 (en) 2019-01-29 2021-04-13 Dell Products L.P. System and method to assign, monitor, and validate solution infrastructure deployment prerequisites in a customer data center
US10747522B1 (en) 2019-01-29 2020-08-18 EMC IP Holding Company LLC Method and system for non-disruptive host repurposing
US10740023B1 (en) 2019-01-29 2020-08-11 Dell Products L.P. System and method for dynamic application access-based mapping
US11032151B1 (en) * 2019-02-06 2021-06-08 Keysight Technologies, Inc. Methods, systems, and computer readable media for providing dynamically configurable, distributed network visibility device
US11093376B2 (en) 2019-06-19 2021-08-17 Keysight Technologies, Inc. Methods, systems, and computer readable media for configuring a test system using source code of a device being tested
US10963345B2 (en) 2019-07-31 2021-03-30 Dell Products L.P. Method and system for a proactive health check and reconstruction of data
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11119858B1 (en) 2020-03-06 2021-09-14 Dell Products L.P. Method and system for performing a proactive copy operation for a spare persistent storage
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11175842B2 (en) 2020-03-06 2021-11-16 Dell Products L.P. Method and system for performing data deduplication in a data pipeline
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11281535B2 (en) 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11425020B2 (en) 2020-06-01 2022-08-23 Keysight Technologies, Inc. Methods, systems, and computer readable media for storage, retrieval, and use of programmable pipeline device profiles
US11474823B2 (en) 2020-06-15 2022-10-18 Keysight Technologies, Inc. Methods, systems, and computer readable media for on-demand, on-device compiling and use of programmable pipeline device profiles
US11962516B1 (en) 2023-01-31 2024-04-16 Cisco Technology, Inc. Packet deduplication

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161929A1 (en) * 2001-04-30 2002-10-31 Longerbeam Donald A. Method and apparatus for routing data through a computer network
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
US8307359B1 (en) * 2006-06-23 2012-11-06 Emc Corporation Embedded virtual storage area network using a virtual block network fabric
US8452731B2 (en) * 2008-09-25 2013-05-28 Quest Software, Inc. Remote backup and restore
US9176978B2 (en) * 2009-02-05 2015-11-03 Roderick B. Wideman Classifying data for deduplication and storage
US9116848B1 (en) * 2009-07-15 2015-08-25 Symantec Corporation Method of detecting data loss using multiple references to a file in a deduplication backup system
US20110206055A1 (en) * 2010-02-24 2011-08-25 Patrick Pak Tak Leong Method and packet switch appliance for performing packet deduplication
JP5976277B2 (ja) * 2011-02-23 2016-08-23 富士通株式会社 伝送制御方法
US8462781B2 (en) * 2011-04-06 2013-06-11 Anue Systems, Inc. Systems and methods for in-line removal of duplicate network packets
US9674074B2 (en) * 2011-04-08 2017-06-06 Gigamon Inc. Systems and methods for stopping and starting a packet processing task
US8805797B2 (en) * 2012-02-22 2014-08-12 International Business Machines Corporation Optimizing wide area network (WAN) traffic by providing home site deduplication information to a cache site
US9390055B2 (en) * 2012-07-17 2016-07-12 Coho Data, Inc. Systems, methods and devices for integrating end-host and network resources in distributed memory
JPWO2014030252A1 (ja) * 2012-08-24 2016-07-28 株式会社日立製作所 ストレージ装置及びデータ管理方法
US9131010B2 (en) * 2012-10-19 2015-09-08 Nec Laboratories America, Inc. Delay-tolerant and loss-tolerant data transfer for mobile applications
US9152333B1 (en) * 2013-02-15 2015-10-06 Netapp, Inc. System and method for estimating storage savings from deduplication
US9690711B2 (en) * 2013-03-13 2017-06-27 International Business Machines Corporation Scheduler training for multi-module byte caching
US10055418B2 (en) * 2014-03-14 2018-08-21 Highspot, Inc. Narrowing information search results for presentation to a user
US9277026B2 (en) * 2013-07-03 2016-03-01 Facebook, Inc. Cache stickiness index for content delivery networking systems
US9246935B2 (en) * 2013-10-14 2016-01-26 Intuit Inc. Method and system for dynamic and comprehensive vulnerability management
US9210090B1 (en) * 2014-01-22 2015-12-08 Narus, Inc. Efficient storage and flexible retrieval of full packets captured from network traffic
US9361032B2 (en) * 2014-05-14 2016-06-07 International Business Machines Corporation Management of server cache storage space
JP6304406B2 (ja) * 2014-06-27 2018-04-04 日本電気株式会社 ストレージ装置、プログラム、情報処理方法
US9678976B2 (en) * 2014-07-21 2017-06-13 Red Hat, Inc. Distributed deduplication using locality sensitive hashing
US9501307B2 (en) * 2014-09-26 2016-11-22 Comcast Cable Communications, Llc Systems and methods for providing availability to resources
US20160132523A1 (en) * 2014-11-12 2016-05-12 Strato Scale Ltd. Exploiting node-local deduplication in distributed storage system
US10044625B2 (en) * 2014-11-25 2018-08-07 Keysight Technologies Singapore (Holdings) Pte Ltd Hash level load balancing for deduplication of network packets
US9553807B2 (en) * 2014-12-24 2017-01-24 Nicira, Inc. Batch processing of packets
US9984310B2 (en) * 2015-01-23 2018-05-29 Highspot, Inc. Systems and methods for identifying semantically and visually related content
US10764162B2 (en) * 2015-03-25 2020-09-01 Gigamon Inc. In-fabric traffic analysis
US9813357B2 (en) * 2015-11-03 2017-11-07 Gigamon Inc. Filtration of network traffic using virtually-extended ternary content-addressable memory (TCAM)
EP3609140B1 (de) 2016-02-12 2021-09-08 Extreme Networks, Inc. Datenverkehrsdeduplizierung in einem sichtbarkeitsnetzwerk
US10152386B1 (en) * 2016-07-29 2018-12-11 Nutanix, Inc. Efficient disaster rollback across heterogeneous storage systems
US10956412B2 (en) * 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US20180067653A1 (en) * 2016-09-08 2018-03-08 Quest Software Inc. De-duplicating multi-device plugin
US11144533B1 (en) * 2016-09-30 2021-10-12 EMC IP Holding Company LLC Inline deduplication using log based storage
US10142263B2 (en) * 2017-02-21 2018-11-27 Keysight Technologies Singapore (Holdings) Pte Ltd Packet deduplication for network packet monitoring in virtual processing environments
US20190215385A1 (en) * 2018-01-10 2019-07-11 Nexvortex, Inc. Packet Replication Over Dynamically Managed Bonded Tunnels

Also Published As

Publication number Publication date
US20230327964A1 (en) 2023-10-12
EP3579504A1 (de) 2019-12-11
US20220368611A1 (en) 2022-11-17
US11405289B2 (en) 2022-08-02
EP3579504B1 (de) 2021-04-28
US20190379588A1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
DE202019103185U1 (de) Verteilte Deduplizierung von Paketen
DE112015004008B4 (de) Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE112013001446B4 (de) Erkennen von transparenten Einheiten zum Abfangen von Datenübertragungen in Netzwerken
DE112014000322B4 (de) Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk
EP0632617B1 (de) Verfahren und Einrichtung zur Unterstützung des Netzwerkmanagements
DE112011103082B4 (de) Mehrere virtuelle Maschinen mit gemeinsamer Nutzung einer einzigen IP-Adresse
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE112013000731B4 (de) Skalierbare virtuelle Geräte-Cloud
DE112016004860T5 (de) Verteilte Regelbereitstellung in einer Extended Bridge
DE112013006420B4 (de) Erweiterte Verbindungszusammenfassung (LAG) zur Nutzung in mehreren Switsches
DE102014113582B4 (de) Vorrichtung, Verfahren und System für die kontextbewusste Sicherheitssteuerung in einer Cloud-Umgebung
DE102015002541A1 (de) Verfahren und system zum bereitstellen eines effizienten verwundbarkeitsverwaltungs- und verifikationsdienstes
DE102015001024A1 (de) Verfahren und Systeme zum Erkennen von Extrusion und Intrusion in einer Cloud-Computer-Umgebung, welche Netzwerkkommunikationsgeräte verwendet
DE102015003363A1 (de) Verfahren und system zum testen cloud-basierter anwendungen in einer produktionsumgebung unter verwendung hergestellter benutzer-daten
DE102015001054A1 (de) Verfahren und systeme zum erkennen von extrusion und intrusion in einer cloud-computer-umgebung
DE102017122738A1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE112013003180T5 (de) Verfahren, System und Gerät zum Verwalten von Server-Hardware-Resourcen in einer Cloud-Scheduling-Umgebung
DE112020000535B4 (de) Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten
DE202019104801U1 (de) Elastische Modifikation von Anwendungsinstanzen in einer Netzwerksichtbarkeitsinfrastruktur
DE102016104264A1 (de) Übertragen von Mehrfachzielpaketen in Overlay-Netzwerken
DE102016203598A1 (de) Gemeinschaftliche sammlung von diagnosedaten von softwareprogrammen
DE602005001550T2 (de) Verfahren und vorrichtung zur unterstützung von transaktionen
DE202014010912U1 (de) Konsistentes Hashing anhand genauer Übereinstimmung mit Anwendung für Hardware-Lastausgleich
DE602005006127T2 (de) Sicheres Kommunikationsverfahren- und gerät zur Verarbeitung von SEND-Datenpaketen

Legal Events

Date Code Title Description
R207 Utility model specification
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R150 Utility model maintained after payment of first maintenance fee after three years