DE112016005927T5 - Technologien zur Ablaufverfolgung der Seitenleistung im Netzwerkdatenverkehr - Google Patents

Technologien zur Ablaufverfolgung der Seitenleistung im Netzwerkdatenverkehr Download PDF

Info

Publication number
DE112016005927T5
DE112016005927T5 DE112016005927.2T DE112016005927T DE112016005927T5 DE 112016005927 T5 DE112016005927 T5 DE 112016005927T5 DE 112016005927 T DE112016005927 T DE 112016005927T DE 112016005927 T5 DE112016005927 T5 DE 112016005927T5
Authority
DE
Germany
Prior art keywords
trace data
data packet
computing device
trace
network computing
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.)
Pending
Application number
DE112016005927.2T
Other languages
English (en)
Inventor
Robert Zak
David Keppel
James Dinan
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112016005927T5 publication Critical patent/DE112016005927T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Technologien zur Ablaufverfolgung von Netzwerkleistung beinhalten eine Netzwerkrechenvorrichtung, dazu ausgelegt, ein Datenpaket von einem Quellendpunktknoten zu empfangen, das empfangene Datenpaket zu verarbeiten, Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird, zu erfassen, und das empfangene Datenpaket an einen Zielendpunktknoten zu übermitteln. Die Netzwerkrechenvorrichtung ist ferner dazu ausgelegt, ein Ablaufverfolgungsdatenpaket zu generieren, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, und das Ablaufverfolgungsdatenpaket an den Bestimmungsendpunktknoten zu übermitteln. Der Bestimmungsendpunktknoten ist dazu ausgelegt, die Leistung des Netzwerks durch Rekonstruieren eines Ablaufs des Datenpakets basierend auf den Ablaufverfolgungsdaten des Ablaufverfolgungsdatenpakets zu überwachen. Andere Ausführungsformen sind hier beschrieben.

Description

  • KLAUSEL ZU RECHTEN DER US-REGIERUNG
  • Diese Erfindung wurde mit Unterstützung der Regierung unter der durch das US-Department of Defense (Ministerium für Verteidigung) verliehenen Vertragsnummer H98230-13-D-0124 vorgenommen. Die Regierung hält bestimmte Rechte an dieser Erfindung.
  • QUERVERWEIS ZU EINER VERWANDTEN ANMELDUNG
  • Die vorliegende Anmeldung beansprucht die Priorität der U.S.-Gebrauchsmusteranmeldung mit der Anmeldenummer 14/979,140 mit dem Titel „TECHNOLOGIEN ZUR ABLAUFVERFOLGUNG DER SEITENBANDLEISTUNG IM NETZWERKDATENVERKEHR,“ die am 22. Dezember 2015 eingereicht wurde.
  • HINTERGRUND
  • Netzwerkbetreiber und Anbieter von Kommunikationsdienstleistungen stützen sich in der Regel auf komplexe, groß angelegte Rechenumgebungen wie etwa Hochleistungsrechen(high-performance computing - HPC)- und Cloud-Computing-Umgebungen. Aufgrund der mit derartigen groß angelegten Rechenumgebungen verbundenen Komplexitäten können Probleme bei der Kommunikationsleistung in solchen HPC-Systemen schwer zu erkennen und zu korrigieren sein. Dieses Problem kann noch schwieriger bei Leistungsanomalien sein (z. B. incast: zu viele Speicherserver senden an einen Client), die aus dem dynamischen Verhalten einer auf dem System laufenden Anwendung oder dem Verhalten des Systems selbst herrühren können.
  • Beispielsweise können Partitioned Global Address Space (PGAS)-Anwendungen, die eine globale Kommunikation bei hohen Nachrichtenraten durchführen, eine Netzwerküberlastung auslösen, die durch Systemrauschen, das zu Leistungsminderung führen kann, verschärft wird. Dementsprechend hängen HPC-Systeme in der Regel von einer effizienten Auslastung des Fabrics zwischen den Knoten ab; bei vielen Anwendungen jedoch wird die Leistung im Allgemeinen durch die Leistung des Fabrics sowie die Prozessor-, Speicher- oder Massenspeicherleistung beschränkt. Ferner können aufgrund der mit HPC-Systemarchitekturen verbundenen Komplexitäten eine solche Leistung des Fabrics schwer zu messen und Datenverkehrsmuster schwer zu erkennen sein, was ein Identifizieren einer grundlegenden Ursache von Leistungsproblemen innerhalb des Fabrics erschwert.
  • Figurenliste
  • Die hier beschriebenen Konzepte sind in den beigefügten Figuren beispielhaft und nicht einschränkend dargestellt. Der Einfachheit und Klarheit der Veranschaulichung halber sind in den Figuren dargestellte Elemente nicht notwendigerweise maßstabsgetreu dargestellt. Wo es als angemessen erachtet wurde, wurden Bezugsbezeichnungen unter den Figuren wiederholt, um entsprechende oder analoge Elemente anzuzeigen.
    • 1 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform eines Systems zur Ablaufverfolgung der Seitenbandleistung im Netzwerkdatenverkehr von einem Quellendpunktknoten zu einem Zielendpunktknoten über eine Netzwerkrechenvorrichtung eines Netzwerks;
    • 2 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform des Quellendpunktknotens des Systems aus 1;
    • 3 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform der Netzwerkrechenvorrichtung des Systems aus 1;
    • 4 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform des Zielendpunktknotens des Systems aus 1;
    • 5 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform einer Umgebung, die durch die Netzwerkrechenvorrichtung aus 3 eingerichtet werden kann;
    • 6 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform einer Umgebung, die von dem Zielendpunktknoten aus 4 eingerichtet werden kann;
    • 7 ist ein vereinfachtes Blockschaltbild von mindestens einer Ausführungsform eines Datenpaketstroms, der Ablaufverfolgungsdaten darstellt, die erfasst und durch das Netz des Systems aus 1 weitergeleitet werden;
    • 8 ist ein vereinfachtes Flussdiagramm von mindestens einer Ausführungsform eines Verfahrens zur Ablaufverfolgung der Leistung von Netzwerkdatenverkehr durch ein Netz, das von der Netzwerkrechenvorrichtung aus 3 und 5 ausführbar ist; und
    • 9 ist ein vereinfachtes Flussdiagramm von mindestens einer Ausführungsform eines Verfahrens zur Ablaufverfolgung der Leistung von Netzwerkdatenverkehr durch ein Netz, das von dem Zielendpunktknoten aus 4 und 6 ausführbar ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die Grundbegriffe der vorliegenden Offenbarung verschiedenen Modifikationen und alternativen Ausbildungen unterliegen können, sind spezifische Ausführungsformen davon hier beispielhaft in den Zeichnungen gezeigt und werden hier im Einzelnen beschrieben. Es versteht sich jedoch, dass keine Absicht besteht, die Konzepte der vorliegenden Erfindungen auf die offenbarten spezifischen Formen zu beschränken, sondern die Absicht besteht im Gegenteil darin, alle Modifikationen, Äquivalente und Alternativen, die mit der vorliegenden Offenbarung und den beigefügten Ansprüchen übereinstimmen, abzudecken.
  • Verweise in der Beschreibung auf „eine (beliebige) Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. zeigen an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Funktion, Struktur oder Merkmal beinhalten kann, doch jede Ausführungsform nicht notwendigerweise diese(s) bestimmte(s) Funktion, Struktur oder Merkmal beinhalten muss. Darüber hinaus verweisen solche Ausdrücke nicht notwendigerweise auf dieselbe Ausführungsform. Wenn ferner ein(e) bestimmte(s) Funktion, Struktur oder Merkmal in Verbindung mit einer Ausführungsform beschrieben wird, ist zu bedenken, dass es in der Kenntnis eines Fachmanns liegt, dass eine derartige Funktion, Struktur oder Merkmal in Verbindung mit anderen Ausführungsformen, ob sie explizit beschrieben wurden oder nicht, ebenfalls betroffen ist. Zusätzlich versteht es sich, dass Elemente, die in Form von „mindestens eins aus A, B oder C“ in einer Liste beinhaltet sind, Folgendes bedeuten können (A); (B); (C): (A und B); (A und C); (B und C); oder (A, B und C). Ebenso können Elemente, die in Form von „mindestens eins aus A, B und C“ aufgeführt sind, Folgendes bedeuten (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C).
  • Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder jeder Kombination davon implementiert sein. Die offenbarten Ausführungsformen können auch als Befehle implementiert sein, die auf einem oder mehreren flüchtigen oder nichtflüchtigen maschinenlesbaren (z. B. computerlesbaren) Speichermedien (z. B. Speicher, Datenspeicher usw.), die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können, getragen oder gespeichert sind. Ein maschinenlesbares Speichermedium kann als jede(r) Speichervorrichtung, Mechanismus oder andere physikalische Struktur zum Speichern oder Übermitteln von Informationen in einer Form ausgestaltet sein, die von einer Maschine lesbar ist (z. B. einem flüchtigen oder nichtflüchtigen Speicher, einem Datenträger oder einer anderen Medienvorrichtung).
  • In den Zeichnungen können einige strukturelle oder Verfahrensfunktionen in spezifischen Anordnungen und/oder Reihenfolgen gezeigt sein. Es versteht sich jedoch, dass solche spezifischen Anordnungen und/oder Reihenfolgen eventuell nicht erforderlich sind. Statt dessen können solche Funktionen bei einigen Ausführungsformen in einer anderen Weise und/oder Reihenfolge angeordnet sein als in den veranschaulichenden Figuren gezeigt ist. Zusätzlich bedeutet die Einbeziehung eines strukturellen oder Verfahrensmerkmals in einer bestimmten Zeichnung nicht, dass eine solche Funktion in allen Ausführungsformen erforderlich ist, und kann bei einigen Ausführungsformen nicht beinhaltet sein oder kann mit anderen Funktionen kombiniert sein.
  • Nun Bezug nehmend auf 1 beinhaltet ein System 100 zur Ablaufverfolgung der Seitenbandleistung im Netzwerkdatenverkehr (d. h. Datenpakete, Nachrichten usw.) in einer veranschaulichenden Ausführungsform einen Quellendpunktknoten 102, der kommunikativ mit einem Zielendpunktknoten 108 über eine Netzwerkrechenvorrichtung 106 eines HPC-Netzes 104 gekoppelt ist. Bei einigen Ausführungsformen kann das System 100 zusätzlich einen Ablaufverfolgungsendpunktknoten 110 beinhalten, der kommunikativ mit der Netzwerkrechenvorrichtung 106 über das HPC-Netz 104 gekoppelt ist.
  • Bei Verwendung wird ein Datenpaket am Quellendpunktknoten 102 generiert (z. B. auf Anforderung einer am Quellendpunktknoten 102 ausgeführten Anwendung) und zur Netzwerkrechenvorrichtung 106 weitergeleitet. Die Netzwerkrechenvorrichtung 106 ist dazu ausgelegt, an dem empfangenen Datenpaket verschiedene Operationen durchzuführen (z. B. Verarbeitungsdienstleistungen, Analyse, Weiterleiten usw.). Auf der Grundlage der an dem Datenpaket durchgeführten Operationen ist die Netzwerkrechenvorrichtung 106 dazu ausgelegt, das Datenpaket weiterzuleiten oder das Datenpaket zu verwerfen.
  • Bei einigen Ausführungsformen der Netzwerkarchitektur können die Entwicklungsregeln für die Netzwerkarchitektur es nicht gestatten, ein Paket inline zu modifizieren (d. h. Ablaufverfolgungsdaten können nicht in das Datenpaket während seiner Bewegung durch das HPC-Netzwerk 104 eingefügt werden). Somit können, wenn die Leistungsablaufverfolgung des Netzwerkdatenverkehrs durch das HPC-Netzwerk 104 aktiviert ist, eine oder mehrere Rechenvorrichtungen (z. B. der Quellendpunktknoten 102, die Netzwerkrechenvorrichtung 106, der Zielendpunktknoten 108 usw.) dazu ausgelegt sein, sobald ein Datenpaket durch das System 100 strömt (siehe z. B. den Datenpaketstrom aus 7), Ablaufverfolgungsdaten entsprechend den das Datenpaket betreffenden Ereignissen wie etwa Eintritt, Warteschlange, Austritt usw. aufzuzeichnen. Die Ablaufverfolgungsdaten können jede Art von Informationen beinhalten, die das sich durch das HPC-Netzwerk 104 bewegende Datenpaket betreffen, wie etwa einen Zeitstempel, der eine gewünschte Zeit aufzeichnet (z. B. eine Eintrittszeit, eine Zeit, in der das Datenpaket in eine Warteschlange gestellt wurde, eine Austrittszeit usw.), Routing-Informationen (z. B. eine Quellenkennung, eine Zielkennung usw.), Verzögerungsinformationen (z. B. eine Menge an Zeit zwischen Warteschlange und Austritt, eine Anzahl von Zyklen zwischen Eintritt und Austritt usw.), Informationen zur Entscheidungsfindung (z. B. warum das Datenpaket an eine bestimmte Netzwerkrechenvorrichtung 106 weitergeleitet wurde), Informationen hinsichtlich eines oder mehrerer Merkmale (z. B. einer Temperatur, einer internen Pufferauslastung, einer prozentualen Prozessorauslastung, einer Speicherauslastung usw.) einer oder mehrerer Komponenten der Vorrichtung, die das Datenpaket generiert, verarbeitet und/oder empfangen usw. hat.
  • Jede Rechenvorrichtung, die dazu ausgelegt ist, die Ablaufverfolgungsdaten aufzuzeichnen, kann die Ablaufverfolgungsdaten für eine anschließende Abfrage lokal speichern, wie etwa in einem Ablaufverfolgungspuffer oder einem Ablaufverfolgungspuffer. Solche gespeicherten Ablaufverfolgungsdaten werden anschließend in einem separaten Datenpaket außerhalb des Messintervalls der Leistungsablaufverfolgung (d. h. Seitenband) zu einem Zeitpunkt nach dem Weiterleiten des Datenpakets übermittelt. Anders ausgedrückt, ist jede Rechenvorrichtung, die dazu ausgelegt ist, die Ablaufverfolgungsdaten aufzuzeichnen, zusätzlich dazu ausgelegt, ein sekundäres Datenpaket (d. h. ein Ablaufverfolgungsdatenpaket) zu generieren, nachdem sie das empfangene Datenpaket weitergeleitet hat, welches mindestens einen Teil der Ablaufverfolgungsdaten beinhaltet, die für das empfangene Datenpaket aufgezeichnet wurden, sowie das Ablaufverfolgungsdatenpaket an einen Bestimmungsendpunktknoten (z. B. den Zielendpunktknoten 108, den Ablaufverfolgungsendpunktknoten 110 usw.) oder an eine weitere Netzwerkrechenvorrichtung 106 weiterzuleiten.
  • Bei Erreichen des Bestimmungsendpunktknotens kann ein den Ablaufverfolgungsdaten entsprechender Ablauf rekonstruiert werden. Anders ausgedrückt, kann die Netzwerkrechenvorrichtung 106 abhängig von der Ausführungsform dazu ausgelegt sein, die Ablaufverfolgungsdaten an den Zielendpunktknoten 108 oder den Ablaufverfolgungsendpunktknoten 110 zu übermitteln. Dementsprechend ist der Zielendpunktknoten 108 oder der Ablaufverfolgungsendpunktknoten 110 abhängig von der Ausführungsform dazu ausgelegt, den Ablauf auf der Grundlage der empfangenen Ablaufverfolgungsdaten zu rekonstruieren.
  • Es versteht sich, dass, obwohl nur eine einzelne Netzwerkrechenvorrichtung 106 in dem veranschaulichenden System 100 gezeigt ist, das HPC-Netzwerk 104 mehrere Netzwerkrechenvorrichtungen 106 beinhalten kann, die verschiedene Pfade ausbilden, auf welchen das Datenpaket durch das HPC-Netzwerk 104 weitergeleitet werden kann. Dementsprechend versteht es sich weiterhin, dass abhängig von der Architektur des HPC-Netzwerks 104 und eines Datenpaketstroms das Datenpaket durch mehrere Netzwerkrechenvorrichtungen 106 übermittelt werden kann, bevor es zum Zielendpunktknoten 108 weitergeleitet wird.
  • Der Quellendpunktknoten 102 kann als jede Art von Rechen- oder Datenverarbeitungsvorrichtung ausgestaltet sein, die in der Lage ist, die hier beschriebenen Funktionen auszuführen, einschließlich, unter anderem, einer tragbaren Rechenvorrichtung (z. B. ein Smartphone, Tablet, Laptop, Notebook, am Körper tragbare usw.), die mobile Hardware (z. B. einen Prozessor, Arbeitsspeicher, Massenspeicher, drahtlose Kommunikationsschaltungen usw.) und Software (z. B. ein Betriebssystem) beinhaltet zum Unterstützen einer mobilen Architektur und Tragbarkeit, eines Computers, eines Servers (z. B. Einzelplatz-, Rackmount-, Blade- usw.), einer Netzwerkanwendung (z. B. physisch oder virtuell), einer Webanwendung, eines verteilten Rechensystems, eines prozessorbasierten Systems und/oder eines Mehrprozessorsystems.
  • Wie in 2 gezeigt, beinhaltet der veranschaulichende Quellendpunktknoten 102 einen Prozessor 202, ein Eingabe-/Ausgabe (I/O)-Teilsystem 204, einen Speicher 206, eine Datenspeichervorrichtung 208, Kommunikationsschaltungen 210, eine Engine für die Ablaufverfolgung 216, einen Taktgeber 218 und eine oder mehrere Peripherievorrichtungen 220. Natürlich kann der Quellendpunktknoten 102 bei anderen Ausführungsformen andere oder zusätzliche Komponenten beinhalten, wie etwa jene, die üblicherweise in einer Rechenvorrichtung vorkommen. Zusätzlich können bei einigen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten in eine andere Komponente integriert sein oder anderweitig einen Teil davon bilden. Der Speicher 206 oder Teile davon können bei einigen Ausführungsformen beispielsweise in den Prozessor 202 integriert sein. Es versteht sich, dass bei einigen Ausführungsformen auf eine oder mehrere der veranschaulichenden Komponenten des Quellendpunktknoten 102 verzichtet wird.
  • Der Prozessor 202 kann als jede Art von Prozessor ausgestaltet sein, der in der Lage ist, die hier beschriebenen Funktionen durchzuführen. Der Prozessor 202 kann beispielsweise als (ein) Einzel- oder Mehrkernprozessor(en), digitaler Signalprozessor, Mikrocontroller oder anderer Prozessor oder eine Verarbeitungs-/Steuerschaltung ausgestaltet sein. Ähnlich kann der Speicher 206 als jede Art von flüchtigem oder nichtflüchtigem Speicher oder Datenspeicher ausgestaltet sein, der in der Lage ist, die hier beschriebenen Funktionen durchzuführen. Bei Betrieb kann der Speicher 206 verschiedene während des Betriebs des Quellendpunktknotens 102 verwendete Daten und Software wie etwa Betriebssysteme, Anwendungen, Programme, Medienbibliotheken und Treiber speichern.
  • Der Speicher 206 ist kommunikativ mit dem Prozessor 202 über das I/O-Teilsystem 204 gekoppelt, das als Schaltungen und/oder Komponenten ausführbar ist, um Eingabe-/Ausgabeoperationen am Prozessor 202, am Speicher 206 und anderen Komponenten des Quellendpunktknotens 102 zu ermöglichen. Zum Beispiel kann das I/O-Teilsystem 204 als Speicher-Controller Hubs, I/O-Controller Hubs, Firmwarevorrichtungen, Kommunikationsverbindungen (d. h. Punkt-zu-Punkt-Verbindungen, Bus-Links, Drähte, Kabel, Lichtleiter, Leiterbahnen auf Leiterplatten usw.) und/oder andere Komponenten und Teilsysteme ausgestaltet sein oder diese anderweitig beinhalten, um die Eingabe-/Ausgabeoperationen zu ermöglichen. Bei einigen Ausführungsformen kann das I/O-Teilsystem 204 einen Teil eines Systems auf einem Chip (system-on-a-chip - SoC) ausbilden und gemeinsam mit dem Prozessor 202, dem Speicher 206 und anderen Komponenten des Quellendpunktknotens 102 auf einem einzelnen Chip einer integrierten Schaltung integriert sein.
  • Die Datenspeichervorrichtung 208 kann als jede Art von Vorrichtung oder Vorrichtungen ausgestaltet sein, die zur kurzfristigen oder langfristigen Speicherung von Daten ausgelegt sind, wie etwa beispielsweise Speichervorrichtungen und -schaltungen, Speicherkarten, Festplattenlaufwerke, Solid-State-Drives oder andere Datenspeichervorrichtungen. Es versteht sich, dass die Datenspeichervorrichtung 208 und/oder der Speicher 206 (z. B. das computerlesbare Speichermedium) verschiedene Daten wie hier beschrieben speichert, einschließlich Betriebssysteme, Anwendungen, Programme, Medienbibliotheken, Treiber, Befehle usw., die in der Lage sind, von einem Prozessor (z. B. dem Prozessor 202) des Quellendpunktknotens 102 ausgeführt zu werden.
  • Die Kommunikationsschaltungen 210 können als jede Kommunikationsschaltung, -vorrichtung oder Zusammenstellung davon ausgestaltet sein, die in der Lage ist, Kommunikationen zwischen dem Quellendpunktknoten 102 und anderen Rechenvorrichtungen (z. B. der Netzwerkrechenvorrichtung 106, dem Zielendpunktknoten 108 usw.) über ein Netzwerk (z. B. das HPC-Netzwerk 104) zu ermöglichen. Die Kommunikationsschaltungen 210 können dazu ausgelegt sein, irgendeine oder mehrere Kommunikationstechnologien (z. B. drahtlose oder drahtgebundene Kommunikationstechnologien) und dazugehörige Protokolle (z. B. Ethernet, Bluetooth®, Wi-Fi®, WiMAX, LTE, 5Gusw.) zu verwenden, um eine solche Kommunikation zu bewirken.
  • Die veranschaulichenden Kommunikationsschaltungen 210 beinhalten eine Netzwerkkarte (network interface controller - NIC) 212, die auch allgemein als Host-Fabric-Schnittstellenadapter (host fabric interface - HFI) in solchen HPC-Netzwerken 104 bezeichnet wird. Die NIC 212 kann als eine oder mehrere Zusatzkarten, Tochterkarten, Netzwerkschnittstellenkarten, Controller-Chips, Chipsätze oder andere Vorrichtungen ausgestaltet sein, die vom Quellendpunktknoten 102 verwendet werden können. Bei einigen Ausführungsformen kann die NIC 212 beispielsweise in den Prozessor 202 integriert sein, als eine mit dem I/O-Teilsystem 204 über einen Erweiterungsbus (z. B. PCI Express) gekoppelte Erweiterungskarte ausgestaltet sein, Teil eines SoC ausbilden, das einen oder mehrere Prozessoren beinhaltet, oder auf einem Multi-Chip-Modul beinhaltet sein, das auch einen oder mehrere Prozessoren enthält. Zusätzlich oder alternativ dazu kann bei einigen Ausführungsformen die Funktionalität der NIC 212 in eine oder mehrere Komponenten des Quellendpunktknotens 102 auf Platinen-Ebene, Socket-Ebene, Chip-Ebene und/oder anderen Ebenen integriert werden.
  • Die veranschaulichende NIC 212 beinhaltet einen sicheren Speicher 214. Der sichere Speicher 214 der NIC 212 kann als jede Art von Speicher ausgestaltet sein, der dazu ausgelegt ist, Daten lokal auf die NIC 212 sicher zu speichern. Es versteht sich, dass bei einigen Ausführungsformen die NIC 212 ferner einen lokalen Prozessor (nicht gezeigt) lokal auf der NIC 212 beinhalten kann. Bei solchen Ausführungsformen kann der lokale Prozessor der NIC 212 in der Lage sein, Funktionen durchzuführen (z. B. Replizierung, Datenpaketverarbeitung usw.) die an die NIC 212 ausgelagert werden können.
  • Die Engine für die Ablaufverfolgung 216 kann als jede Hardware, Firmware, Software oder Kombination davon ausgestaltet sein (z. B. Hochgeschwindigkeitshardware mit eingeschränkter Funktion), die in der Lage ist, von einem Prozessor (z. B. dem Prozessor 202) des Quellendpunktknotens 102 konfiguriert zu werden und die hier beschriebenen verschiedenen Funktionen durchzuführen, wie etwa Sammeln von leistungsrelevanten Daten (d. h. Ablaufverfolgungsdaten) und Zurverfügungstellen der leistungsrelevanten Daten für eine Leistungsanalyse. Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 216 einen Teil des Prozessors 202 ausbilden oder anderweitig von dem Prozessor 202 eingerichtet sein. Bei anderen Ausführungsformen kann die Engine für die Ablaufverfolgung 216 als eine unabhängige Schaltung oder Prozessor ausgestaltet sein (z. B. ein spezialisierter Co-Prozessor oder eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC)).
  • Die Engine für die Ablaufverfolgung 216 ist dazu ausgelegt, Ablaufverfolgungsdaten am Quellendpunktknoten 102 zu verwalten. Zu diesem Zweck ist die Engine für die Ablaufverfolgung 216 dazu ausgelegt, ein Datenpaket betreffende Ablaufverfolgungsdaten zu generieren, wie sie etwa vom Quellendpunktknoten 102 generiert werden können, und die generierten Ablaufverfolgungsdaten in einem lokalen Ablaufverfolgungspuffer zu speichern (siehe z. B. den Ablaufverfolgungspuffer 706 des veranschaulichenden Quellendpunktknotens 102 aus 7). Wie vorstehend beschrieben, können die Ablaufverfolgungsdaten jede Art von Informationen beinhalten, die den sich durch das HPC-Netzwerk 104 bewegenden Netzwerkdatenverkehr betreffen, wie etwa Routing-Informationen, Verzögerungsinformationen, Empfangs-/Übermittlungswarteschlangen-Informationen, Informationen für die Entscheidungsfindung, Informationen hinsichtlich eines oder mehrerer Merkmale von einer oder mehreren Komponenten des Quellendpunktknotens 102 usw.
  • Die Engine für die Ablaufverfolgung 216 ist ferner dazu ausgelegt, mindestens einen Teil der Ablaufverfolgungsdaten aus dem Ablaufverfolgungspuffer abzurufen und die abgerufenen Ablaufverfolgungsdaten sowie Markierungsinformationen in ein weiteres Datenpaket einzufügen, das von dem Datenpaket, für welches die Ablaufverfolgungsdaten generiert wurden, verschieden ist. Anders ausgedrückt, ist die Engine für die Ablaufverfolgung 216 dazu ausgelegt, ein separates Datenpaket zu generieren (d. h. ein Ablaufverfolgungsdatenpaket), um die Ablaufverfolgungsdaten an die Netzwerkrechenvorrichtung 106 außerhalb des Verkehrs, oder im Seitenband, zu übermitteln. Die Markierungsinformationen können jegliche Daten beinhalten, die verwendbar sind, um die Ablaufverfolgung zu rekonstruieren (z. B. über die Ablaufverfolgungsdaten des Ablaufverfolgungsdatenpakets), quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, pfadidentifizierende Informationen, eine Paketsequenznummer sowie Merkmale, die den markierten Informationen zugehörig sind, wie etwa eine gewünschte, über einen Zeitstempel aufgezeichnete Zeit (z. B. eine Eintrittszeit, eine Austrittszeit, eine Zeit in einer Warteschlange usw.). Es versteht sich, dass die Markierungsinformationen zusätzlich verwendet werden können, um zwischen Ablaufverfolgungsdatenpaketen und den Datenpaketen zu unterscheiden, für welche die Ablaufverfolgungsdaten der Ablaufverfolgungsdatenpakete generiert wurden. Ferner können solche Markierungsinformationen anzeigen, welcher Speicherbereich einen Datenteil (d. h. Nutzdaten) des Datenpakets empfangen sollte.
  • Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 216 dazu ausgelegt sein, eine Einstellung des Quellendpunktknotens 102 zu interpretieren, die anzeigt, ob Leistungsdaten des Netzwerkdatenverkehrs durch das HPC-Netzwerk 104 zu generieren/weiterzuleiten sind (d. h. ob Ablaufverfolgungsdaten von Datenpaketen nachverfolgt werden sollen). Bei solchen Ausführungsformen kann die Engine für die Ablaufverfolgung 216 ferner dazu ausgelegt sein, ein oder mehrere Bits eines Headers von Datenpaketen zu aktualisieren, die vom Quellendpunktknoten 102 übermittelt werden und anzeigen, ob eine Leistungsablaufverfolgung der Datenpakete aktiviert ist. Es versteht sich, dass zusätzliche und/oder alternative Informationen in dem einen oder den mehreren Bits des Headers dargestellt werden können, wie etwa ein Typ von zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten (z. B. ob die Ablaufverfolgungsdaten zu komprimieren sind) usw.
  • Der Taktgeber 218 kann als jede Software, Hardwarekomponent(en) und/oder Schaltung ausgelegt sein, von denen ein Zeitstempel generierbar ist und die anderweitig in der Lage sind, die hier beschriebenen Funktionen durchzuführen. Bei der veranschaulichenden Ausführungsform kann der Taktgeber 218 beispielsweise über einen chipinternen Oszillator implementiert sein. Bei einigen Ausführungsformen kann der Taktgeber 218 gemeinsam genutzt werden (z. B. mehrere verteilte Taktgeber, die allgemein unter Verwendung eines Synchronisierungsprotokolls synchronisiert werden).
  • Die Peripherievorrichtungen 220 können jede Anzahl von Eingabe-/Ausgabevorrichtungen, Schnittstellenvorrichtungen und/oder anderen Peripherievorrichtungen beinhalten. Bei einigen Ausführungsformen können die Peripherievorrichtungen 220 beispielsweise eine Anzeige, einen berührungsempfindlichen Bildschirm, Grafikschaltungen, eine Tastatur, eine Maus, ein Mikrofon, einen Lautsprecher und/oder andere Eingabe-/Ausgabevorrichtungen, Schnittstellenvorrichtungen und/oder Peripherievorrichtungen beinhalten. Die bestimmten in den Peripherievorrichtungen 220 beinhalteten Vorrichtungen können beispielsweise von dem Typ und/oder der beabsichtigten Verwendung des Quellendpunktknotens 102 abhängen. Die Peripherievorrichtungen 220 können zusätzlich oder alternativ dazu einen oder mehrere Anschlüsse wie etwa einen USB-Anschluss, beispielsweise zum Verbinden von externen Peripherievorrichtungen mit dem Quellendpunktknoten 102, beinhalten.
  • Wiederum Bezug nehmend auf 1 kann das HPC-Netzwerk 104, auch gemeinhin als HPC-Fabric bezeichnet, als jede Art von HPC-Architektur ausgestaltet sein, die in der Lage ist, Rechenleistung in einer Weise zu vereinigen, dass hochentwickelte Anwendungsprogramme effizient, zuverlässig und schnell laufen können. Anders als lokale Netzwerke (local area networks - LANs) und Weitverkehrsnetzwerke (wide area networks - WANs), die tendenziell größere Nachrichten und Pakete, einen diskontinuierlicheren Betrieb (erhebliche Leerlaufperioden und erheblich häufige Leerlaufperioden) und relativ große Entfernungen aufweisen (wobei die Lichtgeschwindigkeit einige Zeitkonstanten beschränkt, die wiederum das Design von Fern-Netzwerken einschränken), ist das HPC-Netzwerk 104 dazu ausgelegt, sehr große Raten von Datenverkehr mit kleinen Nachrichten über kurze Entfernungen aufrecht zu erhalten.
  • Es versteht sich, dass der Quellendpunktknoten 102, der Zielendpunktknoten 108 und/oder der Ablaufverfolgungsendpunktknoten 110 mit dem HPC-Netzwerk 104 über ein anderes Netzwerk wie etwa ein drahtloses lokales Netzwerk (wireless local area network - WLAN), ein drahtloses Netzwerk für den persönlichen Bereich (wireless personal area network - WPAN), ein Mobilfunknetz (z. B. ein globales System für mobile Kommunikation - GSM), Long-Term Evolution (LTE) usw., ein Telefonnetz, ein digitales Teilnehmeranschluss(digital subscriber line - DSL)-Netzwerk, ein Kabel-Netzwerk, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), ein globales Netzwerk (z. B. das Internet) oder jede Kombination davon verbunden sein können. Anders ausgedrückt, kann das HPC-Netzwerk 104 als ein zentralisiertes Netzwerk dienen und kann bei einigen Ausführungsformen kommunikativ mit einem anderen Netzwerk (z. B. dem Internet) gekoppelt sein. Dementsprechend kann das andere Netzwerk eine Vielfalt von anderen Netzwerkrechenvorrichtungen (z. B. virtuelle und physische Router, Netzwerkweichen, Netzwerkknoten, Server, Speichervorrichtungen, Rechenvorrichtungen usw.) beinhalten, wie zum Ermöglichen einer Kommunikation zwischen dem Quellendpunktknoten 102 und dem HPC-Netzwerk 104, dem Zielendpunktknoten 108 und dem HPC-Netzwerk 104 und/oder dem Ablaufverfolgungsendpunktknoten 110 und dem HPC-Netzwerk 104 benötigt, die nicht gezeigt sind, um die Klarheit der Beschreibung zu erhalten.
  • Die Netzwerkrechenvorrichtung 106 kann als jede Art von Netzwerkdatenverkehrverarbeitungs- und/oder -weiterleitungsvorrichtung ausgestaltet sein, die in der Lage ist, die hier beschriebenen Funktionen durchzuführen, wie etwa, unter anderem, als ein Switch (Netzwerkweiche) (z. B. Rackmount-, Einzelplatz-, vollständig verwaltet, teilweise verwaltet, aktivierter Vollduplex- und/oder Halbduplex-Kommunikationsmodus usw.), ein Server (z. B. Einzelplatz-, Rackmount-, Blade- usw.), eine Netzwerkanwendung (z. B. physisch oder virtuell), ein Router, eine Webanwendung, ein verteiltes Rechensystem, ein prozessorbasiertes System und/oder ein Mehrprozessorsystem. Wie in 3 gezeigt, beinhaltet die veranschaulichende Netzwerkrechenvorrichtung 106, ähnlich dem veranschaulichenden Quellendpunktknoten 102 aus 2, einen Prozessor 302, ein I/O-Teilsystem 304, einen Speicher 306, eine Datenspeicherungsvorrichtung 308, Kommunikationsschaltungen 310, die einen NIC 312 und einen sicheren Speicher 314 der NIC 312 beinhalten, eine Engine für die Ablaufverfolgung 316 und einen Taktgeber 318. Als solches werden weitere Beschreibungen der gleichen Komponenten hier in dem Verständnis nicht wiederholt, dass die vorstehend bereitgestellte Beschreibung der entsprechenden Komponenten hinsichtlich des veranschaulichenden Quellendpunktknotens 102 aus 2 gleichermaßen auf die entsprechenden Komponenten der veranschaulichenden Netzwerkrechenvorrichtung 106 aus 3 anwendbar ist.
  • Die Engine für die Ablaufverfolgung 316 kann als jede Hardware, Firmware, Software oder Kombination davon ausgestaltet sein (z. B. Hochgeschwindigkeitshardware mit eingeschränkter Funktion), die in der Lage ist, von einem Prozessor (z. B. dem Prozessor 302) der Netzwerkrechenvorrichtung 106 ausgeführt zu werden und die hier beschriebenen verschiedenen Funktionen auszuführen, wie etwa Sammeln leistungsrelevanter Daten (d. h. von Ablaufverfolgungsdaten) und Zurverfügungstellen der leistungsrelevanten Daten für eine Leistungsanalyse. Wie vorstehend beschrieben, können die Ablaufverfolgungsdaten jede Art von Informationen beinhalten, die den sich durch das HPC-Netzwerk 104 bewegenden Netzwerkdatenverkehr betreffen, wie etwa Routing-Informationen, Verzögerungsinformationen, Empfangs-/Übermittlungswarteschlangen-Informationen, Informationen für die Entscheidungsfindung, Informationen hinsichtlich eines oder mehrerer Merkmale von einer oder mehreren Komponenten der Netzwerkrechenvorrichtung 106 usw. Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 316 einen Teil des Prozessors 302 ausbilden oder kann anderweitig durch den Prozessor 302 eingerichtet sein. Bei anderen Ausführungsformen kann die Engine für die Ablaufverfolgung 316 als eine unabhängige Schaltung oder ein Prozessor (z. B. ein spezialisierter Co-Prozessor oder ASIC) ausgestaltet sein.
  • Die Engine für die Ablaufverfolgung 316 ist dazu ausgelegt, mit Hardware-Blöcken zu interagieren, die (z. B. über Leistungsindikator-Hardware) die den Netzwerkdatenverkehr betreffenden Ablaufverfolgungsdaten generieren und das Datenpaket anderweitig verarbeiten. Zusätzlich ist die Engine für die Ablaufverfolgung 316 dazu ausgelegt, die generierten Ablaufverfolgungsdaten in einem lokalen Ablaufverfolgungspuffer zu speichern (siehe z. B. den Ablaufverfolgungspuffer 708 der veranschaulichenden Netzwerkrechenvorrichtung 106 aus 7). Die Engine für die Ablaufverfolgung 316 ist ferner dazu ausgelegt, zumindest einen Teil der Ablaufverfolgungsdaten aus dem Ablaufverfolgungspuffer abzurufen und die abgerufenen Ablaufverfolgungsdaten in ein anderes Datenpaket einzufügen, das von dem Datenpaket, für welches die Ablaufverfolgungsdaten generiert wurden, verschieden ist. Anders ausgedrückt, ist die Engine für die Ablaufverfolgung 316 dazu ausgelegt, ein separates Datenpaket zu generieren (d. h. ein Ablaufverfolgungsdatenpaket), in welchem die Ablaufverfolgungsdaten an den Zielendpunktknoten 108, die Netzwerkrechenvorrichtung 106 oder den Ablaufverfolgungsendpunktknoten 110 außerhalb des Verkehrs, oder im Seitenband, zu übermitteln sind.
  • Es versteht sich, dass bei einigen Ausführungsformen die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein kann, Ablaufverfolgungsdaten für mehr als ein Datenpaket zu generieren und zu speichern, welche dann über ein einzelnes Ablaufverfolgungsdatenpaket übermittelt werden können. Somit kann zusätzlicher Verarbeitungsaufwand, der mit der Generierung des einzelnen Ablaufverfolgungsdatenpakets verbunden ist, amortisiert werden. Zusätzlich können Ablaufverfolgungsdaten zeitlich verschoben sein, sodass der Netzwerkdatenverkehr während eines gewissen Zeitfensters keine Ablaufverfolgungsdatenpakete hinzufügt, wodurch das Ablaufverfolgungsdatenpaket außerhalb des Ablaufverfolgungsdaten-Messfensters gesendet werden kann.
  • Zusätzlich ist die Engine für die Ablaufverfolgung 316 ferner dazu ausgelegt zu bestimmen, wie, wann und welche Leistungsdaten (d. h. die Ablaufverfolgungsdaten) basierend auf einer oder mehreren Einstellungen zur Leistungsablaufverfolgung zu erfassen/weiterzuleiten sind. Die Einstellungen zur Leistungsablaufverfolgung können auf einer oder mehreren Steuereinstellungen lokal auf der Netzwerkrechenvorrichtung 106 (z. B. einer Strategie der Netzwerkrechenvorrichtung 106) basieren oder über ein Datenpaket vom Quellendpunktknoten 102 empfangen werden. Bei solchen Ausführungsformen, in denen die Einstellungen zur Leistungsablaufverfolgung vom Quellendpunktknoten 102 empfangen werden, können die Einstellungen zur Leistungsablaufverfolgung in einem oder mehreren Bits eines Header-Felds eines von dem Quellendpunktknoten 102 empfangenen Datenpakets gespeichert werden. Die Einstellungen zur Leistungsablaufverfolgung können jegliche Daten beinhalten, die mit der Leistungsablaufverfolgung in Beziehung stehen, wie etwa, ob die Ablaufverfolgungsdatensammlung aktiviert ist, einen Typ von zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, Markierungsinformationen, ob die Ablaufverfolgungsdaten und/oder Markierungsinformationen zu komprimieren sind usw. Es versteht sich ferner, dass die Engine für die Ablaufverfolgung 316 bei einigen Ausführungsformen dazu ausgelegt sein kann, solche Einstellungen zur Leistungsablaufverfolgung oder Steuerungen in die von der Netzwerkrechenvorrichtung 106 zu übermittelnden Ablaufverfolgungsdatenpakete einzufügen.
  • Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, Markierungsinformationen zu beinhalten, die verwendbar sind, um den Ablauf in den Ablaufverfolgungsdatenpaketen an einem Bestimmungsendpunktknoten (z. B. dem Zielendpunktknoten 108, dem Ablaufverfolgungsendpunktknoten 110 usw.) zu rekonstruieren. Wie vorstehend beschrieben, können die Markierungsinformationen jegliche Daten beinhalten, die verwendbar sind, um eine Zuordnung der Ablaufverfolgungsdatenpakete zu den entsprechenden Datenpaketen, für welche die Ablaufverfolgungsdaten gesammelt wurden, zu identifizieren, wie etwa quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, eine Paketsequenznummer, pfadidentifizierende Informationen sowie Merkmale, die den markierten Informationen zugehörig sind, wie etwa eine gewünschte, von einem Zeitstempel aufgezeichnete Zeit (z. B. eine Eintrittszeit, eine Austrittszeit, eine Zeit des Stellens in eine Warteschlange usw.). Die Markierung kann beispielsweise eine Verkettung einer Kennung des Quellendpunktknotens 102, einer dem Datenpaket vom Quellendpunktknoten 102 zugeordneten Sequenznummer sein. Bei einigen Ausführungsformen kann die Markierung ferner zusätzliche kennzeichnende Informationen beinhalten, wie etwa einen Zeitstempel, der einer gewünschten Zeit entspricht, und/oder eine Kennung des Zielendpunktknotens 108.
  • Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 316 zusätzlich dazu ausgelegt sein, die Ablaufverfolgungsdaten zu komprimieren (d. h. die Größe der Ablaufverfolgungsdaten zu reduzieren). Zu diesem Zweck kann bei einigen Ausführungsformen die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, Ablaufverfolgungsdaten in Bereichen oder Klassifikationen zu speichern, die anzeigen, ob die Ablaufverfolgungsdaten unterhalb, innerhalb oder oberhalb eines bestimmten Schwellenwerts fallen. Zum Beispiel kann bei einem gegebenen Schwellenwert ein Zähler inkrementiert werden, entsprechend dessen, wie nah ein Wert an dem Schwellenwert liegt. Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 316 zusätzlich oder alternativ dazu ausgelegt sein, nur Ablaufverfolgungsdaten für Datenpakete, die von einem bestimmten Quellendpunktknoten 102, einem bestimmten Datenpaketfluss empfangen wurden, zu sammeln. In einem anderen Beispiel können bei einigen Ausführungsformen die Ablaufverfolgungsdaten nur gesammelt werden, wenn das Datenpaket einen Zeitraum, der größer als ein Verweilschwellenwert ist, in der Netzwerkrechenvorrichtung 106 verbringt (d. h. eine Verzögerung anzeigt).
  • Bei einigen Ausführungsformen kann der Zielendpunktknoten 108 zumindest einen Teil der Ablaufverfolgungsdaten in dem Speicher in einem Ringpuffer speichern (d. h. indem er ältere Ablaufverfolgungsdaten überschreibt, die nicht verbraucht wurden). Alternativ dazu kann der Zielendpunktknoten 108 bei einigen Ausführungsformen zumindest einen Teil der Ablaufverfolgungsdaten speichern, bis ein Speicherpuffer gefüllt ist, wobei der Zielendpunktknoten 108 das Speichern beendet, um ein Überschreiben von im Speicherpuffer enthaltenen Daten zu vermeiden. Bei einigen Ausführungsformen kann ein Hinweis im Header des Datenpakets verwendet werden, um anzuzeigen, welches Speicherverfahren zu implementieren ist.
  • Die Engine für die Ablaufverfolgung 316 kann dazu ausgelegt sein, die Ablaufverfolgungsdaten basierend auf einer Ablaufeinstellungsstufe zu erfassen, wie sie in den Einstellungen zur Leistungsablaufverfolgung enthalten sein kann. Die Ablaufeinstellungsstufe kann verwendet werden, um anzuzeigen, dass die Menge und/oder der Typ der gesammelten Ablaufverfolgungsdaten zu filtern oder anderweitig zu reduzieren ist. Zum Beispiel kann die Ablaufeinstellungsstufe anzeigen, dass die Leistungsablaufverfolgung zu aktivieren ist, nachdem eine Schwellenmenge von Datenpaketen durch die Netzwerkrechenvorrichtung 106 geschleust wurde. In einem anderen Beispiel kann die Ablaufeinstellungsstufe anzeigen, die Leistungsablaufverfolgung zu aktivieren, wenn mindestens ein Eingabepuffer der Netzwerkrechenvorrichtung 106 zu mehr als 50% gefüllt ist, und die Leistungsablaufverfolgung zu deaktivieren, wenn alle Eingabepuffer zu weniger als 50% gefüllt sind.
  • In noch einem anderen Beispiel kann die Ablaufeinstellungsstufe anzeigen, die Anzahl von Bytes oder Datenpaketen, welche sich während eines bestimmten Zeitfensters durch die Netzwerkrechenvorrichtung 106 bewegt haben, nachzuverfolgen und eine Leistungsablaufverfolgung basierend auf der nachverfolgten Anzahl von Bytes oder Datenpaketen zu aktivieren/deaktivieren. Es versteht sich, dass die Engine für die Ablaufverfolgung 316 bei einigen Ausführungsformen eine andere Ablaufeinstellungsstufe für ein oder mehrere der empfangenen Datenpakete verwenden kann. Alternativ dazu kann die Engine für die Ablaufverfolgung 316 bei anderen Ausführungsformen die gleiche Ablaufeinstellungsstufe für alle empfangenen Datenpakete verwenden.
  • Um den mit dem Senden der Ablaufverfolgungsdaten verbundenen zusätzlichen Aufwand weiter zu reduzieren, kann die Engine für die Ablaufverfolgung 316 bei einigen Ausführungsformen dazu ausgelegt sein, eher eine Eintritts-zu-Austrittszeit (d. h. eine Zeitdifferenz) als eine absolute Zeit zu speichern. Alternativ dazu kann die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, nur Daten zu speichern, die als in eine bestimmte vorbestimmte Kategorie fallend bestimmt worden sind. Zum Beispiel kann die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, kurze und lange Ablaufverfolgungseinträge zu unterstützen (z. B. einen Zähler um Null oder Eins inkrementieren, den Zähler um Eins oder Zwei inkrementieren usw.). In einem anderen Beispiel können Datenpakete, die in einer Zeit bearbeitet werden, die geringer als die vorbestimmte Schwellendauer ist, Ablaufverfolgungsdaten in Kurzform speichern, während Datenpakete, die in einer Zeit bearbeitet werden, die größer als eine vorbestimmte Schwellendauer ist (d. h. verzögerte Datenpakete), Ablaufverfolgungsdaten in Langform speichern können. Bei solchen Ausführungsformen kann ein Zähler gespeichert werden oder eine Änderung in einem Zähler kann zum Auslösen des Speicherns eines anderen Zählers verwendet werden.
  • Zusätzlich oder alternativ dazu sind Ablaufverfolgungsdaten variabel sammelbar. Wenn beispielsweise eine Ressource der Netzwerkrechenvorrichtung 106 eine Engstelle sein könnte oder eine andere Ressource der Netzwerkrechenvorrichtung 106 eine Engstelle sein könnte, kann die Engine für die Ablaufverfolgung 316 Zähler für jede der Ressourcen untersuchen und Ablaufverfolgungsdaten nur an einer der Ressourcen sowie ein Bit sammeln, um anzuzeigen, welche Ressource aufgezeichnet wurde. Es versteht sich, dass die Netzwerkrechenvorrichtung 106 dazu ausgelegt sein kann, unterwegs zusätzliche andere Daten zu sammeln, wie etwa verschiedene Metriken der Netzwerkrechenvorrichtung 106, die von der Engine für die Ablaufverfolgung gespeichert werden können, in die Ablaufverfolgungsdaten in einem Datenpaket eingesetzt werden können und auf ähnliche Weise wie die zuvor beschriebenen Ablaufverfolgungsdaten komprimiert werden können.
  • Ähnlich den zuvor beschriebenen Komprimierungsbeispielen der Ablaufverfolgungsdaten können bei einigen Ausführungsformen die Markierungsinformationen in den Ablaufverfolgungsdatenpaketen komprimiert werden. Zum Beispiel kann die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, einen anfänglichen kompletten Zeitstempel und dann einige wenige Bits für jedes zeitliche Voranschreiten pro Mikrosekunde zu speichern. In einem anderen Beispiel kann die Engine für die Ablaufverfolgung 316 Zeitstempel als Seitenbandinformationen aufzeichnen, wie etwa Aufzeichnen der Anzahl von Datenpaketen, für welche Ablaufverfolgungsdaten in einem bestimmten Intervall (z. B. alle fünf Mikrosekunden) gesammelt wurden. Zusätzlich oder alternativ dazu kann die Engine für die Ablaufverfolgung 316 dazu ausgelegt sein, die Ablaufverfolgungsdaten gemäß dem Datenpaket, für das die Ablaufverfolgungsdaten generiert wurden, zu markieren.
  • Ähnlich den Quellendpunktknoten 102 können die Zielendpunktknoten 108 als jede Art von Berechnungs- oder Rechenvorrichtung ausgestaltet sein, die in der Lage ist, die hier beschriebenen Funktionen durchzuführen, einschließlich, unter anderem, einer tragbaren Rechenvorrichtung (z. B. Smartphone, Tablet, Laptop, Notebook, am Körper tragbar usw.), die mobile Hardware (z. B. Prozessor, Speicher, Massenspeicher, drahtlose Kommunikationsschaltungen usw.) und Software (z. B. ein Betriebssystem) beinhaltet, zum Unterstützen einer mobilen Architektur und Tragbarkeit, eines Computers, eines Servers (z. B. Einzelplatz-, Rackmount-, Blade- usw.), einer Netzwerkanwendung (z. B. physische oder virtuelle), einer Webanwendung, eines verteilten Rechensystems, eines prozessorbasierten Systems und/oder eines Mehrprozessorensystems.
  • Wie in 4 gezeigt, beinhaltet der veranschaulichende Zielendpunktknoten 108, ebenfalls ähnlich dem veranschaulichenden Quellendpunktknoten 102 aus 2, einen Prozessor 402, ein I/O-Teilsystem 404, einen Speicher 406, eine Datenspeichervorrichtung 408, Kommunikationsschaltungen 410, die einen NIC 412 und einen sicheren Speicher 414 des NIC 412 beinhalten, eine Engine für die Ablaufverfolgung 416, einen Taktgeber 418 und eine oder mehrere Peripherievorrichtungen 420. Somit werden weitere Beschreibungen der gleichen Komponenten hier in dem Verständnis nicht wiederholt, dass die Beschreibung der vorstehend bereitgestellten Komponenten hinsichtlich des veranschaulichenden Quellendpunktknotens 102 aus 2 gleichermaßen auf die entsprechenden Komponenten des veranschaulichenden Zielendpunktknotens 108 aus 4 anwendbar ist.
  • Die Engine für die Ablaufverfolgung 416 des Zielendpunktknotens 108 ist ähnlich der Engine für die Ablaufverfolgung 216 des vorstehend beschriebenen Quellendpunktknotens 102 dazu ausgelegt, lokal gespeicherte Ablaufverfolgungsdaten abzurufen. Die Engine für die Ablaufverfolgung 416 ist ferner dazu ausgelegt, Ablaufverfolgungsdaten aus einem vom Zielendpunktknoten 108 empfangenen Datenpaket zu extrahieren, wie es von der Netzwerkrechenvorrichtung 106 empfangen werden kann, und die Ablaufverfolgungsdaten lokal zu speichern. Bei einigen Ausführungsformen kann die Engine für die Ablaufverfolgung 416 zusätzlich dazu ausgelegt sein, die gespeicherten Ablaufverfolgungsdaten zu verarbeiten und sie in einem Ablaufverfolgungsspeicher des Zielendpunktknotens 108 aufzuzeichnen. Zusätzlich oder alternativ dazu kann die Engine für die Ablaufverfolgung 416 bei einigen Ausführungsformen einen Teil des Prozessors 402 ausbilden oder anderweitig durch den Prozessor 402 eingerichtet sein. Bei anderen Ausführungsformen kann die Engine für die Ablaufverfolgung 416 als eine unabhängige Schaltung oder ein Prozessor (z. B. ein spezialisierter Co-Prozessor oder ASIC) ausgestaltet sein.
  • Es versteht sich, dass das Datenpaket mehrere Netzwerkrechenvorrichtungen 106 durchlaufen kann, von denen Ablaufverfolgungsdaten an den Zielendpunktknoten 108 übermittelt werden können. Somit können bei einigen Ausführungsformen Markierungsinformationen in den Ablaufverfolgungsdaten beinhaltet sein. Die Markierungsinformationen können jegliche Informationen beinhalten, die verwendbar sind, um das Datenpaket zur Ablaufverfolgungsdaten-Rekonstruktion an der Empfangsvorrichtung (z. B. dem Zielendpunktknoten 108 oder dem Ablaufverfolgungsendpunktknoten 110) zu identifizieren. Die Markierungsinformationen können zum Beispiel eine Verkettung einer Absendernummer (d. h. eine Kennung der Absendervorrichtung) und einer Sequenznummer (z. B. wie sie vom Quellendpunktknoten 102 bei generierten Datenpaketen zugeordnet wird) beinhalten. Im Ergebnis kann der Zielendpunktknoten 108 beim Empfangen des Satzes von Datenpaketen den Ablauf (z. B. Verzögerungen, Umleitungen und andere Leistungsdaten) rekonstruieren, wie durch die Sequenznummern bestimmbar ist.
  • Alternativ dazu können bei einigen Ausführungsformen solche Markierungsinformationen nicht in den Ablaufverfolgungsdaten beinhaltet sein. Bei solchen Ausführungsformen können gesammelte und anschließend an den Zielendpunktknoten 108 übermittelte Ablaufverfolgungsdaten nicht unmittelbar anderen Datenpaketen zuordenbar sein, sondern können einer Gruppe von Datenpaketen zuordenbar sein, die zur Leistungsdatensammlung markiert wurden, wie etwa über einen bestimmten Zeitraum. Ferner werden in der jeweiligen Netzwerkrechenvorrichtung 106 gespeicherte Ablaufverfolgungsdaten in der Regel in zeitlicher Reihenfolge gespeichert, die verwendbar sein kann, um empfangene Ablaufverfolgungsdaten mit feinerer Granularität zuzuordnen. Wenn sich zum Beispiel 4.500 nachverfolgte Datenpakete durch eine Netzwerkrechenvorrichtung 106 hindurch bewegen, werden die ersten 1.500 am Zielrechenknoten empfangenen Ablaufverfolgungsdatenpakete höchstwahrscheinlich den ersten 1.500 nachverfolgten Datenpaketen zugeordnet.
  • Somit kann die Engine für die Ablaufverfolgung 416 bei solchen Ausführungsformen dazu ausgelegt sein, Blöcke von empfangenen Ablaufverfolgungsdatenpaketen zuzuordnen und verschiedene Attribute der Blöcke von empfangenen Ablaufverfolgungsdatenpaketen zu berechnen. Dementsprechend kann die Engine für die Ablaufverfolgung 416 dazu ausgelegt sein, Merkmale der Netzwerkleistung durch die Attribute jedes der Blöcke von empfangenen Ablaufverfolgungsdatenpaketen wahrzunehmen. Die Engine für die Ablaufverfolgung 416 kann zum Beispiel Verzögerungswerte berechnen, die für jeden Block von 1.500 Ablaufverfolgungsdatenpaketen wahrgenommen wurden, um zu bestimmen, ob eine Überlastung zugenommen oder abgenommen hat oder gleich geblieben ist.
  • Bei einigen Ausführungsformen kann ein begrenztes Markieren den Nutzwert der Ablaufverfolgungsdaten erhöhen, sogar wenn die Markierung nicht zum vollständigen Rekonstruieren des Ablaufs ausreicht. Zeitstempel-Informationen können zum Beispiel verwendet werden, um die Ablaufverfolgungsdaten basierend auf einem Zeitstempel zu rekonstruieren, der einem aufgezeichneten Ablaufverfolgungsereignis der Datenpakete (z. B. Eintritt, Warteschlange, Austritt usw.) entspricht, für welches Ablaufverfolgungsdaten aufgezeichnet wurden. Somit können die empfangenen Ablaufverfolgungsdatenpakete basierend auf den Zeitstempeln in Zeitfenstern gruppiert werden. Eine Austrittszeitstempelmarkierung kann beispielsweise alle fünf Mikrosekunden aktualisiert werden. Dementsprechend können über 40 Mikrosekunden gesammelte Ablaufverfolgungsdaten bis zu acht eindeutige Zeitstempel-Markierungen aufweisen. Im Ergebnis kann die Engine für die Ablaufverfolgung 416 dazu ausgelegt sein, Datenpaket-Übermittlungsraten, -verzögerungen usw. basierend auf einem aus den Zeitstempel-Markierungen rekonstruierten Ablauf zu bestimmen. Es versteht sich, dass die Ablaufverfolgungsdaten an eine andere Vorrichtung ausgelagert werden können, sodass die Rekonstruktion nicht unmittelbar von der Engine für die Ablaufverfolgung 416 durchgeführt wird.
  • Wieder auf 1 verweisend kann der Ablaufverfolgungsendpunktknoten 110, ähnlich dem Zielendpunktknoten 108, als jede Art von Berechnungs- oder Rechenvorrichtung ausgestaltet sein, die in der Lage ist, die hier beschriebenen Funktionen durchzuführen, einschließlich, unter anderem, einer tragbaren Rechenvorrichtung (z. B. Smartphone, Tablet, Laptop, Notebook, am Körper tragbar usw.), die mobile Hardware (z. B. Prozessor, Speicher, Massenspeicher, drahtlose Kommunikationsschaltungen usw.) und Software (z. B. ein Betriebssystem) beinhaltet, zum Unterstützen einer mobilen Architektur und Tragbarkeit, eines Computers, eines Servers (z. B. Einzelplatz-, Rackmount-, Blade- usw.), einer Netzwerkanwendung (z. B. physische oder virtuelle), einer Webanwendung, eines verteilten Rechensystems, eines prozessorbasierten System und/oder eines Mehrprozessorensystems.
  • Der Ablaufverfolgungsendpunktknoten 110, auch ähnlich dem veranschaulichenden Zielendpunktknoten 108 aus 4, kann Folgendes beinhalten: einen Prozessor, ein I/O-Teilsystem, einen Speicher, eine Datenspeichervorrichtung, Kommunikationsschaltungen, die eine NIC und einen sicheren Speicher der NIC beinhalten, eine Engine für die Ablaufverfolgung, einen Taktgeber und eine oder mehrere Peripherievorrichtungen, die nicht gezeigt sind, um die Klarheit der Beschreibung zu erhalten. Somit werden weitere Beschreibungen der gleichen Komponenten hier in dem Verständnis nicht wiederholt, dass die vorstehend bereitgestellte Beschreibung der entsprechenden Komponenten hinsichtlich des veranschaulichenden Zielendpunktknotens 108 aus 4 gleichermaßen auf die entsprechenden Komponenten des Ablaufverfolgungsendpunktknotens 110 zutrifft. Es versteht sich, dass bei einigen Ausführungsformen zumindest ein Teil der Ablaufverfolgungsdatenanalyse, die vorstehend als von der Engine für die Ablaufverfolgung 416 durchgeführt beschrieben wurde, zusätzlich oder alternativ dazu von dem Ablaufverfolgungsendpunktknoten 110 durchgeführt werden kann (z. B. einer Engine für die Ablaufverfolgung des Ablaufverfolgungsendpunktknotens 110).
  • Nun Bezug nehmend auf 5 erstellt die Netzwerkrechenvorrichtung 106 bei einer veranschaulichenden Ausführungsform während des Betriebs eine Umgebung 500. Die veranschaulichende Umgebung 500 beinhaltet ein Netzwerkkommunikationsverwaltungsmodul 510 und ein Leistungsablaufverfolgungsmodul 520. Jedes der Module, der Logik und der anderen Komponenten der Umgebung 500 kann als Hardware, Software, Firmware oder eine Kombination davon ausgestaltet sein. Jedes der Module, der Logik und der anderen Komponenten der Umgebung 500 kann beispielsweise als ein Teil des Prozessors 302, der Kommunikationsschaltungen 310 (z. B. die NIC 312) und/oder anderer HardwareKomponenten der Netzwerkrechenvorrichtung 106 ausgebildet oder anderweitig dadurch eingerichtet sein. Somit können bei einigen Ausführungsformen ein oder mehrere Module der Umgebung 500 als Schaltungen oder eine Zusammenstellung von elektrischen Vorrichtungen (z. B. Netzwerkkommunikationsverwaltungsschaltungen 510, Leistungsablaufverfolgungsschaltungen 520 usw.) ausgebildet sein. Es versteht sich, dass die Netzwerkrechenvorrichtung 106 andere Komponenten, Teilkomponenten, Module, Teilmodule und/oder allgemein in einer Rechenvorrichtung auftretende Vorrichtungen beinhalten kann, die der Klarheit der Beschreibung halber nicht in 5 dargestellt sind.
  • Die veranschaulichende Umgebung 500 der Netzwerkrechenvorrichtung 106 beinhaltet zusätzlich Ablaufverfolgungsdaten 502 und Header-Daten 504, die jeweils im Speicher 306, der Datenspeichervorrichtung 308 und/oder dem sicheren Speicher 314 der Netzwerkrechenvorrichtung 106 gespeichert werden können und auf die von den verschiedenen Modulen und/oder Teilmodulen der hier beschriebenen Netzwerkrechenvorrichtung 106 zugegriffen werden kann. Wie zuvor beschrieben, können die Ablaufverfolgungsdaten 502 jede Art von Informationen betreffen, die sich auf den Fluss des Netzwerkdatenverkehrs beziehen, wie etwa Routeninformationen, Verzögerungsinformationen, Warteschlangeninformationen, Informationen für die Entscheidungsfindung usw. sowie jegliche Merkmale einer oder mehrerer Komponenten der Netzwerkrechenvorrichtung 106 (z. B. Temperatur, interne Pufferauslastung, Prozessorauslastung, Speicherauslastung usw.), die das Datenpaket verarbeitet/weitergeleitet haben. Die Header-Daten 504 können jede Art von in einem Header eines Datenpakets gespeicherte Informationen umfassen, wie etwa Absenderinformationen, Bestimmungsinformationen, Einstellungen zur Leistungsablaufverfolgung usw.
  • Das Netzwerk-Kommunikationsverwaltungsmodul 510 ist dazu ausgelegt, in die Netzwerkrechenvorrichtung 106 eingehende und aus derselben ausgehende NetzwerkKommunikationen zu ermöglichen (z. B. Netzwerkdatenverkehr, Datenpakete, Netzwerkflüsse usw.). Zu diesem Zweck ist das Netzwerk-Kommunikationsverwaltungsmodul 510 dazu ausgelegt, Datenpakete von anderen Rechenvorrichtungen zu empfangen und zu verarbeiten (z. B. dem Quellendpunktknoten 102, einer anderen Netzwerkrechenvorrichtung 106, dem Zielendpunktknoten 108, dem Ablaufverfolgungsendpunktknoten 110 usw.). Zusätzlich ist das Netzwerk-Kommunikationsverwaltungsmodul 510 dazu ausgelegt, Datenpakete für eine Rechenvorrichtung (z. B. den Quellendpunktknoten 102, eine andere Netzwerkrechenvorrichtung 106, den Zielendpunktknoten 108, den Ablaufverfolgungsendpunktknoten 110 usw.) vorzubereiten und an dieselbe zu übermitteln. Dementsprechend kann bei einigen Ausführungsformen zumindest ein Teil der Funktionalität des Netzwerk-Kommunikationsverwaltungsmoduls 510 von den Kommunikationsschaltungen 310 und insbesondere von der NIC 312 durchgeführt werden.
  • Das Leistungsablaufverfolgungsmodul 520 ist dazu ausgelegt, von der Netzwerkrechenvorrichtung 106 generierte und darin lokal gespeicherte Ablaufverfolgungsdaten zu verwalten sowie solche Ablaufverfolgungsdaten in ein von der Netzwerkrechenvorrichtung 106 generiertes Ablaufverfolgungsdatenpaket einzufügen. Zum Verwalten der Ablaufverfolgungsdaten kann das Leistungsablaufverfolgungsmodul 520 bei einigen Ausführungsformen Folgendes beinhalten: ein Header-Daten-Extraktionsmodul 522, ein Ablaufverfolgungsdaten-Erfassungsmodul 524, ein Ablaufverfolgungsdaten-Speicherverwaltungsmodul 526 und ein Ablaufverfolgungsdaten-Übermittlungswarteschlangen-Verwaltungsmodul 528. Das Header-Daten-Extraktionsmodul 522 kann dazu ausgelegt sein, um Header-Informationen aus empfangenen Datenpaketen zu extrahieren und die extrahierten Header-Informationen in den Header-Daten 504 zu speichern, die im sicheren Speicher 314 der NIC 312 angeordnet sein können. Das Ablaufverfolgungsdaten-Erfassungsmodul 524 kann dazu ausgelegt sein, Ablaufverfolgungsdaten entsprechend einem empfangenen Datenpaket zu erfassen. Wie vorstehend beschrieben, können die Ablaufverfolgungsdaten jede Art von Informationen beinhalten, die den sich durch das HPC-Netzwerk 104 bewegenden Netzwerkdatenverkehr betreffen, wie etwa Routing-Informationen, Verzögerungsinformationen, Empfangs-/Übermittlungswarteschlangen-Informationen, Informationen für die Entscheidungsfindung, Informationen hinsichtlich eines oder mehrerer Merkmale von einer oder mehrerer Komponenten der Netzwerkrechenvorrichtung 106 usw.
  • Das Ablaufverfolgungsdaten-Speicherverwaltungsmodul 526 kann dazu ausgelegt sein, die erfassten Ablaufverfolgungsdaten in den Ablaufverfolgungsdaten 502 zu speichern, die im sicheren Speicher 314 der NIC 312 angeordnet sein können. Das Ablaufverfolgungsdaten-Übermittlungswarteschlangen-Verwaltungsmodul 528 kann dazu ausgelegt sein, Ablaufverfolgungsdaten (z. B. solche, die in den Ablaufverfolgungsdaten 502 gespeichert sein können) abzurufen und die abgerufenen Ablaufverfolgungsdaten in ein Ablaufverfolgungsdatenpaket einzufügen. Es versteht sich, dass bei einigen Ausführungsformen zumindest ein Teil der Funktionen des hier beschriebenen Leistungsablaufverfolgungsmoduls 520 von der vorstehend beschriebenen Engine für die Ablaufverfolgung 316 durchgeführt werden kann.
  • Nun Bezug nehmend auf 6 richtet der Zielendpunktknoten 108 in einer veranschaulichenden Ausführungsform eine Umgebung 600 während des Betriebs ein. Die veranschaulichende Umgebung 600 beinhaltet ein Netzwerk-Kommunikationsverwaltungsmodul 610 und ein Leistungsablaufverfolgungsmodul 620. Jedes der Module, der Logik und anderer Komponenten der Umgebung 600 kann als Hardware, Software, Firmware oder eine Kombination davon ausgestaltet sein. Beispielsweise kann jedes der Module, der Logik und der anderen Komponenten der Umgebung 600 einen Teil des Prozessors 402, der Kommunikationsschaltungen 410 (z. B. der NIC 412) und/oder anderer Hardwarekomponenten des Zielendpunktknotens 108 ausbilden oder anderweitig durch diese eingerichtet sein. Somit können bei einigen Ausführungsformen ein oder mehrere der Module der Umgebung 600 als Schaltungen oder eine Gruppe elektrischer Vorrichtungen ausgestaltet sein (z. B. Netzwerkkommunikations-Verwaltungsschaltungen 610, Leistungsablaufverfolgungs-Schaltungen 620 usw.). Es versteht sich, dass der Zielendpunktknoten 108 andere Komponenten, Teilkomponenten, Module, Teilmodule und/oder gemeinhin in einer Rechenvorrichtung auftretende Vorrichtungen beinhaltet, die in 6 der Klarheit der Beschreibung halber nicht dargestellt sind.
  • Die veranschaulichende Umgebung 600 des Zielendpunktknotens 108 beinhaltet zusätzlich Ablaufverfolgungsdaten 602 und Header-Daten 604, die jeweils im Speicher 406, der Datenspeichervorrichtung 408 und/oder dem sicheren Speicher 414 gespeichert werden können und auf die von den verschiedenen Modulen und/oder Teilmodulen des Zielendpunktknotens 108 zugegriffen werden kann. Wie vorstehend beschrieben, können die Ablaufverfolgungsdaten 602 jede Art von Informationen bezüglich des Flusses von Netzwerkdatenverkehr beinhalten, wie etwa Routeninformationen, Verzögerungsinformationen, Warteschlangeninformationen, Informationen für die Entscheidungsfindung usw. sowie jegliche Merkmale einer oder mehrerer Komponenten des Quellendpunktknotens 102 und/oder der Netzwerkrechenvorrichtung(en) 106 (z. B. Temperatur, interne Pufferauslastung, Prozessorauslastung, Speicherauslastung usw.), die das Datenpaket verarbeitet/weitergeleitet haben.
  • Das Netzwerk-Kommunikationsverwaltungsmodul 610 ist, ähnlich dem Netzwerk-Kommunikationsverwaltungsmodul 510 aus 5, dazu ausgelegt, eingehende und ausgehende Netzwerkkommunikationen (z. B. Netzwerkdatenverkehr, Datenpakete, Netzwerkflüsse usw.) in den und aus dem Zielendpunktknoten 108 zu ermöglichen. Um dies zu bewerkstelligen, ist das Netzwerk-Kommunikationsverwaltungsmodul 610 dazu ausgelegt, Datenpakete von anderen Rechenvorrichtungen zu empfangen und zu verarbeiten (z. B. der Netzwerkrechenvorrichtung 106). Zusätzlich ist das Netzwerk-Kommunikationsverwaltungsmodul 610 dazu ausgelegt, Datenpakete für eine andere Rechenvorrichtung vorzubereiten und an dieselbe zu übermitteln (z. B. die Netzwerkrechenvorrichtung 106). Dementsprechend kann bei einigen Ausführungsformen zumindest ein Teil der Funktionalität des Netzwerk-Kommunikationsverwaltungsmoduls 610 von den Kommunikationsschaltungen 410 und insbesondere von der NIC 412 durchgeführt werden.
  • Das Leistungsablaufverfolgungsmodul 620 ist dazu ausgelegt, vom Zielendpunktknoten 108 generierte und/oder von demselben empfangene Ablaufverfolgungsdaten zu verwalten. Zusätzlich ist das Leistungsablaufverfolgungsmodul 620 dazu ausgelegt, Ablaufverfolgungsdaten aus empfangenen Datenpaketen zu extrahieren, die extrahierten Ablaufverfolgungsdaten lokal in den Zielendpunktknoten 108 zu speichern und den Ablauf entsprechend den Ablaufverfolgungsdaten, anhand derer die Leistungsanalyse vorgenommen werden kann, zu rekonstruieren. Um dies zu bewerkstelligen, kann das Leistungsablaufverfolgungsmodul 620 bei einigen Ausführungsformen ein Header-Daten-Extraktionsmodul 622, ein Ablaufverfolgungsdaten-Extraktionsmodul 624, ein Ablaufverfolgungsdatenspeicher-Verwaltungsmodul 626 und ein Ablaufverfolgungsdaten-Rekonstruktionsmodul 628 beinhalten.
  • Das Header-Daten-Extraktionsmodul 622 kann dazu ausgelegt sein, Header-Informationen aus empfangenen Ablaufverfolgungsdatenpaketen zu extrahieren und die extrahierten Header-Informationen in den Header-Daten 604 zu speichern, welche im sicheren Speicher 414 der NIC 412 angeordnet sein können. Bei einigen Ausführungsformen, in denen eine Markierung in den Header des Datenpakets integriert ist, kann das Header-Daten-Extraktionsmodul 622 zusätzlich dazu ausgelegt sein zu bestimmen, welches Feld der Markierung entspricht, und die Markierung in den aus dem entsprechenden Ablaufverfolgungsdatenpaket extrahierten Ablaufverfolgungsdaten zu speichern. Das Ablaufverfolgungsdaten-Extraktionsmodul 624 kann dazu ausgelegt sein, die Ablaufverfolgungsdaten aus den empfangenen Ablaufverfolgungsdaten-Datenpaketen zu extrahieren.
  • Das Ablaufverfolgungsdatenspeicher-Verwaltungsmodul 626 kann dazu ausgelegt sein, die extrahierten Ablaufverfolgungsdaten zu speichern. Es versteht sich, dass das Ablaufverfolgungsdatenspeicher-Verwaltungsmodul 626 dazu ausgelegt sein kann, die extrahierten Ablaufverfolgungsdaten basierend auf einer oder mehreren Einstellungen zur Leistungsablaufverfolgung zu speichern, wie etwa durch Klassenbildung der Ablaufverfolgungsdaten basierend auf einem Merkmal des Datenpakets, für welches die Ablaufverfolgungsdaten generiert wurden. Das Ablaufverfolgungsdaten-Rekonstruktionsmodul 628 kann dazu ausgelegt sein, die Ablaufverfolgungsdaten zu rekonstruieren. Es versteht sich, dass das Ablaufverfolgungsdaten-Rekonstruktionsmodul 628 dazu ausgelegt sein kann, die Ablaufverfolgungsdaten, wie vorstehend beschrieben, basierend auf einem extrahierten Merkmal des Ablaufverfolgungsdatenpakets zu rekonstruieren. Es versteht sich ebenfalls, dass bei einigen Ausführungsformen zumindest ein Teil der Funktionen des hier beschriebenen Leistungsablaufverfolgungsmoduls 620 durch die vorstehend beschriebene Engine für die Ablaufverfolgung 416 des Zielendpunktknotens 108 durchgeführt werden kann.
  • Bei einigen Ausführungsformen, wie vorstehend beschrieben, können die Ablaufverfolgungsdaten, an Stelle des Zielendpunktknotens 108, an den Ablaufverfolgungsendpunktknoten 110 übermittelt werden. Dementsprechend versteht es sich, dass der Ablaufverfolgungsendpunktknoten bei solchen Ausführungsformen ein Leistungsablaufverfolgungsmodul beinhalten kann, das in der Lage ist, die Funktionen wie vorstehend beschrieben für das Leistungsablaufverfolgungsmodul 620 des veranschaulichenden Zielendpunktknotens 108 aus 6 durchzuführen.
  • Nun Bezug nehmend auf 7 ist der Quellendpunktknoten 102 bei Verwendung dazu ausgelegt, ein Datenpaket 700 zu generieren, wie etwa in Reaktion auf eine gegenwärtig am Quellendpunktknoten 102 ausgeführte Anwendung. Das Datenpaket 700 kann einen Header-Teil 702 und einen Nutzdaten-Teil 704 beinhalten. Der Quellendpunktknoten 102 ist ferner dazu ausgelegt, das Datenpaket 700 an die Netzwerkrechenvorrichtung 106 zu übermitteln. Bei einigen Ausführungsformen kann der Quellendpunktknoten 102 dazu ausgelegt sein, das Datenpaket 700 betreffende Ablaufverfolgungsdaten zu generieren und die generierten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer 706 im sicheren Speicher 214 der NIC 212 zu speichern. Es versteht sich, dass der Quellendpunktknoten 102 bei solchen Ausführungsformen zusätzlich dazu ausgelegt sein kann, ein Ablaufverfolgungsdatenpaket zu generieren (siehe z. B. das Ablaufverfolgungsdatenpaket 720), das zumindest einen Teil der Ablaufverfolgungsdaten aus dem Ablaufverfolgungspuffer 706 beinhaltet. Ferner kann der Quellendpunktknoten 102 bei solchen Ausführungsformen dazu ausgelegt sein, das Ablaufverfolgungsdatenpaket auf eine ähnliche Weise zu übermitteln, die für das durch die nachstehend beschriebene Netzwerkrechenvorrichtung 106 generierte Ablaufverfolgungsdatenpaket 720 gilt. Alternativ dazu können bei einer Ausführungsform, in welcher der Quellendpunktknoten 102 Ablaufverfolgungsspeicher analog zum Zielendpunktknoten 108 beinhaltet (d. h. den Ablaufverfolgungsspeicher 714 aus 7), Ablaufverfolgungsdaten in den Ablaufverfolgungsspeicher zum Verarbeiten durch höhere Software, die auf dem Quellendpunktknoten 102 läuft, gespeichert werden.
  • Die Netzwerkrechenvorrichtung 106 ist dazu ausgelegt, das Datenpaket 700 zu verarbeiten/weiterzuleiten, Ablaufverfolgungsdaten entsprechend dem vom Quellendpunktknoten 102 empfangenen Datenpaket 700 zu generieren und die generierten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer 708 im sicheren Speicher 314 lokal in der NIC 312 zu speichern. Wie vorstehend beschrieben, können die von der Netzwerkrechenvorrichtung 106 generierten Ablaufverfolgungsdaten jede Art von Informationen beinhalten, die das sich durch das HPC-Netzwerk 104 bewegende Datenpaket 700 betreffen, wie etwa Transitinformationen, Warteschlangen-Informationen, Verfügbarkeit von Krediten, Zähler von Fehlerquoten, andere Ereigniszähler (z. B. niedrige Bits der Ereigniszähler), Routing-Entscheidungsinformationen (z. B. einen ausgewählten Routingpfad), Informationen, die eine detektierte Ursache für eine Verzögerung betreffen (z. B. verzögert aufgrund von Krediterschöpfung, Anschlussverfügbarkeitsengpass usw.) und/oder Merkmal(e) von Komponenten der Netzwerkrechenvorrichtung 106 (z. B. einer Temperatur, internen Pufferauslastungsinformationen, einer prozentualen Prozessorauslastung, einer prozentualen Speicherauslastung usw.).
  • Bei einigen Ausführungsformen können die Ablaufverfolgungsdaten in einem Paarformat gespeichert werden, das eine Kennung der Netzwerkrechenvorrichtung 106 und eine gewünschte Zeit oder andere Informationen beinhaltet, die das sich durch das HPC-Netzwerk 104 bewegende Datenpaket 700 betreffen, wie vorstehend beschrieben. Wie vorstehend beschrieben, kann die gewünschte Zeit Folgendes beinhalten: eine Eintrittszeit des Datenpakets 700 an der Netzwerkrechenvorrichtung 106, eine Zeit, in der das Datenpaket 700 an der Netzwerkrechenvorrichtung 106 in eine Warteschlange gestellt wurde, eine Austrittszeit des Datenpakets 700 aus der Netzwerkrechenvorrichtung 106 und dergleichen. Die Netzwerkrechenvorrichtung 106 ist ferner dazu ausgelegt, das Datenpaket 700 beispielsweise abhängig von einem bestimmten Fluss des Datenpakets 700 an entweder eine andere Netzwerkrechenvorrichtung 106 oder den Zielendpunktknoten 108 weiterzuleiten.
  • Die Netzwerkrechenvorrichtung 106 ist ferner dazu ausgelegt, anschließend an das Empfangen, Verarbeiten und Weiterleiten des Datenpakets 700 (d. h. Seitenband) ein Ablaufverfolgungsdatenpaket 720 zu generieren sowie dasselbe weiterzuleiten und die ihm entsprechenden Ablaufverfolgungsdaten zu generieren. Zusätzlich ist die Netzwerkrechenvorrichtung 106 dazu ausgelegt, das Ablaufverfolgungsdatenpaket 720 an den Zielendpunktknoten 108 zur Ablaufrekonstruktion zu übermitteln. Dementsprechend kann das Ablaufverfolgungsdatenpaket 720 Markierungsinformationen beinhalten, die im Header-Teil 722 oder im Nutzdatenteil 724 des Ablaufverfolgungsdatenpakets 720 gespeichert sein können. Bei einigen Ausführungsformen kann die Netzwerkrechenvorrichtung 106 dazu ausgelegt sein, einen Hinweis in das Ablaufverfolgungsdatenpaket 720 einzufügen, welcher anzeigt, dass das Ablaufverfolgungsdatenpaket 720 Ablaufverfolgungsdaten beinhaltet. Zusätzlich oder alternativ dazu kann die Netzwerkrechenvorrichtung 106 dazu ausgelegt sein, einen Hinweis in das Ablaufverfolgungsdatenpaket einzufügen, der anzeigt, welche Einstellungen zur Leistungsablaufverfolgung verwendet wurden und/oder zu verwenden sind, um die Ablaufverfolgungsdaten zu generieren/zu sammeln.
  • Bei einigen Ausführungsformen, in denen der Quellendpunktknoten 102 dazu ausgelegt ist, ein Ablaufverfolgungsdatenpaket zu generieren, kann die Netzwerkrechenvorrichtung 106 dazu ausgelegt sein, das vom Quellendpunktknoten 102 empfangene Ablaufverfolgungsdatenpaket weiterzuleiten und/oder die Ablaufverfolgungsdaten aus dem Ablaufverfolgungsdatenpaket zu extrahieren. Bei solchen Ausführungsformen, in denen die Netzwerkrechenvorrichtung 106 dazu ausgelegt ist, die Ablaufverfolgungsdaten zu extrahieren, können die extrahierten Ablaufverfolgungsdaten im Ablaufverfolgungspuffer 708 gespeichert werden.
  • Wie vorstehend beschrieben, kann das Ablaufverfolgungsdatenpaket 720 bei einigen Ausführungsformen an den Ablaufverfolgungsendpunktknoten 110 an Stelle des Zielendpunktknotens 108 weitergeleitet werden. Es versteht sich, dass der Ablaufverfolgungsendpunktknoten 110 bei solchen Ausführungsformen dazu ausgelegt sein kann, dass er die Funktionen des veranschaulichenden Zielendpunktknotens 108 aus 7, wie hier beschrieben, durchführen kann.
  • Der Zielendpunktknoten 108 ist zu Folgendem ausgelegt: Empfangen des Ablaufverfolgungsdatenpakets 720 von der Netzwerkrechenvorrichtung 106, Extrahieren der Ablaufverfolgungsdaten aus dem Ablaufverfolgungsdatenpaket 720 (z. B. aus dem Nutzdatenteil 724 des Datenpakets) und Speichern der extrahierten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer 710 im sicheren Speicher 414 lokal auf die NIC 412. Zusätzlich ist der Zielendpunktknoten 108 dazu ausgelegt, die Ablaufverfolgungsdaten aus dem Ablaufverfolgungspuffer 710 in einem Ablaufverfolgungsspeicher 714 (d. h. einem stabilen Speicherort), der extern zur NIC 412 liegt, zu speichern. Es versteht sich, dass das Speichern der Ablaufverfolgungsdaten in dem Ablaufverfolgungsspeicher 714 zumindest einen Teil des Ablaufverfolgungsspeichers 714 freigibt, wodurch zusätzliche Ablaufverfolgungsdaten gespeichert werden können. Der Zielendpunktknoten 108 ist ferner dazu ausgelegt, das Datenpaket 700 zu empfangen, den Nutzdatenteil 704 des Datenpakets 700 zu extrahieren und die extrahierten Nutzdaten in einen Anwendungsspeicher 712, der extern zur NIC 412 ist, zu speichern.
  • Nun Bezug nehmend auf 8 kann die Netzwerkrechenvorrichtung 106 bei Verwendung ein Verfahren 800 zur Ablaufverfolgung der Leistung von Netzwerkdatenverkehr durch ein Netzwerk ausführen (z. B. das HPC-Netzwerk 104). Es versteht sich, dass zumindest ein Teil des Verfahrens 800 von der NIC 312 der Netzwerkrechenvorrichtung 106 ausgeführt werden kann. Es versteht sich weiterhin, dass das Verfahren 800 bei einigen Ausführungsformen als verschiedene auf computerlesbaren Medien gespeicherte Befehle ausgestaltet sein kann, die durch den Prozessor 302, die NIC 312 und/oder andere Komponenten der Netzwerkrechenvorrichtung 106 ausgeführt werden können, um die Netzwerkrechenvorrichtung 106 zu veranlassen, das Verfahren 800 durchzuführen. Die computerlesbaren Medien können als jede Art von Medien ausgestaltet sein, die in der Lage sind, von der Netzwerkrechenvorrichtung 106 gelesen zu werden, einschließlich, unter anderem, des Speichers 306, der Datenspeichervorrichtung 308, des sicheren Speichers 314 der NIC 312, anderer Speicher oder Datenspeichervorrichtungen der Netzwerkrechenvorrichtung 106, tragbarer Medien, die von einer Peripherievorrichtung der Netzwerkrechenvorrichtung 106 lesbar sind, und/oder anderer Medien.
  • Das Verfahren 800 beginnt bei Block 802, bei dem die Netzwerkrechenvorrichtung 106 bestimmt, ob ein Datenpaket empfangen wurde, wie etwa von dem Quellendpunktknoten 102 oder einer anderen Netzwerkrechenvorrichtung 106 empfangbar. Falls ja, rückt das Verfahren 800 zu Block 804 vor, wobei die Netzwerkrechenvorrichtung 106 ein oder mehrere Header-Felder aus dem bei Block 802 empfangenen Datenpaket extrahiert. Bei einigen Ausführungsformen extrahiert die Netzwerkrechenvorrichtung 106 bei Block 806 eine oder mehrere Einstellungen zur Leistungsablaufverfolgung aus dem Header des empfangenen Datenpakets. Wie vorstehend beschrieben, können die Einstellungen zur Leistungsablaufverfolgung jegliche die Leistungsablaufverfolgung betreffende Daten beinhalten, wie etwa, ob die Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen zu sammelnden Typ von Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, Markierungsinformationen, ob die Ablaufverfolgungsdaten und/oder Markierungsinformationen zu komprimieren sind usw.
  • Bei Block 808 bestimmt die Netzwerkrechenvorrichtung 106, ob Ablaufverfolgungsdaten zu erfassen sind (d. h. ob die Leistungsablaufverfolgung aktiviert ist). Wie vorstehend beschrieben, kann eine Einstellung zur Leistungsablaufverfolgung von der Netzwerkrechenvorrichtung 106 verwendet werden, um zu bestimmen, ob eine Leistungsablaufverfolgung aktiviert ist. Wenn keine Leistungsablaufverfolgung aktiviert ist, zweigt das Verfahren 800 zu Block 810 ab, bei dem die Netzwerkrechenvorrichtung 106 das empfangene Datenpaket an eine Zielvorrichtung übermittelt (z. B. eine andere Netzwerkrechenvorrichtung 106, den Zielendpunktknoten 108 usw.), bevor das Verfahren 800 zu Block 802 zurückkehrt, um zu bestimmen, ob ein weiteres Datenpaket empfangen worden ist. Anderenfalls, wenn die Leistungsablaufverfolgung aktiviert ist, rückt das Verfahren vor zu Block 812.
  • Bei Block 812 erfasst die Netzwerkrechenvorrichtung 106 Ablaufverfolgungsdaten des Datenpakets. Anders ausgedrückt, erfasst die Netzwerkrechenvorrichtung 106 Ablaufverfolgungsdaten des Datenpakets, sobald sie empfangen, verarbeitet und durch die Netzwerkrechenvorrichtung 106 weitergeleitet werden. Wie vorstehend beschrieben, können die Ablaufverfolgungsdaten jede Art von Informationen beinhalten, die den sich durch die Netzwerkrechenvorrichtung 106 bewegenden Netzwerkdatenverkehr betreffen, wie etwa einen Zeitstempel, der eine gewünschte Zeit aufzeichnet (z. B. eine Eintrittszeit, eine Zeit, in der das Datenpaket in eine Warteschlange gestellt wurde, eine Austrittszeit usw.), Routing-Informationen (z. B. eine Quellenkennung, eine Zielkennung usw.), Verzögerungsinformationen (z. B. eine Menge an Zeit zwischen Warteschlange und Austritt, eine Anzahl von Zyklen zwischen Eintritt und Austritt usw.), Informationen für die Entscheidungsfindung (z. B. warum das Datenpaket an die Netzwerkrechenvorrichtung 106 weitergeleitet wurde), Informationen hinsichtlich eines oder mehrerer Merkmale (z. B. eine Temperatur, eine interne Pufferauslastung, eine prozentuale Prozessorauslastung, eine Speicherauslastung usw.) von einer oder mehreren Komponenten der Netzwerkrechenvorrichtung 106 usw.
  • Bei einigen Ausführungsformen kann die Netzwerkrechenvorrichtung 106 bei Block 814 die Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung erfassen. Wie ebenfalls vorstehend beschrieben, können die Einstellungen zur Leistungsablaufverfolgung jegliche die Leistungsablaufverfolgung betreffende Daten beinhalten, wie etwa, ob eine Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen Typ von zu sammelnden Ablaufverfolgungsdaten, eine Größe von zu sammelnden Ablaufverfolgungsdaten, Markierungsinformationen, ob die Ablaufverfolgungsdaten und/oder Markierungsinformationen zu komprimieren sind usw. Bei einigen Ausführungsformen kann die Netzwerkrechenvorrichtung 106 bei Block 816 die erfassten Ablaufverfolgungsdaten mit einer Kennung markieren, die verwendbar ist, um den Ablauf am Zielendpunktknoten 108 oder dem Ablaufverfolgungsendpunktknoten 110, abhängig von der Ausführungsform, zu rekonstruieren.
  • Bei Block 818 speichert die Netzwerkrechenvorrichtung 106 die bei Block 812 erfassten Ablaufverfolgungsdaten. Bei Block 820 übermittelt die Netzwerkrechenvorrichtung 106 das empfangene Datenpaket an eine Ziel-Rechenvorrichtung (z. B. den Zielendpunktknoten 108 oder den Ablaufverfolgungsendpunktknoten 110). Bei Block 822 bestimmt die Netzwerkrechenvorrichtung 106, ob die erfassten Ablaufverfolgungsdaten zu übermitteln sind. Falls nicht, schwenkt das Verfahren 800 zurück zu Block 802, um zu bestimmen, ob ein weiteres Datenpaket empfangen wurde; anderenfalls rückt das Verfahren 800 vor zu Block 824.
  • Bei Block 824 generiert die Netzwerkrechenvorrichtung 106 ein Ablaufverfolgungsdatenpaket, das zumindest einen Teil der für die empfangenen Datenpakete erfassten Ablaufverfolgungsdaten beinhaltet. Es versteht sich, dass die erfassten Ablaufverfolgungsdaten bei einigen Ausführungsformen komprimiert werden können, wie etwa unter Verwendung von einer oder mehreren der vorstehend beschriebenen Komprimierungstechniken und/oder basierend auf den Einstellungen zur Leistungsablaufverfolgung durchführbar ist. Bei Block 826 beinhaltet die Netzwerkrechenvorrichtung 106 bei einigen Ausführungsformen die Markierung im Ablaufverfolgungsdatenpaket. Bei Block 828 übermittelt die Netzwerkrechenvorrichtung 106 das Ablaufverfolgungsdatenpaket an eine Zielrechenvorrichtung (z. B. den Zielendpunktknoten 108 oder den Ablaufverfolgungsendpunktknoten 110).
  • Nun Bezug nehmend auf 9 kann der Zielendpunktknoten 108 bei Verwendung ein Verfahren 900 zur Ablaufverfolgung der Leistung von Netzwerkdatenverkehr durch ein Netzwerk (z. B. das HPC-Netzwerk 104) ausführen. Es versteht sich, dass zumindest ein Teil des Verfahrens 900 von der NIC 412 des Zielendpunktknotens 108 ausgeführt werden kann. Es versteht sich ferner, dass das Verfahren 900 bei einigen Ausführungsformen als verschiedene, auf einem computerlesbaren Medium gespeicherte Befehle ausgestaltet sein kann, die von dem Prozessor 402, der NIC 412 und/oder anderen Komponenten des Zielendpunktknotens 108 ausführbar sind, um den Zielendpunktknoten 108 zu veranlassen, das Verfahren 900 durchzuführen. Die computerlesbaren Medien können als jede Art von Medien ausgestaltet sein, die in der Lage sind, vom Zielendpunktknoten 108 gelesen zu werden, einschließlich, unter anderem, des Speichers 406, der Datenspeichervorrichtung 408, des sicheren Speichers 414 der NIC 412, anderen Speichern oder Datenspeichervorrichtungen des Zielendpunktknotens 108, tragbarer Medien, die von einer Peripherievorrichtung des Zielendpunktknotens 108 lesbar sind, und/oder anderer Medien.
  • Das Verfahren 900 beginnt bei Block 902, bei dem der Zielendpunktknoten 108 bestimmt, ob ein Datenpaket empfangen wurde, wie etwa von der Netzwerkrechenvorrichtung 106 empfangen werden kann. Falls ja, rückt das Verfahren 900 vor zu Block 904, bei dem der Zielendpunktknoten 108 einen Teil des Headers des empfangenen Datenpakets extrahiert. Bei einigen Ausführungsformen extrahiert der Zielendpunktknoten 108 bei Block 906 eine oder mehrere Einstellungen zur Leistungsablaufverfolgung aus dem Header des Datenpakets. Bei Block 908 verarbeitet der Zielendpunktknoten 108 die empfangenen Datenpakete. Bei Block 912 kann der Zielendpunktknoten 108 die Nutzdaten des Datenpakets in einem Teil des Speichers speichern, der Anwendungsdaten zugeordnet ist (z. B. dem Anwendungsspeicher).
  • Bei Block 912 bestimmt der Zielendpunktknoten 108, ob das bei Block 902 empfangene Datenpaket einem Ablaufverfolgungsdatenpaket entspricht, wie etwa basierend auf dem Inhalt eines vorbestimmten Header-Felds des empfangenen Datenpakets bestimmbar ist. Bei einigen Ausführungsformen kann die Bestimmung auf der einen oder den mehreren aus dem Header des Datenpakets bei Block 906 extrahierten Einstellungen zur Leistungsablaufverfolgung basieren.
  • Wenn das bei Block 902 empfangene Datenpaket keinem Ablaufverfolgungsdatenpaket entspricht, kehrt das Verfahren 900 zu Block 902 zurück, bei dem der Zielendpunktknoten 108 bestimmt, ob ein weiteres Datenpaket empfangen wurde. Anderenfalls, wenn das bei Block 902 empfangene Datenpaket einem Ablaufverfolgungsdatenpaket entspricht, rückt das Verfahren 900 vor zu Block 914, bei dem der Zielendpunktknoten 108 die beinhalteten Ablaufverfolgungsdaten speichert. Bei Block 916 speichert der Zielendpunktknoten 108 die beinhalteten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer (z. B. dem Ablaufverfolgungspuffer 710 aus 7) lokal in die NIC 412 des Zielendpunktknotens 108. Bei Block 918 übermittelt der Zielendpunktknoten 108 die gespeicherten Ablaufverfolgungsdaten an einen Teil des Speichers, der extern zur NIC 412 liegt und der zum Speichern der Ablaufverfolgungsdaten zugeordnet wurde, wie etwa den Ablaufverfolgungsspeicher 714 aus 7. Es versteht sich, dass die Ablaufverfolgungsdaten bei einigen Ausführungsformen gespeichert werden und nur übermittelt werden, wenn eine bestimmte Bedingung erfüllt ist (z. B. das letzte Datenpaket einer Sequenz empfangen wurde).
  • Bei Block 920 rekonstruiert der Zielendpunktknoten 108 den Ablauf basierend auf den Ablaufverfolgungsdaten. Es versteht sich, dass die Rekonstruktion des Ablaufs bei einigen Ausführungsformen bis zu einem anderen Ereignis, wie etwa der Beendigung einer auf dem Zielendpunktknoten 108 laufenden Anwendung, nicht auftreten kann. Bei Block 922 kann der Zielendpunktknoten 108 bei einigen Ausführungsformen den Ablauf basierend auf den Markierungen der Ablaufverfolgungsdaten rekonstruieren, wie vorstehend beschrieben. Bei Block 924 analysiert der Zielendpunktknoten 108 den rekonstruierten Ablauf. Bei Block 926 analysiert der Zielendpunktknoten 108 zum Beispiel den rekonstruierten Ablauf, um ein oder mehrere Leistungsmerkmale des HPC-Netzwerks 104 zu bestimmen.
  • Die Leistungsmerkmale können ein detektiertes Problem wie etwa eine Verzögerung, eine volle Warteschlange, die Dauer der Zeit, die ein oder mehrere Datenpakete an einer jeweiligen Netzwerkrechenvorrichtung 106 verbringen, und/oder jegliche andere die Leistung des Netzwerkdatenverkehrs durch das HPC-Netzwerk 104 betreffenden Daten beinhalten. Somit können basierend auf den Leistungsmerkmalen verschiedene Probleme des HPC-Netzwerks 104 detektiert werden und die für die detektierten Probleme verantwortliche(n) Netzwerkrechenvorrichtung(en) 106 können identifiziert werden. Wie vorstehend angemerkt, können die Rekonstruktion des Ablaufs und eine weitere Analyse in eine andere Rechenvorrichtung ausgelagert werden. Anders ausgedrückt, können bei einigen Ausführungsformen die Ablaufrekonstruktion und -analyse nicht vom Zielendpunktknoten 108 durchgeführt werden.
  • BEISPIELE
  • Nachstehend sind veranschaulichende Beispiele der hier offenbarten Technologie bereitgestellt. Eine Ausführungsform der Technologien kann jedes einzelne oder mehrere sowie jede Kombination der nachstehend beschriebenen Beispiele beinhalten.
  • Beispiel 1 beinhaltet eine Netzwerkrechenvorrichtung zur Ablaufverfolgung von Netzwerkleistung, wobei die Netzwerkrechenvorrichtung einen oder mehrere Prozessoren umfasst; sowie eine oder mehrere Datenspeichervorrichtungen mit darin gespeicherten mehreren Befehlen, die bei Ausführung durch den einen oder die mehreren Prozessoren die Netzwerkrechenvorrichtung zu Folgendem veranlassen: Empfangen eines Datenpakets von einem Quellendpunktknoten; Verarbeiten des empfangenen Datenpakets; Erfassen von Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird; Übermitteln des empfangenen Datenpakets an einen Zielendpunktknoten; Generieren, anschließend an Übermitteln des empfangenen Datenpakets, eines Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der im Ablaufverfolgungsdatenpaket erfassten Ablaufverfolgungsdaten von einem Bestimmungsendpunktknoten verwendbar ist, um die Leistung des Netzwerks zu überwachen; und Übermitteln des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten.
  • Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, und wobei die mehreren Befehle ferner die Netzwerkrechenvorrichtung veranlassen, Markierungsinformationen in das Ablaufverfolgungsdatenpaket einzufügen, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten verwendbar sind, einen Ablauf, der dem empfangenen Datenpaket durch das Netzwerk entspricht, zu rekonstruieren.
  • Beispiel 3 beinhaltet den Gegenstand eines der Beispiele 1 und 2, und wobei die Markierungsinformationen mindestens eins aus Folgendem beinhalten: quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, pfadidentifizierende Informationen, eine Paketsequenznummer und eine gewünschte Zeit.
  • Beispiel 4 beinhaltet den Gegenstand eines der Beispiele 1-3, und wobei die gewünschte Zeit mindestens eins aus Folgendem beinhaltet: einen Zeitstempel, der einer Eintrittszeit entspricht, einen Zeitstempel, der einer Austrittszeit entspricht, einen Zeitstempel, der einer Zeit in einer Warteschlange entspricht.
  • Beispiel 5 beinhaltet den Gegenstand eines der Beispiele 1-4, und wobei die mehreren Befehle ferner die Netzwerkrechenvorrichtung veranlassen, die erfassten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung zu speichern, wobei Generieren des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  • Beispiel 6 beinhaltet den Gegenstand eines der Beispiele 1-5, und wobei das Datenpaket einen Header beinhaltet, wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  • Beispiel 7 beinhaltet den Gegenstand eines der Beispiele 1-6, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert umfasst.
  • Beispiel 8 beinhaltet den Gegenstand eines der Beispiele 1-7, und wobei Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf dem vorbestimmten Schwellenwert Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf mindestens einem aus Folgendem umfasst: einer mit dem Datenpaket verbundenen Kennung, einer gegenwärtigen prozentualen Auslastung eines Ablaufverfolgungspuffers, einer Zeitdauer, einem Zeitfenster, einer Anzahl von empfangenen Datenpaketen und einer Größe des Datenpakets.
  • Beispiel 9 beinhaltet den Gegenstand eines der Beispiele 1-8, und wobei die mehreren Befehle ferner die Netzwerkrechenvorrichtung veranlassen, die Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung zu komprimieren.
  • Beispiel 10 beinhaltet den Gegenstand eines der Beispiele 1-9, und wobei Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Erfassen der Ablaufverfolgungsdaten anschließend an Empfangen einer vorbestimmten Anzahl von Datenpaketen von der Netzwerkrechenvorrichtung, Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung bis eine prozentuale Auslastung einen prozentualen Auslastungsschwellenwert überschreitet, Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  • Beispiel 11 beinhaltet den Gegenstand eines der Beispiele 1-10, und wobei der Bestimmungsendpunktknoten einen Ablaufverfolgungsendpunktknoten oder einen Zielendpunktknoten umfasst.
  • Beispiel 12 beinhaltet den Gegenstand eines der Beispiele 1-11, und wobei die mehreren Befehle die Netzwerkrechenvorrichtung ferner dazu veranlassen, eine oder mehrere Einstellungen zur Leistungsablaufverfolgung des Datenpakets zu bestimmen, wobei Erfassen der Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  • Beispiel 13 beinhaltet den Gegenstand eines der Beispiele 1-12, und wobei die eine oder die mehreren Einstellungen zur Leistungsablaufverfolgung mindestens eins aus Folgendem beinhalten: eine Angabe, die anzeigt, ob die Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen Typ der zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, eine Angabe, ob Markierungsinformationen in das Ablaufverfolgungsdatenpaket einzufügen sind, einen Typ der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket zu markieren ist, und eine Angabe, die anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  • Beispiel 14 beinhaltet ein Verfahren zur Ablaufverfolgung von Netzwerkleistung, wobei das Verfahren Folgendes umfasst: Empfangen, von einer Netzwerkrechenvorrichtung, eines Datenpakets von einem Quellendpunktknoten; Verarbeiten, von der Netzwerkrechenvorrichtung, des empfangenen Datenpakets; Erfassen, durch die Netzwerkrechenvorrichtung, von Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird; Übermitteln, durch die Netzwerkrechenvorrichtung, des empfangenen Datenpakets an einen Zielendpunktknoten; Generieren, durch die Netzwerkrechenvorrichtung und anschließend an Übermitteln des empfangenen Datenpakets, eines Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der erfassten, in dem Ablaufverfolgungsdatenpaket beinhalteten Ablaufverfolgungsdaten von einem Bestimmungsendpunktknoten verwendbar ist, um die Leistung des Netzwerks zu überwachen; und Übermitteln, durch die Netzwerkrechenvorrichtung, des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten.
  • Beispiel 15 beinhaltet den Gegenstand aus Beispiel 14, und umfasst ferner Einfügen, durch die Netzwerkrechenvorrichtung, von Markierungsinformationen in das Ablaufverfolgungsdatenpaket, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten verwendbar sind, um einen Ablauf entsprechend dem empfangenen Datenpaket durch das Netzwerk zu rekonstruieren.
  • Beispiel 16 beinhaltet den Gegenstand eines der Beispiele 14 und 15, und wobei Einfügen der Markierungsinformationen mindestens eins aus Folgendem umfasst: quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, pfadidentifizierende Informationen, eine Paketsequenznummer und eine gewünschte Zeit.
  • Beispiel 17 beinhaltet den Gegenstand eines der Beispiele 14-16, und wobei Einfügen der gewünschten Zeit mindestens eins aus Folgendem umfasst: einen Zeitstempel, der einer Eintrittszeit entspricht, einen Zeitstempel, der einer Austrittszeit entspricht, einen Zeitstempel, der einer Zeit in einer Warteschlange entspricht.
  • Beispiel 18 beinhaltet den Gegenstand eines der Beispiele 14-17, und beinhaltet weiterhin Speichern, durch die Netzwerkrechenvorrichtung, der erfassten Ablaufverfolgungsdaten in einen Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung, wobei Generieren des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  • Beispiel 19 beinhaltet den Gegenstand eines der Beispiele 14-18, und wobei das Datenpaket einen Header beinhaltet, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  • Beispiel 20 beinhaltet den Gegenstand eines der Beispiele 14-19, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einen vorbestimmten Schwellenwert umfasst.
  • Beispiel 21 beinhaltet den Gegenstand eines der Beispiele 14-20, und wobei Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf dem vorbestimmten Schwellenwert Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf mindestens einem aus Folgendem umfasst: einer mit dem Datenpaket verbundenen Kennung, einer gegenwärtigen prozentualen Auslastung eines Ablaufverfolgungspuffers, einer Zeitdauer, einem Zeitfenster, einer Anzahl von empfangenen Datenpaketen und einer Größe des Datenpakets.
  • Beispiel 22 beinhaltet den Gegenstand eines der Beispiele 14-21, und beinhaltet ferner Komprimieren, durch die Netzwerkrechenvorrichtung, der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung.
  • Beispiel 23 beinhaltet den Gegenstand eines der Beispiele 14-22, und wobei Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Erfassen der Ablaufverfolgungsdaten anschließend an Empfangen einer vorbestimmten Anzahl von Datenpaketen von der Netzwerkrechenvorrichtung, Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung bis eine prozentuale Auslastung einen vorbestimmten Auslastungsschwellenwert überschreitet, Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  • Beispiel 24 beinhaltet den Gegenstand eines der Beispiele 14-23, und wobei Übermitteln des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten Übermitteln des Ablaufverfolgungsdatenpakets an einen Ablaufverfolgungsendpunktknoten und/oder Zielendpunktknoten umfasst.
  • Beispiel 25 beinhaltet den Gegenstand eines der Beispiele 14-24 und beinhaltet ferner Bestimmen einer oder mehrerer Einstellungen zur Leistungsablaufverfolgung des Datenpakets, wobei Erfassen der Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  • Beispiel 26 beinhaltet den Gegenstand eines der Beispiele 14-25, und wobei Bestimmen der einen oder der mehreren Einstellungen zur Leistungsablaufverfolgung Bestimmen von mindestens einem aus Folgendem umfasst: einer Angabe, die anzeigt, ob eine Sammlung von Ablaufverfolgungsdaten aktiviert ist, einem Typ der zu sammelnden Ablaufverfolgungsdaten, einer Größe der zu sammelnden Ablaufverfolgungsdaten, einer Angabe, ob Markierungsinformationen in dem Ablaufverfolgungsdatenpaket zu beinhalten sind, einem Typ der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket zu markieren ist, und einer Angabe, die anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  • Beispiel 27 beinhaltet eine Netzwerkrechenvorrichtung, umfassend einen Prozessor; sowie einen Speicher, auf dem mehrere Befehle gespeichert sind, die, wenn sie vom Prozessor ausgeführt werden, die Netzwerkrechenvorrichtung veranlassen, das Verfahren nach einem der Beispiele 14-26 auszuführen.
  • Beispiel 28 beinhaltet ein oder mehrere maschinenlesbare Speichermedien, umfassend mehrere darauf gespeicherte Befehle, die in Reaktion auf ihr Ausführen dazu führen, dass eine Netzwerkrechenvorrichtung das Verfahren nach einem der Beispiele 14-26 durchführt.
  • Beispiel 29 beinhaltet eine Netzwerkrechenvorrichtung zur Ablaufverfolgung von Netzwerkleistung, wobei die Netzwerkrechenvorrichtung Netzwerkkommunikationsverwaltungsschaltungen umfasst zum (i) Empfangen eines Datenpakets von einem Quellendpunktknoten und (ii) Verarbeiten des empfangenen Datenpakets; und Leistungsablaufverfolgungsschaltungen zum Erfassen von Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird, wobei die Netzwerkkommunikationsverwaltungsschaltungen ferner das empfangene Datenpaket an einen Zielendpunktknoten übermitteln sollen, wobei die Leistungsablaufverfolgungsschaltungen ferner, anschließend an Übermitteln des empfangenen Datenpakets, ein Ablaufverfolgungsdatenpaket generieren sollen, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der in dem Ablaufverfolgungsdatenpaket erfassten Ablaufverfolgungsdaten von einem Bestimmungsendpunktknoten verwendbar ist, um die Leistung des Netzwerks zu überwachen, und wobei die Netzwerkkommunikationsverwaltungsschaltungen ferner das Ablaufverfolgungsdatenpaket an den Bestimmungsendpunktknoten übermitteln sollen.
  • Beispiel 30 beinhaltet den Gegenstand von Beispiel 29, und wobei die Leistungsablaufverfolgungsschaltungen ferner Markierungsinformationen in das Ablaufverfolgungsdatenpaket einfügen sollen, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten verwendbar sind, um einen Ablauf, der dem empfangenen Datenpaket durch das Netzwerk entspricht, zu rekonstruieren.
  • Beispiel 31 beinhaltet den Gegenstand eines der Beispiele 29 und 30, und wobei die Markierungsinformationen mindestens eins aus Folgendem beinhalten: quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, pfadidentifizierende Informationen, eine Paketsequenznummer und eine gewünschte Zeit.
  • Beispiel 32 beinhaltet den Gegenstand eines der Beispiele 29-31, und wobei die gewünschte Zeit mindestens eins aus Folgendem beinhaltet: einen Zeitstempel, der einer Eintrittszeit entspricht, einen Zeitstempel, der einer Austrittszeit entspricht, einen Zeitstempel, der einer Zeit in einer Warteschlange entspricht.
  • Beispiel 33 beinhaltet den Gegenstand eines der Beispiele 29-32, und wobei die Leistungsablaufverfolgungsschaltungen ferner die erfassten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung speichern sollen, wobei Generieren des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  • Beispiel 34 beinhaltet den Gegenstand eines der Beispiele 29-33, und wobei das Datenpaket einen Header beinhaltet, wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  • Beispiel 35 beinhaltet den Gegenstand eines der Beispiele 29-34, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert umfasst.
  • Beispiel 36 beinhaltet den Gegenstand eines der Beispiele 29-35, und wobei Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf dem vorbestimmten Schwellenwert Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf mindestens einem aus Folgendem umfasst: einer mit dem Datenpaket verbundenen Kennung, einer gegenwärtigen prozentualen Auslastung eines Ablaufverfolgungspuffers, einer Zeitdauer, einem Zeitfenster, einer Anzahl von empfangenen Datenpaketen und einer Größe des Datenpakets.
  • Beispiel 37 beinhaltet den Gegenstand eines der Beispiele 29-36, und wobei die Leistungsablaufverfolgungsschaltungen ferner die Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung komprimieren sollen.
  • Beispiel 38 beinhaltet den Gegenstand eines der Beispiele 29-37, und wobei Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Erfassen der Ablaufverfolgungsdaten anschließend an eine vorbestimmte Anzahl von Datenpaketen, die von der Netzwerkrechenvorrichtung empfangen wurden, Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung bis eine prozentuale Auslastung einen vorbestimmten Auslastungsschwellenwert überschreitet, Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  • Beispiel 39 beinhaltet den Gegenstand eines der Beispiele 29-38, und wobei der Bestimmungsendpunktknoten einen Ablaufverfolgungsendpunktknoten und/oder einen Zielendpunktknoten umfasst.
  • Beispiel 40 beinhaltet den Gegenstand eines der Beispiele 29-39, und wobei die Leistungsablaufverfolgungsschaltungen ferner eine oder mehrere Einstellungen zur Leistungsablaufverfolgung des Datenpakets bestimmen sollen, wobei Erfassen der Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  • Beispiel 41 beinhaltet den Gegenstand eines der Beispiele 29-40, und wobei die eine oder die mehreren Einstellungen zur Leistungsablaufverfolgung mindestens eins aus Folgendem beinhalten: eine Angabe, die anzeigt, ob die Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen Typ der zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, eine Angabe, ob Markierungsinformationen in dem Ablaufverfolgungsdatenpaket zu beinhalten sind, einen Typ der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket markiert werden soll, und eine Angabe, die anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  • Beispiel 42 beinhaltet eine Netzwerkrechenvorrichtung zur Ablaufverfolgung von Netzwerkleistung, wobei die Netzwerkrechenvorrichtung Folgendes umfasst: Netzwerkkommunikationsverwaltungsschaltungen zum (i) Empfangen eines Datenpakets von einem Quellendpunktknoten und (ii) Verarbeiten des empfangenen Datenpakets; und Mittel zum Erfassen von Ablaufverfolgungsdaten entsprechend dem Datenpaket, während es von der Netzwerkrechenvorrichtung verarbeitet wird, wobei die Netzwerkkommunikationsverwaltungsschaltungen ferner das empfangene Datenpaket an einen Zielendpunktknoten übermitteln sollen, und ferner umfassend Mittel zum Generieren, anschließend an Übermitteln des empfangenen Datenpakets, eines Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der erfassten, in dem Ablaufverfolgungsdatenpaket beinhalteten Ablaufverfolgungsdaten von einem Bestimmungsendpunktknoten verwendbar ist, um die Leistung des Netzwerks zu überwachen, wobei die Netzwerkkommunikationsverwaltungsschaltungen ferner das Ablaufverfolgungsdatenpaket an den Bestimmungsendpunktknoten übermitteln sollen.
  • Beispiel 43 beinhaltet den Gegenstand aus Beispiel 42, und beinhaltet ferner Mittel zum Einfügen von Markierungsinformationen in das Ablaufverfolgungsdatenpaket, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten verwendbar sind, um einen Ablauf entsprechend dem empfangenen Datenpaket durch das Netzwerk zu rekonstruieren.
  • Beispiel 44 beinhaltet den Gegenstand eines der Beispiele 42 und 43, und wobei das Mittel zum Einfügen der Markierungsinformationen Mittel zum Einfügen von mindestens einem aus Folgendem umfasst: quellenidentifizierenden Informationen, bestimmungsidentifizierenden Informationen, flussidentifizierenden Informationen, pfadidentifizierenden Informationen, eine Paketsequenznummer und eine gewünschte Zeit.
  • Beispiel 45 beinhaltet den Gegenstand eines der Beispiele 42-44, und wobei das Mittel zum Einfügen der gewünschten Zeit Mittel zum Einfügen von mindestens einem aus Folgendem beinhaltet: einen Zeitstempel entsprechend einer Eintrittszeit, einen Zeitstempel entsprechend einer Austrittszeit, einen Zeitstempel entsprechend einer Zeit in einer Warteschlange.
  • Beispiel 46 beinhaltet den Gegenstand eines der Beispiele 42-45, und beinhaltet ferner Mittel zum Speichern der erfassten Ablaufverfolgungsdaten in einen Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung, wobei das Mittel zum Erzeugen des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, Mittel zum (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und zum (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  • Beispiel 47 beinhaltet den Gegenstand eines der Beispiele 42-46, und wobei das Datenpaket einen Header beinhaltet, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  • Beispiel 48 beinhaltet den Gegenstand eines der Beispiele 42-47, und wobei das Mittel zum Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Mittel zum Bestimmen der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert umfasst.
  • Beispiel 49 beinhaltet den Gegenstand eines der Beispiele 42-48, und wobei das Mittel zum Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf dem vorbestimmten Schwellenwert Mittel zum Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf mindestens einem aus Folgendem umfasst: einer Kennung, die mit dem Datenpaket verbunden ist, einer gegenwärtigen prozentualen Auslastung eines Ablaufverfolgungspuffers, einer Zeitdauer, einem Zeitfenster, einer Anzahl von empfangenen Datenpaketen und einer Größe des Datenpakets.
  • Beispiel 50 beinhaltet den Gegenstand eines der Beispiele 42-49, und beinhaltet ferner Mittel zum Komprimieren der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung.
  • Beispiel 51 beinhaltet den Gegenstand eines der Beispiele 42-50, und wobei das Mittel zum Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Mittel zum Erfassen der Ablaufverfolgungsdaten anschließend an eine vorbestimmte Anzahl von Datenpaketen, die von der Netzwerkrechenvorrichtung empfangen wurden, Mittel zum Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung bis eine prozentuale Auslastung einen vorbestimmte Auslastungsschwellenwert überschreitet, Mittel zum Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Mittel zum Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  • Beispiel 52 beinhaltet den Gegenstand eines der Beispiele 42-51, und wobei das Mittel zum Übermitteln des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten Mittel zum Übermitteln des Ablaufverfolgungsdatenpakets an einen Ablaufverfolgungsendpunktknoten oder einen Zielendpunktknoten umfasst.
  • Beispiel 53 beinhaltet den Gegenstand eines der Beispiele 42-52, und beinhaltet ferner Mittel zum Bestimmen einer oder mehrerer Einstellungen zur Leistungsablaufverfolgung des Datenpakets, wobei das Mittel zum Erfassen der Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, Mittel zum Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  • Beispiel 54 beinhaltet den Gegenstand eines der Beispiele 42-53, und wobei das Mittel zum Bestimmen der einen oder der mehreren Einstellungen zur Leistungsablaufverfolgung Mittel zum Bestimmen von mindestens einem aus Folgendem umfasst: einer Angabe, die anzeigt, ob eine Sammlung von Ablaufverfolgungsdaten aktiviert ist, einem Typ von zu sammelnden Ablaufverfolgungsdaten, einer Größe von zu sammelnden Ablaufverfolgungsdaten, einer Angabe, ob Markierungsinformationen in das Ablaufverfolgungsdatenpaket zu beinhalten sind, einer Art der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket zu markieren ist, und einer Angabe, die anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 14/979140 [0002]

Claims (25)

  1. Netzwerkrechenvorrichtung zur Ablaufverfolgung von Netzwerkleistung, wobei die Netzwerkrechenvorrichtung Folgendes umfasst: einen oder mehrere Prozessoren; und eine oder mehrere Datenspeichervorrichtungen, auf denen mehrere Befehle gespeichert sind, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, die Netzwerkrechenvorrichtung zu Folgendem veranlassen: Empfangen eines von einem Quellendpunktknoten generierten Datenpakets; Verarbeiten des empfangenen Datenpakets; Erfassen von Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird; Übermitteln des empfangenen Datenpakets an einen Zielendpunktknoten; Generieren, anschließend an Übermitteln des empfangenen Datenpakets, eines Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der erfassten Ablaufverfolgungsdaten, die in dem Ablaufverfolgungsdatenpaket beinhaltet sind, von einem Bestimmungsendpunktknoten verwendbar sind, um die Leistung des Netzwerks zu überwachen; und Übermitteln des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten.
  2. Netzwerkrechenvorrichtung nach Anspruch 1, wobei die mehreren Befehle ferner die Netzwerkrechenvorrichtung dazu veranlassen, Markierungsinformationen in das Ablaufverfolgungsdatenpaket einzufügen, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten verwendbar sind, um einen Ablauf, der dem empfangenen Datenpaket durch das Netzwerk entspricht, zu rekonstruieren.
  3. Netzwerkrechenvorrichtung nach Anspruch 2, wobei die Markierungsinformationen mindestens eins aus Folgendem beinhalten: quellenidentifizierende Informationen, bestimmungsidentifizierende Informationen, flussidentifizierende Informationen, pfadidentifizierende Informationen, eine Paketsequenznummer und eine gewünschte Zeit.
  4. Netzwerkrechenvorrichtung nach Anspruch 3, wobei die gewünschte Zeit mindestens eins aus Folgendem beinhaltet: einen Zeitstempel, der einer Eintrittszeit entspricht, einen Zeitstempel, der einer Austrittszeit entspricht, und einen Zeitstempel, der einer Zeit in einer Warteschlange entspricht.
  5. Netzwerkrechenvorrichtung nach Anspruch 1, wobei die mehreren Befehle die Netzwerkrechenvorrichtung ferner dazu veranlassen, die erfassten Ablaufverfolgungsdaten in einen Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung zu speichern, wobei Generieren des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  6. Netzwerkrechenvorrichtung nach Anspruch 1, wobei das Datenpaket einen Header beinhaltet, wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  7. Netzwerkrechenvorrichtung nach Anspruch 1, wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert umfasst.
  8. Netzwerkrechenvorrichtung nach Anspruch 7, wobei Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf dem vorbestimmten Schwellenwert Bestimmen der Ablaufverfolgungsdaten des Datenpakets basierend auf mindestens einem aus Folgendem umfasst: einer Kennung, die mit dem Datenpaket verbunden ist, einer gegenwärtigen prozentualen Auslastung eines Ablaufverfolgungspuffers, einer Zeitdauer, einem Zeitfenster, einer Anzahl von empfangenen Datenpaketen und einer Größe des Datenpakets.
  9. Netzwerkrechenvorrichtung nach Anspruch 1, wobei die mehreren Befehle die Netzwerkrechenvorrichtung ferner veranlassen, die Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung zu komprimieren.
  10. Netzwerkrechenvorrichtung nach Anspruch 1, wobei Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Erfassen der Ablaufverfolgungsdaten anschließend an das Empfangen einer vorbestimmten Anzahl von Datenpaketen durch die Netzwerkrechenvorrichtung, Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung, bis eine prozentuale Auslastung einen vorbestimmten Auslastungsschwellenwert überschreitet, Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  11. Netzwerkrechenvorrichtung nach Anspruch 1, wobei die mehreren Befehle ferner die Netzwerkrechenvorrichtung veranlassen, eine oder mehrere Einstellungen zur Leistungsablaufverfolgung des Datenpakets zu bestimmen, wobei Erfassen der Ablaufverfolgungsdaten entsprechend dem Datenpaket Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  12. Netzwerkrechenvorrichtung nach Anspruch 11, wobei die eine oder die mehreren Einstellungen zur Leistungsablaufverfolgung mindestens eins aus Folgendem beinhalten: ein Anzeichen, das anzeigt, ob eine Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen Typ der zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, ein Anzeichen, ob Markierungsinformationen in dem Ablaufverfolgungsdatenpaket zu beinhalten sind, einen Typ der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket zu markieren ist, und ein Anzeichen, das anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  13. Verfahren zur Ablaufverfolgung von Netzwerkleistung, wobei das Verfahren Folgendes umfasst: Empfangen, von einer Netzwerkrechenvorrichtung, eines von einem Quellendpunktknoten generierten Datenpakets; Verarbeiten, von der Netzwerkrechenvorrichtung, des empfangenen Datenpakets; Erfassen, durch die Netzwerkrechenvorrichtung, von Ablaufverfolgungsdaten, die dem Datenpaket entsprechen, während es von der Netzwerkrechenvorrichtung verarbeitet wird; Übermitteln, durch die Netzwerkrechenvorrichtung, des empfangenen Datenpakets hin zu einem Zielendpunktknoten; Generieren, durch die Netzwerkrechenvorrichtung und anschließend an Übermitteln des empfangenen Datenpakets, eines Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, wobei der zumindest eine Teil der erfassten Ablaufverfolgungsdaten, die im Ablaufverfolgungsdatenpaket beinhaltet sind, von einem Bestimmungsendpunktknoten zum Überwachen der Leistung des Netzwerks verwendbar ist; und Übermitteln, durch die Netzwerkrechenvorrichtung, des Ablaufverfolgungsdatenpakets an den Bestimmungsendpunktknoten.
  14. Verfahren nach Anspruch 13, ferner umfassend Einfügen, durch die Netzwerkrechenvorrichtung, von Markierungsinformationen in das Ablaufverfolgungsdatenpaket, wobei die Markierungsinformationen von dem Bestimmungsendpunktknoten zum Rekonstruieren eines Ablaufs, der dem empfangenen Datenpaket durch das Netzwerk entspricht, verwendbar sind.
  15. Verfahren nach Anspruch 14, wobei Einfügen der Markierungsinformationen Einfügen von mindestens einem aus Folgendem umfasst: quellenidentifizierenden Informationen, bestimmungsidentifizierenden Informationen, flussidentifizierenden Informationen, pfadidentifizierenden Informationen, einer Paketsequenznummer und einer gewünschten Zeit.
  16. Verfahren nach Anspruch 15, wobei Einfügen der gewünschten Zeit Einfügen von mindestens einem aus Folgendem umfasst: einem Zeitstempel, der einer Eintrittszeit entspricht, einem Zeitstempel, der einer Austrittszeit entspricht, und einem Zeitstempel, der einer Zeit in einer Warteschlange entspricht.
  17. Verfahren nach Anspruch 13, ferner umfassend Speichern, durch die Netzwerkrechenvorrichtung, der erfassten Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung, wobei Generieren des Ablaufverfolgungsdatenpakets, das zumindest einen Teil der erfassten Ablaufverfolgungsdaten beinhaltet, (i) Abrufen des zumindest einen Teils der erfassten Ablaufverfolgungsdaten und (ii) Einfügen des abgerufenen Teils der erfassten Ablaufverfolgungsdaten in das Ablaufverfolgungsdatenpaket umfasst.
  18. Verfahren nach Anspruch 13, wobei das Datenpaket einen Header beinhaltet, und wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem abgerufenen Teil des Headers des Datenpakets umfasst.
  19. Verfahren nach Anspruch 13, wobei Bestimmen der zu erfassenden Ablaufverfolgungsdaten des Datenpakets Bestimmen der Ablaufverfolgungsdaten basierend auf einem vorbestimmten Schwellenwert umfasst, wobei der vorbestimmte Schwellenwert mindestens eins aus Folgendem umfasst: eine mit dem Datenpaket verbundene Kennung, eine gegenwärtige prozentuale Auslastung eines Ablaufverfolgungspuffers, eine Zeitdauer, ein Zeitfenster, eine Anzahl von empfangenen Datenpaketen und eine Größe des Datenpakets.
  20. Verfahren nach Anspruch 13, ferner umfassend Komprimieren, durch die Netzwerkrechenvorrichtung, der Ablaufverfolgungsdaten basierend auf dem vorbestimmten Schwellenwert und/oder einer mit den Ablaufverfolgungsdaten verbundenen Markierung.
  21. Verfahren nach Anspruch 13, wobei Erfassen der Ablaufverfolgungsdaten mindestens eins aus Folgendem umfasst: Erfassen der Ablaufverfolgungsdaten nach einer vorbestimmten Anzahl von Datenpaketen, die von der Netzwerkrechenvorrichtung empfangen wurden, Erfassen der Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer der Netzwerkrechenvorrichtung, bis eine prozentuale Auslastung einen vorbestimmten Auslastungsschwellenwert überschreitet, Inkrementieren eines Zählers der Netzwerkrechenvorrichtung und Vergleichen eines mit dem Datenpaket verbundenen Werts gegenüber einem vorbestimmten Schwellenwert.
  22. Verfahren nach Anspruch 13, ferner umfassend Bestimmen einer oder mehrerer Einstellungen zur Leistungsablaufverfolgung des Datenpakets, wobei Erfassen der Ablaufverfolgungsdaten entsprechend dem Datenpaket Erfassen der Ablaufverfolgungsdaten basierend auf der einen oder den mehreren Einstellungen zur Leistungsablaufverfolgung des Datenpakets umfasst.
  23. Verfahren nach Anspruch 22, wobei Bestimmen der einen oder der mehreren Einstellungen zur Leistungsablaufverfolgung Bestimmen von mindestens einem Anzeichen umfasst, das Folgendes anzeigt: ob die Sammlung von Ablaufverfolgungsdaten aktiviert ist, einen Typ der zu sammelnden Ablaufverfolgungsdaten, eine Größe der zu sammelnden Ablaufverfolgungsdaten, ein Anzeichen, ob Markierungsinformationen in dem Ablaufverfolgungsdatenpaket zu beinhalten sind, einen Typ der Markierungsinformationen, mit denen das Ablaufverfolgungsdatenpaket zu markieren ist, und ein Anzeichen, das anzeigt, ob die Ablaufverfolgungsdaten zu komprimieren sind.
  24. Netzwerkrechenvorrichtung, Folgendes umfassend: einen Prozessor; und einen Speicher mit darin gespeicherten mehreren Befehlen, die bei Ausführen durch den Prozessor die Netzwerkrechenvorrichtung veranlassen, das Verfahren nach einem der Ansprüche 13-23 durchzuführen.
  25. Maschinenlesbares Speichermedium oder mehrere maschinenlesbare Speichermedien, umfassend mehrere darauf gespeicherte Befehle, die in Reaktion auf ihr Ausführen dazu führen, dass eine Netzwerkrechenvorrichtung das Verfahren nach einem der Ansprüche 13-23 durchführt.
DE112016005927.2T 2015-12-22 2016-11-22 Technologien zur Ablaufverfolgung der Seitenleistung im Netzwerkdatenverkehr Pending DE112016005927T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/979,140 US10135711B2 (en) 2015-12-22 2015-12-22 Technologies for sideband performance tracing of network traffic
US14/979,140 2015-12-22
PCT/US2016/063342 WO2017112260A1 (en) 2015-12-22 2016-11-22 Technologies for sideband performance tracing of network traffic

Publications (1)

Publication Number Publication Date
DE112016005927T5 true DE112016005927T5 (de) 2018-10-25

Family

ID=59066769

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016005927.2T Pending DE112016005927T5 (de) 2015-12-22 2016-11-22 Technologien zur Ablaufverfolgung der Seitenleistung im Netzwerkdatenverkehr

Country Status (3)

Country Link
US (1) US10135711B2 (de)
DE (1) DE112016005927T5 (de)
WO (1) WO2017112260A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170187587A1 (en) * 2015-12-26 2017-06-29 David Keppel Technologies for inline network traffic performance tracing
US10284460B1 (en) * 2015-12-28 2019-05-07 Amazon Technologies, Inc. Network packet tracing
EP3811571B1 (de) 2018-06-25 2022-07-06 British Telecommunications public limited company Verarbeitung von diagnosedaten in einem lokalen netzwerk
GB2575245B (en) * 2018-06-25 2020-11-25 British Telecomm Processing local area network diagnostic data
US11252040B2 (en) 2018-07-31 2022-02-15 Cisco Technology, Inc. Advanced network tracing in the data plane
DE112020002497T5 (de) * 2019-05-23 2022-04-28 Hewlett Packard Enterprise Development Lp System und verfahren zur dynamischen zuweisung von reduktionsmotoren
CN110221869B (zh) * 2019-06-10 2022-10-18 北京百度网讯科技有限公司 用于配置数据中心运行环境的方法及装置
US11979477B2 (en) 2019-09-30 2024-05-07 British Telecommunications Public Limited Company Processing local area network diagnostic data
US11153189B2 (en) * 2019-11-04 2021-10-19 Arbor Networks, Inc. Grouping network traffic prior to storage in a columnar database
US11165699B2 (en) * 2019-11-14 2021-11-02 Cisco Technology, Inc. Packet tracing mechanism in a network leveraging SRV6
US11165527B2 (en) * 2019-12-20 2021-11-02 Juniper Networks, Inc. Time synchronization for encrypted traffic in a computer network
CN112953679B (zh) * 2021-02-09 2022-11-15 西安电子科技大学 确定性网络中数据传输协处理器控制方法、设备、介质、终端及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070121626A1 (en) * 2005-11-28 2007-05-31 Shepard Jeffrey L G User and activity based end-to-end utilization measurement system
US7894356B2 (en) * 2005-12-23 2011-02-22 Jds Uniphase Corporation System and method for measuring network performance using real network traffic
US7639625B2 (en) 2007-03-02 2009-12-29 Cisco Technology, Inc. Tracing connection paths through transparent proxies
US7944844B2 (en) 2008-07-10 2011-05-17 At&T Intellectual Property I, L.P. Methods and apparatus to monitor network layer functionalities
US8837300B2 (en) 2012-06-05 2014-09-16 Cisco Technology, Inc. Managing trace requests over tunneled links
US9203723B2 (en) 2013-01-30 2015-12-01 Broadcom Corporation Network tracing for data centers
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network

Also Published As

Publication number Publication date
WO2017112260A1 (en) 2017-06-29
US10135711B2 (en) 2018-11-20
US20170180235A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
DE112016005927T5 (de) Technologien zur Ablaufverfolgung der Seitenleistung im Netzwerkdatenverkehr
DE102018214776A1 (de) Technologien für die Verwaltung von Netz-Statistik-Zählern
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE102020112346A1 (de) Techniken zum betrieb einer tdm-mac
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE112015004008T5 (de) Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis
DE112013006417B4 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
CN103414608B (zh) 快速的web流量采集统计系统和方法
DE102015119889A1 (de) Verfahren für Netzwerkvorrichtungsfluss-Look-up-Verwaltung
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE112011102896T5 (de) Verwalten der Datenübertragung zwischen Netzwerken mit unterschiedlichen Datenübertragungsprotokollen
DE202017105977U1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE102019105288A1 (de) Technologien zur Paketweiterleitung bei Eingangswarteschlangenüberlauf
DE102016116721A1 (de) Reduzieren der Ethernet-Latenz in einem Multi-Server Chassis
CN106027595A (zh) 用于cdn节点的访问日志处理方法及系统
DE112016004319T5 (de) Technologien zur Schätzung der Netzwerkpaketumlaufzeit
DE102014205651A1 (de) Zeitstempeln von datenpaketen
DE112018000731T5 (de) IoT-Gerät Fog-Networking-Betrieb
CN105094981B (zh) 一种数据处理的方法及装置
DE202018006682U1 (de) System zum Detektieren von Quellen von Computernetzausfällen
DE112010004809B4 (de) Mehrfachgranulare Datenstromverarbeitung
DE102015118711A1 (de) Technologien zur Netzwerkpaketcacheverwaltung
DE102022121268A1 (de) Überlastungssteuerung auf basis von netzwerktelemetrie
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE112004002043T5 (de) Verfahren, System und Programm zum Aufbau eines Pakets

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R012 Request for examination validly filed