DE102023200540A1 - Pufferprofilzuweisungsmanagement auf der basis von peer-netzwerkvorrichtungsdaten - Google Patents

Pufferprofilzuweisungsmanagement auf der basis von peer-netzwerkvorrichtungsdaten Download PDF

Info

Publication number
DE102023200540A1
DE102023200540A1 DE102023200540.9A DE102023200540A DE102023200540A1 DE 102023200540 A1 DE102023200540 A1 DE 102023200540A1 DE 102023200540 A DE102023200540 A DE 102023200540A DE 102023200540 A1 DE102023200540 A1 DE 102023200540A1
Authority
DE
Germany
Prior art keywords
network device
buffer
peer
data
data structure
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
DE102023200540.9A
Other languages
English (en)
Inventor
Sudharsan Dhamal Gopalarathnam
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102023200540A1 publication Critical patent/DE102023200540A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

Eine Netzwerkvorrichtung mit einer ersten Datenstruktur, die einen Satz von Pufferprofiltypen speichert. Jeder Pufferprofiltyp ist mit einem oder mehreren Konfigurationsparametern assoziiert. Die Netzwerkvorrichtung beinhaltet ferner eine zweite Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen speichert, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp assoziiert ist. Die Netzwerkvorrichtung beinhaltet eine Puffermanagement-Anwendung zum Empfangen erster Daten, die mit einer ersten Peer-Netzwerkvorrichtung assoziiert sind, die über eine erste Verlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist, zum Feststellen, ob die ersten Daten mit einer in der zweiten Datenstruktur gespeicherten ersten Peer-Vorrichtungskennung übereinstimmen, und zum Zuweisen der Schnittstellenkomponente eines ersten Pufferprofiltyps zu der Netzwerkvorrichtung, wobei der erste Pufferprofiltyp mit der ersten Peer-Vorrichtungskennung in der zweiten Datenstruktur assoziiert ist.

Description

  • TECHNISCHES GEBIET
  • Mindestens eine Ausführungsform bezieht sich auf Verarbeitungsressourcen, die zur Ausführung von schnellen Kommunikationsnetzwerken verwendet werden. Zum Beispiel bezieht sich mindestens eine Ausführungsform auf Technologie zur dynamischen Zuweisung eines Pufferprofils und entsprechender Konfigurationsparameter, um einer mit einer Peer-Netzwerkvorrichtung assoziierten Kommunikationsverlinkung einen Pufferlevel zuzuordnen.
  • HINTERGRUND
  • Kommunikationssysteme können mehrere Netzwerkvorrichtungen umfassen, die zum Herstellen von Kommunikationsverlinkungen über jeweilige Schnittstellenkomponenten (z.B. einen Port, eine Warteschlange in einem Port, eine Prioritätsgruppe usw.) konfiguriert sind. Eine herkömmliche Netzwerkvorrichtung kann über eine Schnittstellenkomponente eine Peer- oder Nachbarnetzwerkvorrichtung erkennen und sich damit verbinden. In einem herkömmlichen Netzwerk weist die Netzwerkvorrichtung statisch ein Pufferprofil (z.B. eine auf eine Schnittstellenkomponente einer Netzwerkvorrichtung angewandte Pufferkonfiguration) entsprechend jeder Kommunikationsverbindung zwischen einer Schnittstellenkomponente einer Netzwerkvorrichtung und einer jeweiligen Peer-Netzwerkvorrichtung zu. Das Pufferprofil definiert eine Pufferkonfiguration der Schnittstellenkomponente (d.h. Kommunikationsendpunkt) der Netzwerkvorrichtung. Das Pufferprofil und die Pufferkonfiguration werden beispielsweise zugewiesen, um eine Puffergröße oder einen Pufferlevel für die Kommunikationsverlinkung zwischen einer Schnittstellenkomponente einer Netzwerkvorrichtung und einer erkannten Netzwerkvorrichtung zuzuordnen. Das Pufferprofil kann Informationen über einen oder mehrere Konfigurationsparameter enthalten, wie z.B. einen garantierten Mindestschwellenlevel, eine gemeinsame Moduseinstellung (z.B. statisch oder dynamisch) usw.
  • Bei einem typischen Einsatz erfordern verschiedene Schnittstellenkomponenten (z.B. verschiedene Ports) verschiedene Pufferzuordnungslevels (d.h. verschiedene Puffergrößen). Der auf einem Port zugeordnete Pufferlevel hängt von der Rolle des Ports ab. Beispielsweise kann ein Uplink-Port in einem Netzwerk die Zuordnung eines größeren Puffers erfordern als ein mit einem Server verbundener Downlink, auch wenn in manchen Fällen die Geschwindigkeit des Uplink-Ports der Geschwindigkeit des Downlink-Ports entspricht. In dieser Hinsicht wird eine Gruppe von Ports mit der gleichen Geschwindigkeit und ähnlichen Rollen (z.B. Uplink-Ports) mit dem gleichen Pufferprofil konfiguriert.
  • Das derzeitige Pufferzuweisungsmodell ist jedoch insofern eingeschränkt, als ein Netzwerkadministrator gezwungen ist, für jede Vorrichtungeine statische Bootup-Zeitkonfiguration auf der Basis von Verbindungsinformationen vorzubereiten, was eine zeitaufwändige und manuell intensive Tätigkeit ist. Da herkömmliche Pufferzuweisungen an eine bestimmte Schnittstellenkomponente (z.B. eine bestimmte Portnummer) gebunden sind, stellt die Verwendung eines anderen Ports auf einer einzelnen Vorrichtungeine Automatisierungsherausforderung dar, wenn ein Port nicht mehr funktioniert, selbst wenn es im System verfügbare Ports mit der gleichen Fähigkeit gibt. Darüber hinaus erfordert die Erweiterung eines Einsatzes um zusätzliche nachgeschaltete Vorrichtungen (z.B. Server) oder das Hinzufügen zusätzlicher Uplinks eine Neuprovisionierung der Pufferprofile für die neu hinzugefügten Verlinkungen.
  • ZUSAMMENFASSUNG
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Umfang der Ansprüche fallen können oder auch nicht.
  • Es wird eine Netzwerkvorrichtung beschrieben, wobei die Netzwerkvorrichtung Folgendes umfasst: eine erste Datenstruktur, die einen Satz von Pufferprofiltypen speichert, wobei jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert ist; eine zweite Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen speichert, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satzes von Pufferprofiltypen assoziiert ist; und eine Verarbeitungsvorrichtung zum Ausführen einer Puffermanagement-Anwendung zum: Empfangen erster Daten, die mit einer ersten Peer-Netzwerkvorrichtung assoziiert sind, die über eine erste Verlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Feststellen, ob die ersten Daten mit einer in der zweiten Datenstruktur gespeicherten ersten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines ersten Pufferprofiltyps zu der Schnittstellenkomponente der Netzwerkvorrichtung, wobei der erste Pufferprofiltyp mit der ersten Peer-Vorrichtungskennung in der zweiten Datenstruktur assoziiert ist.
  • Die ein oder mehreren Konfigurationsparameter können mindestens eines von einem minimalen garantierten Schwellenlevel, einem gemeinsamen Modustyp, einer Endpunktpuffer-Obergrenze und einer Endpunktpuffer-Untergrenze umfassen. Die Schnittstellenkomponente kann mindestens eines von einem Port, einer Warteschlange und einer Prioritätsgruppe umfassen. Die Puffermanagement-Anwendung kann ferner dienen zum: Identifizieren, anhand der ersten Datenstruktur, eines ersten Satzes von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern; und Konfigurieren der Schnittstellenkomponente gemäß dem mit dem ersten Pufferprofiltyp assoziierten ersten Satz von Konfigurationsparametern. Der Satz von Peer-Vorrichtungskennungen kann eine Kennung umfassen, die mit einem LLDP (Link Layer Discovery Protocol) assoziiert ist, das der ersten Verlinkung zwischen der Netzwerkvorrichtung und der ersten Peer-Netzwerkvorrichtung entspricht. Die Verarbeitungsvorrichtung führt eine Verlinkungsmanagement-Anwendung aus zum: Erkennen der ersten Peer-Netzwerkvorrichtung, die über die erste Verlinkung mit der Netzwerkvorrichtung gekoppelt ist; Identifizieren der mit der ersten Peer-Netzwerkvorrichtung assoziierten ersten Daten; und Liefern der ersten Daten an die Puffermanagement-Anwendung. Der Satz von Peer-Vorrichtungskennungen kann eine oder mehrere benutzerdefinierte Kennungen umfassen. Die ein oder mehreren benutzerdefinierten Kennungen können einen Netzwerkvorrichtungstyp umfassen. Die Puffermanagement-Anwendung kann eine erste Nachschlageoperation anhand der zweiten Datenstruktur durchführen, um den Satz von Peer-Vorrichtungskennungen zu durchsuchen, um eine Übereinstimmung zwischen den ersten Daten und der ersten Peer-Vorrichtungskennung zu identifizieren. Die Puffermanagement-Anwendung kann eine zweite Nachschlageoperation durchführen, wobei die zweite Nachschlageoperation die erste Datenstruktur verwendet, um einen ersten Satz von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern zu identifizieren. Die zweite Datenstruktur kann einen ersten Satz von Feldern umfassen, der den Satz von Peer-Vorrichtungskennungen umfasst, die mit einem zweiten Satz von Feldern verbunden sind, der den Satz von Pufferprofiltypen umfasst. Die Puffermanagement-Anwendung kann dienen zum: Empfangen zweiter Daten, die mit einer zweiten Peer-Netzwerkvorrichtung assoziiert sind, die über eine zweite Verlinkung mit der Netzwerkvorrichtung gekoppelt ist; Feststellen, ob die zweiten Daten mit einer in der zweiten Datenstruktur gespeicherten zweiten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines zweiten Pufferprofiltyps zu einer zweiten Schnittstellenkomponente der Netzwerkvorrichtung, wobei der zweite Pufferprofiltyp der zweiten Peer-Vorrichtungskennung in der zweiten Datenstruktur entspricht.
  • Es wird ein Verfahren beschrieben, wobei das Verfahren Folgendes beinhaltet: Speichern einer ersten Datenstruktur, die einen Satz von Pufferprofiltypen umfasst, wobei jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert ist; Speichern einer zweiten Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen umfasst, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satzes von Pufferprofiltypen assoziiert ist; Erkennen, durch eine Verarbeitungsvorrichtung einer Netzwerkvorrichtung, einer ersten Peer-Netzwerkvorrichtung, die über eine erste Verlinkung mit einer ersten Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Identifizieren erster Daten, die mit der ersten Peer-Netzwerkvorrichtung assoziiert sind; Feststellen, ob die ersten Daten mit einer ersten Peer-Vorrichtungskennung aus dem Satz von Peer-Vorrichtungskennungen in der zweiten Datenstruktur übereinstimmen; Bestimmen, anhand der ersten Datenstruktur, eines ersten Satzes von Konfigurationsparametern entsprechend einem mit der ersten Peer-Vorrichtungskennung assoziierten ersten Pufferprofiltyp; und Zuweisen des ersten Satzes von Konfigurationsparametern des ersten Pufferprofiltyps zur ersten Schnittstellenkomponente der Netzwerkvorrichtung.
  • Das Verfahren kann ferner Folgendes beinhalten: Konfigurieren der ersten Schnittstellenkomponente der Netzwerkvorrichtung gemäß dem ersten Satz von Konfigurationsparametern. Das Verfahren kann ferner Folgendes beinhalten: Erkennen der ersten Peer-Netzwerkvorrichtung, die über die erste Verlinkung mit der Netzwerkvorrichtung gekoppelt ist. Das Verfahren kann ferner Folgendes beinhalten: Durchsuchen mindestens eines Teils des Satzes von Peer-Vorrichtungskennungen der zweiten Datenstruktur, um eine Übereinstimmung zwischen den ersten Daten und der ersten Peer-Vorrichtungskennung zu identifizieren. Das Verfahren kann ferner Folgendes beinhalten: Durchsuchen mindestens eines Teils des Satzes von Pufferprofiltypen der ersten Datenstruktur, um einen ersten Satz von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern zu identifizieren. Das Verfahren kann ferner Folgendes beinhalten: Erkennen einer zweiten Peer-Netzwerkvorrichtung, das über eine zweite Verlinkung mit einer zweiten Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Identifizieren von zweiten Daten, die mit der zweiten Peer-Netzwerkvorrichtung assoziiert sind; Feststellen, ob die zweiten Daten mit einer zweiten Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen in der zweiten Datenstruktur übereinstimmen; Bestimmen, anhand der ersten Datenstruktur, eines zweiten Satzes von Konfigurationsparametern, die einem mit der zweiten Peer-Vorrichtungskennung assoziierten zweiten Pufferprofiltyp entsprechen; und Zuweisen des zweiten Satzes von Konfigurationsparametern des zweiten Pufferprofiltyps zur zweiten Schnittstellenkomponente der Netzwerkvorrichtung. Das Verfahren kann ferner Folgendes beinhalten: Konfigurieren der zweiten Schnittstellenkomponente der Netzwerkvorrichtung gemäß dem zweiten Satz von Konfigurationsparametern.
  • Es wird eine Netzwerkvorrichtung beschrieben, wobei die Netzwerkvorrichtung Folgendes umfasst: mehrere Schnittstellenkomponenten; eine Datenstruktur, die jede Peer-Vorrichtungskennung eines Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp eines Satzes von Pufferprofiltypen assoziiert; und eine mit den mehreren Schnittstellenkomponenten gekoppelte Verarbeitungsvorrichtung, wobei die Verarbeitungsvorrichtung eine Puffermanagement-Anwendung ausführen soll zum: Empfangen erster Daten, die mit einer ersten Peer-Netzwerkvorrichtung assoziiert sind, die über eine erste Verlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Feststellen, ob die ersten Daten mit einer in der zweiten Datenstruktur gespeicherten ersten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines ersten Pufferprofiltyps zu der Schnittstellenkomponente der Netzwerkvorrichtung, wobei der erste Pufferprofiltyp mit der ersten Peer-Vorrichtungskennung assoziiert ist.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen in jeder geeigneten Kombination angewendet werden. Insbesondere kann jedes Merkmal eines/r Verfahrensaspekts oder -ausführungsform auf eine(n) Geräteaspekt oder -ausführungsform angewandt werden und umgekehrt.
  • Figurenliste
  • Verschiedene Ausführungsformen gemäß der vorliegenden Offenbarung werden mit Bezug auf die Zeichnungen beschrieben. Dabei zeigt:
    • 1 ein beispielhaftes Kommunikationssystem gemäß zumindest einigen Ausführungsformen;
    • 2 ein Blockdiagramm eines beispielhaften Kommunikationssystems, das eine Netzwerkvorrichtung enthält, das zum Erkennen einer oder mehrerer Peer-Netzwerkvorrichtungen gemäß einem dynamisch zugewiesenen Pufferprofil und zum Koppeln damit konfiguriert ist, gemäß zumindest einigen Ausführungsformen.
    • 3 ein Blockdiagramm einer beispielhaften Netzwerkvorrichtung, die über eine Schnittstellenkomponente mit einem dynamisch zugewiesenen Pufferprofil mit einer Peer-Netzwerkvorrichtung kommunikativ gekoppelt ist, gemäß mindestens einigen Ausführungsformen.
    • 4 eine beispielhafte Peer-Netzwerkvorrichtungstabelle gemäß Ausführungsformen der vorliegenden Anwendung, gemäß zumindest einigen Ausführungsformen.
    • 5 eine beispielhafte Pufferprofiltabelle gemäß zumindest einigen Ausführungsformen.
    • 6 ein Flussdiagramm eines Verfahrens zum dynamischen Zuweisen eines Satzes von Konfigurationsparametern eines identifizierten Pufferprofils zu einer Schnittstellenkomponente, die mit einer Kommunikationsverlinkung mit einer Peer-Netzwerkvorrichtung assoziiert ist, auf der Basis von mit der Peer-Netzwerkvorrichtung assoziierten Daten, gemäß zumindest einigen Ausführungsformen.
    • 7 ein beispielhaftes Computersystem mit einem drahtlosen Transceiver, der eine Puffermanagement-Komponente enthält, gemäß mindestens einigen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein typisches Kommunikationssystem kann statisch ein spezifisches Pufferprofil auf der Basis eines Vorrichtungstyps (z.B. eine Spine-Vorrichtung, eine Host-Vorrichtung usw.) zuweisen, mit dem die Kommunikationsverlinkung verbunden ist. So wird beispielsweise allen Spine-verbundenen Verlinkungen ein erstes spezifisches Pufferprofil zugewiesen. In einem anderen Beispiel wird allen Host-verbundenen Verlinkungen statisch ein zweites spezifisches Pufferprofil zugewiesen. Das Pufferprofil wird also statisch auf der Basis der Art der entsprechenden Verlinkung zugewiesen. Darüber hinaus kann in einem herkömmlichen System eine gewünschte dynamische Zuweisung von Pufferprofilen durch eine Netzwerkvorrichtung durch einen typischen Einsatz auf der Basis der statischen Zuweisung von Pufferprofilen zu spezifischen Schnittstellenkomponenten nicht erreicht werden. Vorteilhafterweise sind Aspekte der vorliegenden Offenbarung auf ein dynamisches Pufferprofilzuweisungsmodell gerichtet. Die dynamische Pufferzuweisung ermöglicht die Zuweisung einer Pufferkonfiguration zu einer Schnittstellenkomponente (z.B. einen Port, eine Warteschlange, eine Prioritätsgruppe usw.) eines mit einer Kommunikationsverlinkung mit einer erkannten Peer-Netzwerkvorrichtung assoziierten Netzwerkvorrichtung. Ein weiterer Vorteil wird durch Bestimmen eines spezifischen Pufferprofils eines Satzes von verschiedenen Pufferprofilen zum dynamischen Zuweisen zu einer Schnittstellenkomponente im Hinblick auf Informationen oder Daten erzielt, die mit der bestimmten mit der Kommunikationsverlinkung assoziierten Peer-Netzwerkvorrichtung assoziiert sind.
  • Ausführungsformen der vorliegenden Anwendung lassen die Erzeugung und Verwaltung mehrerer unterschiedlicher Pufferprofile durch eine Puffermanagement-Komponente einer Netzwerkvorrichtung zu. Im Gegensatz zu einem typischen System, in dem ein spezifisches Pufferprofil statisch an jede bestimmte Schnittstellenkomponente der Netzwerkvorrichtung gebunden ist, ermöglichen Ausführungsformen der vorliegenden Anmeldung die dynamische Zuweisung eines Pufferprofils auf der Basis von mit der Peer-Netzwerkvorrichtung assoziierten Daten.
  • In einer Ausführungsform führt eine Netzwerkvorrichtung eine erste Datenstruktur (auch als „Pufferprofiltabelle“ bezeichnet), die einen Satz von Pufferprofiltypen speichert. In der ersten Datenstruktur ist jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert, die zum Konfigurieren einer Schnittstellenkomponente verwendet werden können, die mit einer Kommunikationsverlinkung zwischen der Netzwerkvorrichtung und einer Peer-Netzwerkvorrichtung assoziiert ist. In einer Ausführungsform führt die Netzwerkvorrichtung eine zweite Datenstruktur (auch als „Peer-Netzwerkvorrichtungskennungstabelle“ bezeichnet), die einen Satz von Peer-Vorrichtungskennungen speichert. In der zweiten Datenstruktur ist jede der Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satz von in der ersten Datenstruktur gespeicherten Pufferprofiltypen verbunden.
  • Gemäß einigen Ausführungsformen kann eine Netzwerkvorrichtung eine Peer-Netzwerkvorrichtung erkennen, die über eine Kommunikationsverlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist. Zum Bestimmen eines Pufferprofils zum Zuweisen zu der Schnittstellenkomponente dieser Kommunikationsverlinkung bestimmt die Netzwerkvorrichtung Informationen, die die Peer-Netzwerkvorrichtung identifizieren. Die identifizierten Peer-Netzwerkvorrichtungsdaten werden mit mindestens einem Teil der ersten Datenstruktur verglichen, um eine Übereinstimmung zu bestimmen. In einer Ausführungsform wird ein Peer-Netzwerkvorrichtungskennungsfeld der ersten Datenstruktur anhand der identifizierten Peer-Netzwerkvorrichtungsdaten durchsucht. Nach dem Identifizieren einer Peer-Netzwerkvorrichtungskennung in der ersten Datenstruktur, die mit den identifizierten Peer-Netzwerkvorrichtungsdaten übereinstimmt, wird ein mit der Peer-Vorrichtungskennung assoziierter Pufferprofiltyp (z.B. Pufferprofil 1, Pufferprofil 2, Pufferprofil 3 ... Pufferprofil X) bestimmt.
  • In einer Ausführungsform wird die zweite Datenstruktur zum Identifizieren eines oder mehrerer mit dem identifizierten Pufferprofiltyp assoziierter Konfigurationsparameter benutzt. Der Pufferprofiltyp und entsprechende Pufferkonfigurationsparameter werden der Schnittstellenkomponente entsprechend der Kommunikationsverlinkung mit der identifizierten Peer-Netzwerkvorrichtung zugewiesen. Vorteilhafterweise kann die Netzwerkvorrichtung die erkannten Peer-Netzwerkdaten zum Bestimmen eines Peer-Netzwerkvorrichtungstyps (z.B. eine Spine-Vorrichtung, eine Host-Vorrichtung, einen Switch, einen Router, eine Speichervorrichtung usw.) und zum dynamischen Zuweisen eines Pufferprofils auf der Basis des identifizierten Peer-Netzwerkvorrichtungstyps verwenden. In einer Ausführungsform kann die Netzwerkvorrichtung die erste Datenstruktur einsetzen, und die zweite Datenstruktur kann verwendet werden, um das Pufferprofil dynamisch zu identifizieren und der Schnittstellenkomponente zuzuweisen, die mit der Verbindung mit der erkannten Peer-Netzvorrichtung assoziiert ist.
  • 1 illustriert ein beispielhaftes Kommunikationssystem 100 gemäß mindestens einer beispielhaften Ausführungsform. Das System 100 beinhaltet eine Netzwerkvorrichtung 110, ein Kommunikationsnetzwerk 108 mit einem Kommunikationskanal 109 und eine erkennbare Peer-Netzwerkvorrichtung 130. In mindestens einer beispielhaften Ausführungsform entsprechen die Netzwerkvorrichtungen 110 und 130 einem oder mehreren beliebigen Netzwerkvorrichtungstypen, wie z.B. einer Spine-verbundenen Vorrichtung, einer Host-verbundenen Vorrichtung, einem Router, einem Switch, einer Speichervorrichtung, einem Personal Computer (PC), einem Laptop, einem Tablet, einem Smartphone, einem Server, einer Sammlung von Servern oder dergleichen. In einigen Ausführungsformen können die Netzwerkvorrichtungen 110 und 130 jedem geeigneten Vorrichtungstyp entsprechen, der mit anderen Vorrichtungen kommuniziert, die ebenfalls mit einem gemeinsamen Typ von Kommunikationsnetzwerk 108 verbunden sind. Je nach Ausführungsform kann der Empfänger 104 der Netzwerkvorrichtungen 110 oder 130 einer Grafikverarbeitungseinheit (GPU), einem Switch (z.B. einem schnellen Netzwerk-Switch), einem Netzwerkadapter, einer Zentraleinheit (CPU) usw. entsprechen. Als weiteres spezifisches, aber nicht einschränkendes Beispiel können die Netzwerkvorrichtungen 110 und 130 Servern entsprechen, die Informationsressourcen, Dienste und/oder Anwendungen für Benutzervorrichtungen, Client-Vorrichtungen oder andere Hosts im System 100 anbieten.
  • Beispiele für das Kommunikationsnetzwerk 108, das zum Verbinden der Vorrichtungen 104 und 130 verwendet werden kann, sind ein IP-(Internet Protocol)-Netzwerk, ein Ethernet-Netzwerk, ein IB-(InfiniBand)-Netzwerk, ein Fibre-Channel-Netzwerk, das Internet, ein zellulares Kommunikationsnetzwerk, ein drahtloses Kommunikationsnetzwerk, Kombinationen davon (z.B. Fibre Channel over Ethernet), Varianten davon und/oder Ähnliches. In einem spezifischen, aber nicht einschränkenden Beispiel ist das Kommunikationsnetzwerk 108 ein Netzwerk, das Datenübertragung zwischen den Vorrichtungen 104 und 130 mittels Datensignalen (z.B. digitale, optische, drahtlose Signale) ermöglicht. Das Kommunikationsnetzwerk 108 kann ein Kommunikationsprotokoll wie z.B. das LLDP (Link Layer Discovey Protocol) oder ein anderes geeignetes Protokoll verwenden.
  • Die Vorrichtung 104 beinhaltet einen Transceiver 116 zum Senden und Empfangen von Signalen, z.B. von Datensignalen. Die Datensignale können digitale oder optische mit Daten modulierte Signale oder andere geeignete Signale zum Führen von Daten sein.
  • Der Transceiver 116 kann eine digitale Datenquelle 120, einen Sender 102, einen Empfänger 104 und Verarbeitungsschaltung 132 beinhalten, die den Transceiver 116 steuert. Der Digitaldatengenerator 120 kann geeignete Hardware und/oder Software zur Ausgabe von Daten in einem digitalen Format (z.B. in Binärcode und/oder Thermometercode) umfassen. Die von der Digitaldatenquelle 120 ausgegebenen digitalen Daten können aus einem Arbeitsspeicher (nicht dargestellt) abgerufen oder gemäß einer Eingabe (z.B. einer Benutzereingabe) erzeugt werden.
  • Der Sender 124 beinhaltet geeignete Software und/oder Hardware zum Empfangen digitaler Daten von der Digitaldatenquelle 120 und zum Ausgeben von Datensignalen gemäß den digitalen Daten zur Übertragung über das Kommunikationsnetzwerk 108 zu einem Empfänger 104 einer Peer-Netzwerkvorrichtung 130. Die Netzwerkvorrichtungen 110, 130 können geeignete Hardware und/oder Software zum Empfangen von Signalen, z.B. von Datensignalen aus dem Kommunikationsnetzwerk 108, enthalten. Beispielsweise kann die Netzwerkvorrichtung 110 Komponenten (z.B. eine Puffermanagement-Komponente 112) enthalten, die Daten identifizieren, die mit einer erkannten Peer-Netzwerkvorrichtung assoziiert sind, die über eine Schnittstellenkomponente (z.B. einen Port, eine Warteschlange, eine Prioritätsgruppe usw.) mit der Netzwerkvorrichtung gekoppelt ist, und der Schnittstellenkomponente auf der Basis der Peer-Netzwerkvorrichtungsdaten ein Pufferprofil zuweisen, wobei das Pufferprofil Konfigurationsparameter zum Einrichten eines Pufferlevels für die Kommunikationsverlinkung mit der Peer-Netzwerkvorrichtung enthält, wie nachstehend mit Bezug auf 2 - 7 im Detail beschrieben.
  • Die Verarbeitungsschaltung 132 kann Software, Hardware oder eine Kombination davon umfassen. Beispielsweise kann die Verarbeitungsschaltung 132 einen Arbeitsspeicher mit ausführbaren Befehlen und einen Prozessor (z.B. einen Mikroprozessor) umfassen, der die Befehle auf dem Arbeitsspeicher ausführt. Der Arbeitsspeicher kann jedem geeigneten Typ von Arbeitsspeichervorrichtung oder einer Sammlung von Arbeitsspeichervorrichtungen entsprechen, die zum Speichern von Befehlen konfiguriert sind. Nicht einschränkende Beispiele für geeignete benutzbare Arbeitsspeichervorrichtungen sind Flash-Arbeitsspeicher, RAM (Random Access Memory),ROM (Read Only Memory), Varianten davon, Kombinationen davon oder dergleichen. In einigen Ausführungsformen können der Arbeitsspeicher und der Prozessor in eine gemeinsame Vorrichtung integriert sein (z.B. kann ein Mikroprozessor einen integrierten Arbeitsspeicher enthalten). Zusätzlich oder alternativ kann die Verarbeitungsschaltung 132 Hardware, z.B. eine anwendungsspezifische integrierte Schaltung (ASIC), umfassen. Andere nicht einschränkende Beispiele für die Verarbeitungsschaltung 132 sind ein IC-(Integrated Circuit)-Chip, eine CPU (Central Processing Unit), eine GPU (General Processing Unit), ein Mikroprozessor, ein FPGA (Field Programmable Gate Array), eine Sammlung von Logikgattern oder Transistoren, Widerständen, Kondensatoren, Induktoren, Dioden oder dergleichen. Einige oder alle der Verarbeitungsschaltungen 132 können auf einer Leiterplatte (PCB) oder einer Sammlung von PCBs bereitgestellt werden. Es ist zu verstehen, dass jeder geeignete Typ von elektrischen Komponenten oder eine Sammlung von elektrischen Komponenten für die Aufnahme in die Verarbeitungsschaltung 132 geeignet sein kann. Die Verarbeitungsschaltung 132 kann Signale zu und/oder von anderen Elementen des Transceivers 116 senden und/oder empfangen, um den Gesamtbetrieb des Transceivers 116 zu steuern.
  • Der Transceiver 116 oder ausgewählte Elemente des Transceivers 116 können die Form einer steckbaren Karte oder eines Controllers für die Vorrichtung 110 haben. Zum Beispiel können der Transceiver 116 oder ausgewählte Elemente des Transceivers 116 auf einer Netzwerkschnittstellenkarte (NIC) implementiert sein.
  • Die Vorrichtung 130 kann einen Transceiver 136 zum Senden und Empfangen von Signalen, z.B. Datensignalen, über einen Kanal 109 des Kommunikationsnetzwerks 108 enthalten. Die gleiche oder eine ähnliche Struktur des Transceivers 116 kann auf den Transceiver 136 angewandt werden, und daher wird die Struktur des Transceivers 136 nicht gesondert beschrieben.
  • Obwohl nicht explizit dargestellt, ist zu verstehen, dass die Vorrichtungen 110 und 130 und die Transceiver 116 und 120 auch andere Verarbeitungsvorrichtungen, Speichervorrichtungen und/oder Kommunikationsschnittstellen umfassen können, die im Allgemeinen mit Rechenaufgaben, wie dem Senden und Empfangen von Daten, assoziiert sind.
  • 2 illustriert ein Blockdiagramm eines beispielhaften Kommunikationssystems 200, das eine Netzwerkvorrichtung 210 enthält, die zum Erkennen einer oder mehrerer Peer-Netzwerkvorrichtungen (z.B. Peer-Netzwerkvorrichtung 1, Peer-Netzwerkvorrichtung 2, Peer-Netzwerkvorrichtung 3 ... Peer-Netzwerkvorrichtung N) über ein Kommunikationsnetzwerk 208 und zum Koppeln damit konfiguriert ist. In einer Ausführungsform kann eine Kommunikationsverlinkung zwischen der Netzwerkvorrichtung 210 und einer jeweiligen Peer-Netzwerkvorrichtung über eine Schnittstellenkomponente eines Satzes von Schnittstellenkomponenten 216 hergestellt werden.
  • In einer Ausführungsform kann die Netzwerkvorrichtung 210 eine Puffermanagement-Komponente 212 und eine Peer-Erkennungskomponente 214 beinhalten, die operativ mit den Schnittstellenkomponenten 216 gekoppelt sind. In einer Ausführungsform ist die Peer-Erkennungskomponente 214 eine Anwendung, die von der Netzwerkvorrichtung 210 ausgeführt werden kann, um neue Peer-Netzwerkvorrichtungen zu erkennen, mit den neuen Peer-Netzwerkvorrichtungen assoziierte Daten zu sammeln und die Puffermanagement-Komponente 212 mit den Peer-Netzwerkvorrichtungsdaten zu versorgen. In einer Ausführungsform kann die Peer-Erkennungskomponente 214 gemäß dem anwendbaren Kommunikationsprotokoll (z.B. LLDP) konfiguriert werden, um die Peer-Netzwerkvorrichtungsdaten zu identifizieren. Zum Beispiel identifiziert und sammelt die Peer-Erkennungskomponente 214 LLDP-Daten, die andere Peer-Netzwerkvorrichtungen beschreiben, die erkannt werden, wie z.B. TLV-(Type Length Value)-Informationselemente (z.B. Strings variabler Länge in einem standardisierten Format). In einer Ausführungsform beinhaltet das LLDP die Übertragung von Ankündigungen in Form von Paketen (z.B. LLDP-Dateneinheiten) und enthält TLV-Elemente, die einen bestimmten Informationstyp über die Peer-Netzwerkvorrichtung oder die Schnittstellenkomponente enthalten, die die Daten überträgt, z.B. Nachbar- oder Peer-Namensfelddaten, eine Portkennung usw.
  • In dem in 2 gezeigten Beispiel erkennt die Peer-Erkennungskomponente 214 eine neue Kommunikationsverlinkung zwischen der Schnittstellenkomponente 1 der Netzwerkvorrichtung 210 und der Peer-Netzwerkvorrichtung 1. Die Peer-Erkennungskomponente 214 identifiziert mit der Peer-Netzwerkvorrichtung 1 assoziierte Daten und versorgt die Puffermanagement-Komponente 312 mit den Daten (d.h. den Daten der Peer-Netzwerkvorrichtung 1). In einer Ausführungsform können die Daten der Peer-Netzwerkvorrichtung 1 gemäß einem geeigneten Kommunikationsprotokoll wie z.B. dem LLDP identifiziert werden. In einer Ausführungsform empfängt die Puffermanagement-Komponente eine neue Peer- oder Nachbarkommunikation einschließlich der Peer-Netzwerkvorrichtungsdaten von der Peer-Erkennungskomponente 314. In dem in 2 gezeigten Beispiel wird der neue Peer-Netzwerkerkennungsprozess von der Peer-Erkennungskomponente 214 durchgeführt, um mit der Peer-Netzwerkvorrichtung 2, der Peer-Netzwerkvorrichtung 3 ... der Peer-Netzwerkvorrichtung assoziierte Peer-Netzwerkvorrichtungsdaten zu identifizieren.
  • In einer Ausführungsform nutzt die Puffermanagement-Komponente 212 die jeweiligen Peer-Netzwerkvorrichtungsdaten zum Identifizieren eines entsprechenden Pufferprofils eines Satzes von Pufferprofilen (z.B. Pufferprofil 1, Pufferprofil 2, Pufferprofil 3 ... Pufferprofil X) zum Zuweisen zu der jeweiligen Schnittstellenkomponente (z.B. Port, Warteschlange, Prioritätsgruppe usw.), die mit der Kommunikationsverlinkung mit der jeweiligen Peer-Netzwerkvorrichtung assoziiert ist. In dem in 2 gezeigten Beispiel weist die Puffermanagement-Komponente 212 der Schnittstellenkomponente 1 das Pufferprofil 3 der Peer-Netzwerkvorrichtung 1 auf der Basis der Daten zu. Darüber hinaus weist die Puffermanagement-Komponente 212 der Schnittstellenkomponente 2 das Pufferprofil 1 auf der Basis der Daten der Peer-Netzwerkvorrichtung 2 zu, die Puffermanagement-Komponente 212 weist der Schnittstellenkomponente 3 das Pufferprofil X auf der Basis der Daten der Peer-Netzwerkvorrichtung 3 zu, und die Puffermanagement-Komponente 212 weist der Schnittstellenkomponente Y das Pufferprofil 1 auf der Basis der Daten der Peer-Netzwerkvorrichtung N zu. Die Puffermanagement-Komponente 212 führt einen Satz von verschiedenen Pufferprofilen (z.B. Pufferprofil 1, Pufferprofil 2, Pufferprofil 3 ... Pufferprofil X) und weist einer jeweiligen mit einer Kommunikationsverlinkung mit einer Peer-Netzwerkvorrichtung assoziierten Schnittstellenkomponente dynamisch ein bestimmtes Pufferprofil und einen entsprechenden Satz von Konfigurationsparametern zu. Vorteilhafterweise bestimmt die Puffermanagement-Komponente 212 auf der Basis der mit dieser bestimmten Peer-Netzwerkvorrichtung assoziierten Daten, welches Pufferprofil einer jeweiligen mit einer Peer-Netzwerkvorrichtung gekoppelten Schnittstellenkomponente zugewiesen werden soll. Demgemäß weist die Puffermanagement-Komponente 212 einer Schnittstellenkomponente ein ausgewähltes Pufferprofil auf der Basis der Daten der Peer-Netzwerkvorrichtung zu, wodurch das Management des Netzwerks flexibel gestaltet wird und die Notwendigkeit entfällt, dass ein Benutzer Pufferprofile statisch zuweist, wenn der Einsatz von Netzwerkvorrichtungen erweitert wird.
  • 3 zeigt ein Blockdiagramm einer beispielhaften Netzwerkvorrichtung 310, die gemäß Ausführungsformen der vorliegenden Anmeldung mit einer Peer-Netzwerkvorrichtung 330 kommunikativ gekoppelt ist. Wie dargestellt, beinhaltet die Netzwerkvorrichtung 310 eine Puffermanagement-Komponente 312, eine Peer-Erkennungskomponente 314 und einen Satz von einer oder mehreren Schnittstellenkomponenten 316.
  • In einer Ausführungsform führt die Puffermanagement-Komponente 312 eine erste Datenstruktur (Pufferprofiltabelle 313-A) und eine zweite Datenstruktur (Peer-Netzwerkvorrichtungtabelle 313-B) zur Verwendung bei der Bestimmung eines Pufferprofils für eine mit einer Kommunikationsverlinkung mit einer Peer-Netzwerkvorrichtung 330 assoziierte Schnittstellenkomponente 316. In einer Ausführungsform speichert die Pufferprofiltabelle 313-A einen Satz von Pufferprofiltypen. Jeder Pufferprofiltyp ist mit einem oder mehreren Konfigurationsparametern assoziiert, die zum Konfigieren eines Puffers verwendet werden können, der mit einer Schnittstellenkomponente entsprechend einer Kommunikationsverlinkung zwischen der Netzwerkvorrichtung und einer Peer-Netzwerkvorrichtung (z.B. Peer-Netzwerkvorrichtung 330) assoziiert ist. In einer Ausführungsform enthält jedes Pufferprofil (z.B. Profil 1, Profil 2, Profil 3... Profil X) einen Satz von einem oder mehreren Pufferkonfigurationsparametern.
  • In einer Ausführungsform beinhaltet die Peer-Netzwerkvorrichtungstabelle 313-B Peer-Netzwerkvorrichtungsdaten einschließlich jeweiliger Peer-Netzwerkvorrichtungskennungen, die jeweils mit einem jeweiligen Pufferprofiltyp assoziiert sind. In einer Ausführungsform identifiziert und sammelt die Peer-Erkennungskomponente 314 Peer-Netzwerkvorrichtungsdaten 320 von einer Schnittstellenkomponente 316. Die Peer-Erkennungskomponente 314 versorgt die Puffermanagement-Komponente 312 mit zumindest einem Teil der Peer-Netzwerkvorrichtungsdaten 320. In einer Ausführungsform ist die Peer-Erkennungskomponente 314 eine Anwendung, die ein Kommunikationsprotokoll (z.B. LLDP) verwendet, um eine neue Peer-Netzwerkvorrichtung (z.B. Peer-Netzwerkvorrichtung 320) zu erkennen und eine Benachrichtigung an die Puffermanagement-Komponente 312 zu liefern, die zumindest einen Teil der Peer-Netzwerkvorrichtungsdaten enthält.
  • In einer Ausführungsform vergleicht die Puffermanagement-Komponente 312 als Reaktion auf den Empfang der Benachrichtigung, die zumindest einen Teil der Peer-Netzwerkvorrichtungsdaten enthält, die Peer-Netzwerkvorrichtungsdaten mit den in der Peer-Netzwerkvorrichtungstabelle 413-B gespeicherten Daten. In einer Ausführungsform führt die Puffermanagement-Komponente 312 den Vergleich aus, um festzustellen, ob ein Eintrag in der Peer-Netzwerkvorrichtungstabelle 413-B mit den Peer-Netzwerkvorrichtungsdaten übereinstimmt. Wenn eine Übereinstimmung identifiziert wird, identifiziert die Puffermanagement-Komponente 312 das Pufferprofil, das den übereinstimmenden Peer-Netzwerkvorrichtungsdaten entspricht.
  • 4 illustriert eine beispielhafte Peer-Netzwerkvorrichtungstabelle 413-B gemäß Ausführungsformen der vorliegenden Anmeldung. Wie in 4 gezeigt, enthält die Peer-Networkvorrichtungstabelle 413-B einen Satz von Einträgen, die verschiedenen Peer-Networkvorrichtungstypen wie durch eine Peer-Networkvorrichtungskennung definiert entsprechen. In dem gezeigten Beispiel enthält jeder Eintrag in dem Satz von Einträgen der Peer-Netzwerkvorrichtungstabelle 413-B einen Satz von Werten, die Peer-Netzwerkvorrichtungsdatenfeldern entsprechen (z.B. Nachbar-Feld, Regex-Muster, das mit dem Feld übereinstimmen sollte), und einen entsprechenden Pufferprofiltyp (z.B. Profil 1, Profil 2, Profil 3 ... Profil X) zusammen mit dem spezifischen Objekt in dem Port, mit dem das Pufferprofil assoziiert werden muss (Warteschlange/Port, Prioritätsgruppe, Portlevel-Pufferkonfiguration). Zum Beispiel enthält ein erster Eintrag in der Peer-Netzwerkvorrichtungstabelle 413-B einen ersten Wert (d.h. „SysName“) für ein Nachbar-Feld, einen zweiten Wert (d.h. „^Spine*“) für ein Regex-Musterfeld in Übereinstimmung mit dem SysName-Feld, einen dritten Wert (d.h. „3“) für ein Warteschlange/Port-Feld, einen vierten Wert (d.h. „-“ oder Null) für ein Prioritätsgruppenfeld, einen fünften Wert (d.h. „Falsch“) für ein Portlevel- Pufferkonfigurationsfeld und einen sechsten Wert (d.h. „Profil 1“) für ein Pufferprofilfeld. In einer Ausführungsform kann die Peer-Netzwerkvorrichtungstabelle 413-B ein oder mehrere zusätzliche Felder und Werte für jeden Eintrag haben. Es wird darauf hingewiesen, dass die Peer-Netzwerkvorrichtungstabelle 413-B ein oder mehrere Felder weniger haben kann als die in der beispielhaften Datenstruktur von 4 gezeigten.
  • In einer Ausführungsform stellen eines oder mehrere der Felder der Peer-Netzwerkvorrichtungstabelle 413-B eine Peer-Netzwerkvorrichtungskennung dar. In einer Ausführungsform wird das Peer-Netzwerkvorrichtungskennungsfeld anhand der erkannten Peer-Netzwerkvorrichtungsdaten durchsucht oder abgefragt, um festzustellen, ob ein in der Peer-Netzwerkvorrichtungstabelle 413-B gespeicherter Eintrag übereinstimmt.
  • Mit Bezug auf das in 4 gezeigte Beispiel führt die Puffermanagement-Komponente (z.B. die Puffermanagement-Komponente 312 von 3) eine Suche oder Abfrage eines oder mehrerer Felder der Peer-Netzwerkvorrichtungstabelle 413-B durch, um eine
  • Übereinstimmung zu identifizieren. In einem Beispiel durchsucht die Puffermanagement-Komponente das im ersten Wert angegebene Regex-Muster im Nachbar-Feld, und wenn ein Nachbar mit diesem spezifischen Muster im spezifizierten Nachbar-Feld übereinstimmt, wird das mit dem übereinstimmenden Eintrag assoziierte Pufferprofil zum Konfigurieren der entsprechenden Schnittstellenkomponente verwendet, die mit der Warteschlangen- oder Prioritätsgruppen- oder Portlevel-Pufferkonfiguration assoziiert ist. Beispielsweise können die erkannten Peer-Netzwerkvorrichtungsdaten SysName (z.B. ein Nachbarfeldwert) mit dem Regex-Musterfeld verglichen werden, um eine(n) Rolle oder Typ der Peer-Netzwerkvorrichtung zu identifizieren. In einer Ausführungsform können ein oder mehrere andere Felder der Peer-Netzwerkvorrichtungstabelle verwendet werden, um die Rolle der Peer-Netzwerkvorrichtungen und den entsprechenden Pufferprofiltyp zu identifizieren, der der Schnittstellenkomponente zugewiesen werden soll.
  • Zum Beispiel kann das Regex-Musterfeld Werte enthalten, die eine Folge von Zeichen umfassen. Ähnliche Peer-Netzwerkvorrichtungen haben eine Folge von Zeichen im Regex-Muster gemeinsam. Beispielsweise können alle Spine-Vorrichtungen einer gemeinsamen Namensnutzungskonvention unterliegen, so dass eine erste Spine-Vorrichtung den Regex-Musterwert „Spine00100X“, eine zweite Spine-Vorrichtung den Regex-Musterwert „Spine00200X“ usw. haben kann.
  • Mit Bezug auf 3 kann die Peer- Netzwerkvorrichtungstabelle 313-B in einer Ausführungsform ein oder mehrere individuelle oder benutzerdefinierte TLV-Felder (auch als „herstellerspezifisches Feld“ bezeichnet) enthalten, die mit den Peer-Netzwerkvorrichtungsdaten 320 verglichen werden können, um eine Übereinstimmung zu identifizieren. Das benutzerdefinierte Feld kann beispielsweise als „Vorrichtungstyp“-Feld individualisiert werden, das Werte enthält, die dem Typ der Peer-Netzwerkvorrichtung entsprechen. In einer Ausführungsform kann das „Vorrichtungstyp“- Feld das „Nachbar-Feld“ und/oder „Regex-Musterfeld“ der Peer-Netzwerkvorrichtungstabelle 413-B von 4 ersetzen. In einer Ausführungsform erlaubt das LLDP die Einstellung von herstellerspezifischen TLV-Feldern und -Einträgen. Da das Standard-LLDP kein(en) „Vorrichtungstyp“-Feld oder -Wert enthält, kann in einer Ausführungsform ein benutzerdefiniertes „Vorrichtungstyp“-Feld erzeugt und in der Peer-Netzwerkvorrichtungstabelle 313-B verwendet werden, so dass das benutzerdefinierte Feld zu Abgleichzwecken durchsucht wird.
  • Mit Bezug auf 3, in einer Ausführungsform verwendet die Puffermanagement-Komponente 312 nach dem Identifizieren eines Pufferprofiltyp entsprechend dem übereinstimnenden Eintrag in der Peer-Netzwerkvorrichtungstabelle 313-B die Pufferprofiltabelle 313-A zum Identifizieren eines oder mehrerer Konfigurationsparameter entsprechend dem identifizierten Pufferprofil. Wie oben beschrieben, enthält die Pufferprofiltabelle 313-A einen Satz von Einträgen, wobei jeder Eintrag einen Pufferprofiltyp (z.B. Profil 1, Profil 2, Profil 3...Profil X) und einen entsprechenden Satz von einem oder mehreren Pufferkonfigurationsparametern enthält.
  • 5 illustriert eine beispielhafte Pufferprofiltabelle 513-A gemäß Ausführungsformen der vorliegenden Anmeldung. Wie in 5 gezeigt, enthält die Pufferprofiltabelle 513-A einen Satz von Einträgen, die verschiedenen Pufferprofiltypen entsprechen. In dem gezeigten Beispiel enthält jeder Eintrag des Satzes von Einträgen der Pufferprofiltabelle 513-A einen Satz von Pufferkonfigurationsparameterwerten, die verschiedenen Pufferkonfigurationsparameterfeldern entsprechen (z.B. ein Mindestpufferprozentsatz, Sharing-Modus, gemeinsamer Schwellenwert, Xon-Grenze, Xoff-Grenze).
  • In einer Ausführungsform kann der Satz von Pufferkonfigurationsparametern einen Mindestpufferprozentsatz enthalten, der einen Mindestprozentsatz der gesamten Puffermenge darstellt, die einer mit einer Peer-Netzwerkvorrichtung assoziierten Schnittstellenkomponente zugeordnet werden soll. In einer Ausführungsform kann der Satz von Pufferkonfigurationsparametern einen Sharing-Modustyp enthalten, der entweder einen statischen Pufferkonfigurationsmodus oder einen dynamischen Pufferkonfigurationsmodus darstellt. Der statische Konfigurationsmodus beinhaltet die statische Zuordnung einer Puffergröße (z.B. X kbs). Der dynamische Konfigurationsmodus beinhaltet das Zuordnen einer Mindestschwellenpuffergröße und die gemeinsame Nutzung einer Pufferzuteilung mit anderen Peer-Netzwerkvorrichtungen im System. Im dynamischen Sharing-Modus wird beispielsweise eine Alpha-Netzwerkvorrichtung identifiziert und damit beauftragt zu bestimmen, wie viel des verfügbaren Puffers eine bestimmte Schnittstellenkomponente (z.B. ein Port, eine Warteschlange in einem Port usw.) nutzen kann. Es wird darauf hingewiesen, dass der dynamische Sharing-Modus nicht die dynamische Zuweisung von Pufferprofilen umfasst, wie sie von der Puffermanagement-Komponente von Ausführungsformen der vorliegenden Anwendung vorgenommen wird. Stattdessen bezieht sich der dynamische Sharing-Modus auf die Art und Weise, in der eine Schnittstellenkomponente den verfügbaren Puffer mit anderen Peer-Netzwerkvorrichtungen gemeinsam nutzt.
  • Mit Bezug auf 5, in einer Ausführungsform kann der Satz von Konfigurationsparametern einen gemeinsam genutzten Schwellenbetrag oder -level enthalten, der einen Schwellenlevel des zugeordneten Puffers darstellt, der von einer jeweiligen Schnittstellenkomponente gemeinsam genutzt werden kann. In einer Ausführungsform kann der Satz von Konfigurationsparametern einen Xon-Grenzwert und einen Xoff-Grenzwert enthalten. In einer Ausführungsform kann ein Pausenframe erzeugt werden, wenn eine Eingangswarteschlange an einer Schnittstellenkomponente unter den Xon-Grenzwert (z.B. den minimalen oder unteren Schwellenlevel) abfällt. In einer Ausführungsform kann ein Pausenframe erzeugt werden, wenn die Puffergrenze an einer Eingangsschnittstellenkomponente die mit der Schnittstellenkomponente assoziierte Xoff-Grenze (z.B. den maximalen oder oberen Schwellenlevel) erreicht oder überschreitet. Es wird darauf hingewiesen, dass jede Kombination von Pufferkonfigurationsparametern in Assoziation mit einem Pufferprofiltyp in der Pufferprofiltabelle 513-A gespeichert werden kann.
  • In einer Ausführungsform enthält die Pufferprofiltabelle 513A einen jeweiligen Eintrag, der den zuweisbaren Pufferprofilen entspricht, wobei jeder Eintrag einen Satz von einem oder mehreren Pufferkonfigurationsparametern enthält, die einer entsprechenden mit einer Peer-Netzwerkvorrichtung assoziierten Schnittstellenkomponente zugewiesen werden sollen. Beispielsweise enthält ein erster Eintrag in der Pufferprofiltabelle 513A einen ersten Wert (d.h. „Profil 1“) für ein Pufferprofilfeld, einen zweiten Wert (d.h. „8“) für ein Mindestpufferprozentsatz-Feld, einen dritten Wert (d.h. „Dynamic“) für ein Sharing-Modus-Feld, einen vierten Wert (d.h. „8%“) für ein Shared-Schwellenwert-Feld, einen fünften Wert (d.h. „20“) für ein Feld „Xon Limit“ und einen sechsten Wert (d.h. „10“) für ein Feld Xoff-Grenze-Feld. In einer Ausführungsform kann der Satz von Werten entsprechend den Pufferkonfigurationsparameterfeldern zum Konfigurieren der mit der Peer-Netzwerkvorrichtung assoziierten Schnittstellenkomponente verwendet werden. In einer Ausführungsform kann die Pufferprofiltabelle 513-A ein oder mehrere zusätzliche Felder und Werte für jeden Eintrag enthalten. Es wird darauf hingewiesen, dass die Pufferprofiltabelle 513-A ein oder mehrere Felder weniger als die in der beispielhaften Datenstruktur von 5 gezeigten haben kann.
  • Wie in der beispielhaften Pufferprofiltabelle 513-A von 5 dargestellt, kann die Puffermanagement-Komponente nach dem Identifizieren des dynamisch zuzuweisenden Pufferprofils einen Nachschlagvorgang mit Hilfe der Pufferprofiltabelle 513-B durchführen, um die ein oder mehreren Pufferkonfigurationsparameter und -werte zu identifizieren, die der Schnittstellenkomponente der erkannten Peer-Netzwerkvorrichtung zuzuweisen sind.
  • Mit Bezug auf 3, können in einer Ausführungsform die Pufferprofiltabelle 313-A und die Peer-Netzwerkvorrichtungstabelle 313-B und entsprechende Datenfelder und Werte zu einer einzigen Datenstruktur kombiniert werden. Zum Beispiel kann die Puffermanagement-Komponente 312 eine Datenstruktur führen, die die Felder der Peer-Netzwerkvorrichtungstabelle und der Pufferprofiltabelle enthält.
  • 6 ist ein Flussdiagramm eines Verfahrens 600 des dynamischen Zuweisens eines Satzes von Konfigurationsparametern eines identifizierten Pufferprofils zu einer Schnittstellenkomponente, die mit einer Kommunikationsverlinkung mit einer Peer-Netzwerkvorrichtung assoziiert ist, auf der Basis von mit der Peer-Netzwerkvorrichtung assoziierten Daten. Das Verfahren 600 kann von Verarbeitungslogik durchgeführt werden, die Hardware, Software, Firmware oder eine beliebige Kombination davon umfasst. In mindestens einer Ausführungsform wird das Verfahren 600 von der Puffermanagement-Komponente 112 von 1, der Puffermanagement-Komponente 212 von 2 oder der Puffermanagement-Komponente 312 von 3 ausgeführt. In mindestens einer Ausführungsform wird das Verfahren 600 von der Puffermanagement-Komponente von Steuerlogik angewiesen durchgeführt, die in einigen Ausführungsformen Verarbeitungslogik ist. Gemäß einigen Ausführungsformen kann das Verfahren 600 von einer Netzwerkvorrichtung innerhalb eines Netzwerkkommunikationssystems durchgeführt werden, das ein oder mehrere erkennbare Peer-Netzwerkvorrichtungen enthält, gemäß Ausführungsformen der vorliegenden Anmeldung. Obwohl in einer bestimmten Sequenz oder Reihenfolge dargestellt, kann die Reihenfolge der Prozesse, sofern nicht anders angegeben, geändert werden. Daher sind die dargestellten Ausführungsformen nur als Beispiele zu verstehen, und die dargestellten Prozesse können in einer anderen Reihenfolge ausgeführt werden, und einige Prozesse können parallel ausgeführt werden. Außerdem können in verschiedenen Ausführungsformen ein oder mehrere Prozesse weggelassen werden. Es sind also nicht alle Prozesse in jeder Ausführungsform erforderlich. Andere Prozessabläufe sind möglich.
  • Bei Operation 610 speichert die Verarbeitungslogik eine erste Datenstruktur, die einen Satz von Pufferprofiltypen enthält, wobei jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert ist. In einer Ausführungsform speichert und führt die Verarbeitungslogik der Puffermanagement-Komponente die erste Datenstruktur (z.B. die Pufferprofiltabelle 313-A von 3 oder die Pufferprofiltabelle 515-A von 5), die eine Reihe von Feldern und entsprechenden Werten enthält, die mit Pufferkonfigurationsparametern in Bezug auf jedes jeweilige Pufferprofil assoziiert sind.
  • Bei Operation 620 speichert die Verarbeitungslogik eine zweite Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen umfasst, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satzes von Pufferprofiltypen assoziiert ist. In einer Ausführungsform speichert und führt die Verarbeitungslogik der Puffermanagement-Komponente die zweite Datenstruktur (z.B. die Peer-Netzwerkvorrichtungstabelle 313-B von 3 oder die Peer-Netzwerkvorrichtungstabelle 415-B von 4) einschließlich einer Reihe von Feldern und entsprechenden Werten, die mit einer oder mehreren Peer-Netzwerkvorrichtungen und Peer-Netzwerkvorrichtungsypen assoziiert sind. In einer Ausführungsform beinhaltet die zweite Datenstruktur ein oder mehrere durchsuchbare Felder und Werte, die zum Identifizieren eines Peer-Netzwerkvorrichtungstyps (z.B. einer Peer-Vorrichtungskennung) und eines entsprechenden Pufferprofiltyps verwendet werden können.
  • Bei Operation 630 erkennt die Verarbeitungslogik eine erste Peer-Netzwerkvorrichtung, die über eine erste Verlinkung mit einer ersten Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist. In einer Ausführungsform kann die Verarbeitungslogik eine Peer-Erkennungskomponente enthalten, die eine neue Peer-Netzwerkvorrichtung erkennt, die über eine Kommunikationsverlinkung (z.B. die erste Verlinkung) mit der Netzwerkvorrichtung über eine Schnittstellenkomponente (z.B. die erste Schnittstellenkomponente) der Netzwerkvorrichtung gekoppelt werden soll. Zum Beispiel ist, mit Bezug auf 2, die erste Peer-Netzwerkvorrichtung, die entdeckt wird, die Peer-Netzwerkvorrichtung 3, die über die Schnittstellenkomponente 3 der Netzwerkvorrichtung 210 erkannt wird.
  • Bei Operation 640 identifiziert die Verarbeitungslogik erste Daten, die mit der ersten Peer-Netzwerkvorrichtung assoziiert sind. In einer Ausführungsform können die mit der ersten Peer-Netzwerkvorrichtung assoziierten ersten Daten während der Erkennung der ersten Peer-Netzwerkvorrichtung gesammelt und identifiziert werden. Die ersten Daten können beliebige mit der ersten Peer-Netzwerkvorrichtung assoziierte Daten sein, die zum Vergleichen mit den in der zweiten Datenstruktur gespeicherten Daten verwendet werden können. Wenn die Netzwerkvorrichtung beispielsweise ein LLDP-Kommunikationsprotokoll verwendet, können die ersten Daten LLDP-basierte beschreibende Informationen sein, die mit der erkannten Peer-Netzwerkvorrichtung assoziiert sind. In einer Ausführungsform können die ersten Daten einen oder mehrere benutzerdefinierte Datenwerte zur Verwendung beim Vergleichen mit der zweiten Datenstruktur enthalten, die ein oder mehrere benutzerdefinierte Datenfelder (z.B. ein Vorrichtungstyp-Feld) enthält.
  • Bei Operation 650 stellt die Verarbeitungslogik fest, ob die ersten Daten mit einer ersten Peer-Vorrichtungskennung aus dem Satz von Peer-Vorrichtungskennungen in der zweiten Datenstruktur übereinstimmen. In einer Ausführungsform wie oben beschrieben kann die Verarbeitungslogik der Puffermanagement-Komponente einen Nachschlagvorgang oder eine Suche in den ein oder mehreren Datenfeldern der zweiten Datenstruktur durchführen, um festzustellen, ob die mit der ersten Peer-Netzwerkvorrichtung assoziierten ersten Daten mit einem Eintrag in der zweiten Datenstruktur übereinstimmen. Beispielsweise kann die Verarbeitungslogik das Regex-Musterfeld der zweiten Datenstruktur durchsuchen, um festzustellen, ob eine Übereinstimmung mit dem in der zweiten Datenstruktur für die ersten Daten spezifizierten Nachbar-Feld gefunden wird. In einem anderen Beispiel kann die Verarbeitungslogik ein benutzerdefiniertes Feld der zweiten Datenstruktur durchsuchen, um festzustellen, ob eine Übereinstimmung mit den ersten Daten gefunden wird. In einer Ausführungsform kann die Verarbeitungslogik, wenn in Operation 650 festgestellt wird, dass keine Übereinstimmung zwischen den ersten Daten und den Einträgen der zweiten Datenstruktur gefunden wird, der ersten Peer-Netzwerkvorrichtung ein Standard-Pufferprofil zuweisen.
  • Bei Operation 660 bestimmt die Verarbeitungslogik anhand der ersten Datenstruktur einen ersten Satz von Konfigurationsparametern entsprechend einem mit der ersten Peer-Vorrichtungskennung assoziierten ersten Pufferprofiltyp. In einer Ausführungsform führt die Verarbeitungslogik einen Nachschlagvorgang der ersten Datenstruktur durch, um den Satz von Konfigurationsparametern zu identifizieren, der mit dem Pufferprofiltyp (z.B. dem ersten Pufferprofiltyp) assoziiert ist, der mit dem übereinstimmenden Eintrag der zweiten Datenstruktur (z.B. dem übereinstimmenden Peer-Netzwerkvorrichtungstyp) assoziiert ist.
  • Bei Operation 670 weist die Verarbeitungslogik den ersten Satz von Konfigurationsparametern des ersten Pufferprofiltyps der ersten Schnittstellenkomponente der in der Warteschlange oder Prioritätsgruppe oder dem Portlevel der zweiten Datenstruktur spezifizierten Netzwerkvorrichtung zu (d.h. die Schnittstellenkomponenteninformation). In einer Ausführungsform wird der Satz von Konfigurationsparametern dynamisch zugewiesen, um den Puffer für die Schnittstellenkomponente entsprechend der Kommunikationsverlinkung mit der Peer-Netzwerkvorrichtung zu definieren. Beispielsweise werden die Konfigurationsparameter zugewiesen und angewendet, um eine Puffergröße für die mit der Kommunikationsverlinkung mit der Peer-Netzwerkvorrichtung assoziierten Schnittstellenkomponente festzulegen.
  • 7 illustriert ein Computersystem 700 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 700 ein System mit miteinander verbundenen Vorrichtungen und Komponenten, ein SOC oder eine Kombination davon sein. In mindestens einer Ausführungsform ist das Computersystem 700 mit einem Prozessor 702 ausgestattet, der Ausführungseinheiten zur Ausführung eines Befehls enthalten kann. In mindestens einer Ausführungsform kann das Computersystem 700 ohne Einschränkung eine Komponente wie den Prozessor 702 enthalten, um Ausführungseinheiten einschließlich Logik zur Durchführung von Algorithmen zur Verarbeitung von Daten einzusetzen. In mindestens einer Ausführungsform kann das Computersystem 700 Prozessoren wie die PENHUM®-Prozessorfamilie, XeonTM, Itaniume, XScaleTM und/oder StrongARMTM, Intel® Core™ oder Intel® Nervana™-Mikroprozessoren enthalten, die von der Intel Corporation in Santa Clara, Kalifornien, erhältlich sind, obwohl auch andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, technische Workstations, Set-Top-Boxen und dergleichen) verwendet werden können. In mindestens einer Ausführungsform kann das Computersystem 700 eine Version des Betriebssystems WINDOWS ausführen, das von der Microsoft Corporation in Redmond, Washington, erhältlich ist, obwohl auch andere Betriebssysteme (z.B. UNIX und Linux), eingebettete Software und/oder grafische Benutzeroberflächen verwendet werden können.
  • In mindestens einer Ausführungsform kann das Computersystem 700 in anderen Vorrichtungen wie in der Hand gehaltenen Vorrichtungen und eingebetteten Anwendungen eingesetzt werden. Einige Beispiele für in der Hand gehaltene Vorrichtungen sind Mobiltelefone, Internetprotokoll-Vorrichtungen, Digitalkameras, Personal Digital Assistants („PDAs“) und in der Hand gehaltene PCs. In mindestens einer Ausführungsform können eingebettete Anwendungen einen Mikrocontroller, einen Digitalsignalprozessor (DSP), ein SoC, Netzwerkcomputer („NetPCs“), Set-Top-Boxen, Netzwerk-Hubs, WAN-(Wide Area Network)-Switches oder jedes andere System umfassen, das einen oder mehrere Befehle ausführen kann. In einer Ausführungsform kann das Computersystem 700 in Vorrichtungen wie Grafikverarbeitungseinheiten (GPUs), Netzwerkadaptern, Zentraleinheiten und Netzwerkvorrichtungen wie Switches (z.B. eine schnelle direkte GPU-zu-GPU-Verbindung wie NVIDIA GH100 NVLINK oder NVIDIA Quantum 2 64 Ports InfiniBand NDR Switch) verwendet werden.
  • In mindestens einer Ausführungsform kann das Computersystem 700 ohne Einschränkung einen Prozessor 702 enthalten, der ohne Einschränkung eine oder mehrere Ausführungseinheiten 707 enthalten kann, die so konfiguriert sein können, dass sie ein CUDA-(Compute Unified Device Architecture)-Programm (CUDA® wird von der NVIDIA Corporation in Santa Clara, CA, entwickelt) ausführen. In mindestens einer Ausführungsform ist ein CUDA-Programm mindestens ein Teil einer Softwareanwendung, die in einer CUDA-Programmiersprache geschrieben wurde. In mindestens einer Ausführungsform ist das Computersystem 700 ein Einzelprozessor-Desktop- oder -Serversystem. In mindestens einer Ausführungsform kann das Computersystem 700 ein Multiprozessorsystem sein. In mindestens einer Ausführungsform kann der Prozessor 702, ohne Einschränkung, ein CISC-Mikroprozessor, ein RISC-Mikroprozessor, ein VLIW-Mikroprozessor, ein Prozessor, der eine Kombination von Befehlssätzen implementiert, oder eine beliebige andere Prozessorvorrichtung, wie z.B. ein Digitalsignalprozessor, sein. In mindestens einer Ausführungsform kann der Prozessor 702 mit einem Prozessorbus 710 gekoppelt sein, der Datensignale zwischen dem Prozessor 702 und anderen Komponenten im Computersystem 700 übertragen kann.
  • In mindestens einer Ausführungsform kann der Prozessor 702, ohne Einschränkung, einen internen Cache-Speicher („Cache“) 704 der Ebene 1 („L1“) enthalten. In mindestens einer Ausführungsform kann der Prozessor 702 einen einzigen internen Cache oder mehrere Ebenen von internem Cache haben. In mindestens einer Ausführungsform kann sich der Cache-Arbeitsspeicher außerhalb des Prozessors 702 befinden. In mindestens einer Ausführungsform kann der Prozessor 702 auch eine Kombination aus internen und externen Caches enthalten. In mindestens einer Ausführungsform kann eine Registerdatei 706 verschiedene Datentypen in verschiedenen Registern speichern, darunter, ohne Einschränkung, Ganzzahlregister, Gleitkommaregister, Statusregister und Befehlszeigerregister.
  • In mindestens einer Ausführungsform befindet sich die Ausführungseinheit 707, einschließlich, ohne Einschränkung, Logik zur Durchführung von Ganzzahl- und Gleitkommaoperationen, ebenfalls im Prozessor 702. Der Prozessor 702 kann auch einen Mikrocode-(„ucode“)-ROM (Read Only Memory) einschließen, der Mikrocode für bestimmte Makrobefehle speichert. In mindestens einer Ausführungsform kann die Ausführungseinheit 707 des Prozessors 702 Logik zur Handhabung eines gepackten Befehlssatzes 709 einschließen. In mindestens einer Ausführungsform können durch Einschließen des gepackten Befehlssatzes 709 in einen Befehlssatz eines Universalprozessors 702 zusammen mit assoziierter Schaltung zur Ausführung von Befehlen von vielen Multimedia-Anwendungen verwendete Operationen mittels gepackter Daten in einem Universalprozessor 702 durchgeführt werden. In mindestens einer Ausführungsform können viele Multimedia-Anwendungen beschleunigt und effizienter ausgeführt werden, indem die volle Breite eines Prozessordatenbusses für die Durchführung von Operationen an gepackten Daten genutzt wird, wodurch die Notwendigkeit entfällt, kleinere Dateneinheiten über den Prozessordatenbus zu übertragen, um eine oder mehrere Operationen an einem Datenelement nach dem anderen durchzuführen.
  • In mindestens einer Ausführungsform kann eine Ausführungseinheit auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikvorrichtungen, DSPs und anderen Arten von Logikschaltungen verwendet werden. In mindestens einer Ausführungsform kann das Computersystem 700, ohne Einschränkung, einen Arbeitsspeicher 720 enthalten. In mindestens einer Ausführungsform kann der Arbeitsspeicher 720 als DRAM-Vorrichtung, SRAM-Vorrichtung, Flash-Arbeitsspeichervorrichtung oder andere Arbeitsspeichervorrichtung implementiert sein. Der Arbeitsspeicher 720 kann Befehle 719 und/oder Daten 721 speichern, die durch Datensignale dargestellt werden, die vom Prozessor 702 ausgeführt werden können.
  • In mindestens einer Ausführungsform kann ein Systemlogikchip mit dem Prozessorbus 710 und dem Arbeitsspeicher 720 gekoppelt sein. In mindestens einer Ausführungsform kann der Systemlogikchip ohne Einschränkung einen MCH (Memory Controller Hub) 716 umfassen, und der Prozessor 702 kann über den Prozessorbus 710 mit dem MCH 716 kommunizieren. In mindestens einer Ausführungsform kann der MCH 716 einen Arbeitsspeicherpfad 718 mit hoher Bandbreite zum Arbeitsspeicher 720 für die Befehls- und Datenspeicherung sowie für die Speicherung von Grafikbefehlen, Daten und Texturen bereitstellen. In mindestens einer Ausführungsform kann der MCH 716 Datensignale zwischen dem Prozessor 702, dem Arbeitsspeicher 720 und anderen Komponenten im Computersystem 700 leiten und Datensignale zwischen dem Prozessorbus 710, dem Arbeitsspeicher 720 und einer System-E/A 722 überbrücken. In mindestens einer Ausführungsform kann ein Systemlogikchip einen Grafikport zum Koppeln mit einem Grafikcontroller bereitstellen. In mindestens einer Ausführungsform kann der MCH 716 mit dem Arbeitsspeicher 720 über einen Arbeitsspeicherpfad 718 mit hoher Bandbreite verbunden sein, und die Grafik-/Videokarte 712 kann mit dem MCH 716 über eine AGP-(Accelerated Graphics Port)-Verbindung 714 gekoppelt sein.
  • In mindestens einer Ausführungsform kann das Computersystem 700 System-E/A 722 verwenden, die ein proprietärer Hub-Schnittstellenbus ist, um MCH 716 mit ICH (I/O Controller Hub) 730 zu verbinden. In mindestens einer Ausführungsform kann der ICH 730 direkte Verbindungen zu einigen E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellen. In mindestens einer Ausführungsform kann ein lokaler E/A-Bus ohne Einschränkung einen schnellen E/A-Bus zum Verbinden von Peripheriegeräten mit dem Arbeitsspeicher 720, einem Chipsatz und dem Prozessor 702 umfassen. Beispiele sind, ohne Einschränkung, ein Audio-Controller 729, ein Firmware-Hub („Flash-BIOS“) 728, ein drahtloser Transceiver 726, ein Datenspeicher 724, ein Legacy-I/O-Controller 723 mit einer Benutzereingabeschnittstelle 725 und einer Tastaturschnittstelle, ein serieller Erweiterungsport 727, wie z.B. USB, und ein Netzwerk-Controller 734. Der Datenspeicher 724 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Arbeitsspeichervorrichtung oder eine andere Massenspeichervorrichtung umfassen. In einer Ausführungsform beinhaltet der drahtlose Transceiver 726 eine Puffermanagement-Komponente 712 (z.B. die Puffermanagement-Komponente 112, 212 und 312 der 1, 2 bzw. 3).
  • In mindestens einer Ausführungsform illustriert 7 ein System, das miteinander verbundene Hardware-Vorrichtungen oder „Chips“ enthält. In mindestens einer Ausführungsform kann 7 einen beispielhaften SoC darstellen. In mindestens einer Ausführungsform können die in 7 dargestellten Vorrichtungen mit proprietären Verbindungen, standardisierten Verbindungen (z.B. PCIe) oder einer Kombination davon verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten des Systems 700 über CXL-(Compute Express Link)-Verbindungen miteinander verbunden.
  • Andere Variationen sind im Sinne der vorliegenden Offenbarung. Während verschiedene Modifikationen und alternative Konstruktionen der offenbarten Techniken möglich sind, sind bestimmte illustrierte Ausführungsformen davon in den Zeichnungen gezeigt und wurden oben im Detail beschrieben. Es ist jedoch zu verstehen, dass die Offenbarung nicht auf (eine) bestimmte Form(en) beschränkt sein soll, sondern dass im Gegenteil beabsichtigt ist, alle Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in Wesen und Umfang der Offenbarung fallen, wie in den beigefügten Ansprüchen definiert.
  • Die Verwendung der Ausdrücke „ein/e“ und „die“ und ähnlicher Bezeichnungen im Kontext der Beschreibung offenbarter Ausführungsformen (insbesondere im Kontext der folgenden Ansprüche) ist so auszulegen, dass sie sowohl die Einzahl als auch die Mehrzahl umfasst, sofern hier nicht anders angegeben oder durch den Kontext eindeutig widerlegt, und nicht als Definition eines Begriffs. Die Begriffe „umfassend“, „mit“, „einschließlich“ und „enthaltend“ sind als offene Begriffe zu verstehen (d.h. „einschließlich, aber nicht beschränkt auf“), sofern nicht anders angegeben. Der Begriff „verbunden“ ist, wenn unverändert und auf physische Verbindungen bezogen, als teilweise oder ganz darin enthalten, daran angebracht oder zusammengefügt zu verstehen, auch wenn etwas dazwischen liegt. Angaben von Wertebereichen sollen lediglich als Abkürzungsmethode zum individuellen Verweisen auf jeden in den Bereich fallenden einzelnen Wert dienen, sofern hier nicht anders angegeben, und jeder einzelne Wert ist in der Spezifikation so eingeschlossen, als ob er hierin einzeln aufgeführt wäre. In mindestens einer Ausführungsform ist die Verwendung des Begriffs „Satz“ (z.B. „ein Satz von Gegenständen“) oder „Teilmenge“, sofern nicht anders angegeben oder durch den Kontext widerlegt, als eine nicht leere Sammlung zu verstehen, die ein oder mehrere Elemente umfasst. Ferner bezeichnet der Begriff „Teilmenge“ eines entsprechenden Satzes, sofern nicht anders vermerkt oder durch den Kontext widerlegt, nicht notwendigerweise eine echte Teilmenge des entsprechenden Satzes, sondern Teilmenge und entsprechender Satz können gleich sein.
  • Verbindende Ausdrücke, wie z.B. Satzteile der Form „mindestens eines von A, B, und C“ oder „mindestens eines von A, B und C“ werden, sofern nicht ausdrücklich anders angegeben oder anderweitig eindeutig durch den Kontext widerlegt, mit dem Kontext so verstanden, wie sie im Allgemeinen verwendet werden, um darzustellen, dass ein Gegenstand, Begriff usw. entweder A oder B oder C oder eine beliebige nicht leere Teilmenge des Satzes von A und B und C sein kann. Zum Beispiel, in einem illustrativen Beispiel für einen Satz mit drei Elementen beziehen sich die verbindenden Ausdrücke „mindestens eines von A, B, und C“ und „mindestens eines von A, B und C“ auf einen der folgenden Sätze: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Derartige verbindende Ausdrücke sollen also nicht generell bedeuten, dass bei bestimmten Ausführungsformen mindestens eines von A, mindestens eines von B und mindestens eines von C vorhanden sein muss. Sofern nicht anders vermerkt oder durch den Kontext widerlegt, gibt der Begriff „Mehrzahl“ einen Zustand der Pluralität an (z.B. verweist „eine Mehrzahl von Gegenständen“ auf mehrere Gegenstände). In mindestens einer Ausführungsform beträgt die Anzahl von Gegenständen in einer Mehrzahl mindestens zwei, kann aber auch höher sein, wenn dies entweder ausdrücklich oder durch den Kontext angezeigt wird. Ferner bedeutet, sofern nicht anders angegeben oder aus dem Kontext ersichtlich ist, die Formulierung „basierend auf“ „zumindest teilweise basierend auf“ und nicht „ausschließlich basierend auf“.
  • Operationen von hierin beschriebenen Prozessen können in jeder geeigneten Reihenfolge durchgeführt werden, sofern hier nicht anders angegeben oder durch den Kontext eindeutig widerlegt. In mindestens einer Ausführungsform wird ein Prozess wie die hier beschriebenen Prozesse (oder Variationen und/oder Kombinationen davon) unter der Kontrolle eines oder mehrerer Computersysteme durchgeführt, die mit ausführbaren Befehlen konfiguriert sind und als Code (z.B. ausführbare Befehle, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen) implementiert sind, die gemeinsam auf einem oder mehreren Prozessoren, durch Hardware oder Kombinationen davon ausgeführt werden. In mindestens einer Ausführungsform ist Code auf einem computerlesbaren Speichermedium gespeichert, z.B. in Form eines Computerprogramms, das mehrere Befehle umfasst, die von einem oder mehreren Prozessoren ausgeführt werden können. In mindestens einer Ausführungsform ist ein computerlesbares Speichermedium ein nichtflüchtiges computerlesbares Speichermedium, das transitorische Signale (z.B. eine sich ausbreitende transiente elektrische oder elektromagnetische Übertragung) ausschließt, aber nichtflüchtige Datenspeicherschaltungen (z.B. Puffer, Cache und Warteschlangen) innerhalb von Transceivern für transitorische Signale einschließt. In mindestens einer Ausführungsform ist Code (z.B. ausführbarer Code oder Quellcode) auf einem Satz von einem oder mehreren nichtflüchtigen, computerlesbaren Speichermedien gespeichert, auf denen ausführbare Befehle (oder anderer Arbeitsspeicher zum Speichern ausführbarer Befehle) gespeichert sind, die bei Ausführung (d.h. als Ergebnis der Ausführung) durch einen oder mehrere Prozessoren eines Computersystems bewirken, dass ein Computersystem hierin beschriebene Operationen durchführt. In mindestens einer Ausführungsform umfasst ein Satz von nichtflüchtigen, computerlesbaren Speichermedien mehrere nichtflüchtige, computerlesbare Speichermedien, und einem oder mehreren einzelnen nichtflüchtigen Speichermedien mehrerer nichtflüchtiger, computerlesbarer Speichermedien fehlt der gesamte Code, während mehrere nichtflüchtige, computerlesbare Speichermedien gemeinsam den gesamten Code speichern. In mindestens einer Ausführungsform werden ausführbare Befehle so ausgeführt, dass verschiedene Befehle von verschiedenen Prozessoren ausgeführt werden.
  • Demgemäß sind in mindestens einer Ausführungsform Computersysteme so konfiguriert, dass sie einen oder mehrere Dienste implementieren, die einzeln oder gemeinsam Operationen von hierin beschriebenen Prozessen durchführen, und solche Computersysteme sind mit anwendbarer Hardware und/oder Software konfiguriert, die die Durchführung von Operationen ermöglichen. Ferner ist ein Computersystem, das mindestens eine Ausführungsform der vorliegenden Offenbarung implementiert, eine einzelne Vorrichtung, und in einer anderen Ausführungsform ist es ein verteiltes Computersystem mit mehreren Vorrichtungen, die unterschiedlich arbeiten, so dass das verteilte Computersystem die hierin beschriebenen Operationen durchführt, und so, dass eine einzelne Vorrichtung nicht alle Operationen durchführt.
  • Die Verwendung beliebiger und aller hier gegebener Beispiele oder beispielhaften Ausdrücke (z.B. „wie“) dient lediglich der besseren Veranschaulichung von Ausführungsformen der Offenbarung und stellt keine Beschränkung des Umfangs der Offenbarung dar, sofern nichts anderes beansprucht wird. Keine Formulierung in der Spezifikation ist so auszulegen, dass sie ein nicht beanspruchtes Element als wesentlich für die Praxis der Offenbarung bezeichnet.
  • Alle hier zitierten Referenzen, einschließlich Veröffentlichungen, Patentanmeldungen und Patente, sind hiermit durch Bezugnahme im selben Umfang einbezogen, als ob jede Referenz einzeln und ausdrücklich als durch Bezugnahme einbezogen angegeben wäre und in ihrer Gesamtheit hierin dargelegt würde.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt“ und „verbunden“ sowie ihre Ableitungen verwendet werden. Es ist zu verstehen, dass diese Begriffe nicht als Synonyme füreinander beabsichtigt sind. Vielmehr kann in bestimmten Beispielen „verbunden“ oder „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem oder indirektem physischem oder elektrischem Kontakt miteinander sind. „Gekoppelt“ kann auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander sind, aber dennoch miteinander kooperieren oder interagieren.
  • Man wird verstehen, dass sich, sofern nicht ausdrücklich anders angegeben, Begriffe wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ und dergleichen in der gesamten Spezifikation auf Aktionen und/oder Prozesse eines Computers oder Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die als physikalische, z.B. elektronische, Größen in den Registern und/oder Arbeitsspeichern des Rechensystems dargestellte Daten manipulieren und/oder in andere Daten umwandeln, die in ähnlicher Weise als physikalische Größen in den Arbeitsspeichern, Registern oder anderen Informationsspeicher-, -übertragungs- oder -anzeigevorrichtungen des Rechensystems dargestellt werden.
  • In ähnlicher Weise kann sich der Begriff „Prozessor“ auf eine beliebige Vorrichtung oder einen Teil einer Vorrichtung beziehen, die elektronische Daten aus Registern und/oder Arbeitsspeichern verarbeitet und diese elektronischen Daten in andere elektronische Daten umwandelt, die in Registern und/oder Arbeitsspeichern gespeichert werden können. Als nicht einschränkendes Beispiel, ein „Prozessor“ kann eine Netzwerkvorrichtung oder eine MACsec-Vorrichtung sein. Eine „Rechenplattform“ kann einen oder mehrere Prozessoren umfassen. Der hier verwendete Begriff „Software“-Prozesse kann z.B. Software- und/oder Hardware-Einheiten umfassen, die im Laufe der Zeit Arbeit verrichten, wie z.B. Tasks, Threads und intelligente Agenten. Jeder Prozess kann sich auch auf mehrere Prozesse beziehen, um Befehle nacheinander oder parallel, kontinuierlich oder intermittierend auszuführen. In mindestens einer Ausführungsform werden die Begriffe „System“ und „Methode“ hier austauschbar verwendet, da das System eine oder mehrere Methoden umfassen kann und die Methoden als ein System betrachtet werden können.
  • Das vorliegende Dokument kann Verweise auf das Erhalten, Erfassen, Empfangen oder Eingeben von analogen oder digitalen Daten in ein Subsystem, Computersystem oder eine computerimplementierte Maschine enthalten. In mindestens einer Ausführungsform kann der Prozess des Erhaltens, Erfassens, Empfangens oder Eingebens analoger und digitaler Daten auf verschiedene Weise erfolgen, z.B. durch Empfangen von Daten als Parameter eines Funktionsaufrufs oder eines Aufrufs an eine Anwendungsprogrammierschnittstelle. In mindestens einer Ausführungsform können Prozesse des Erhaltens, Erfassens, Empfangens oder Eingebens analoger oder digitaler Daten durch Übertragen von Daten über eine serielle oder parallele Schnittstelle durchgeführt werden. In mindestens einer Ausführungsform können Prozesse des Erhaltens, Erfassens, Empfangens oder Eingebens analoger oder digitaler Daten durch Übertragen von Daten über ein Computernetz von der bereitstellenden Einheit zur erfassenden Einheit durchgeführt werden. In mindestens einer Ausführungsform kann auch auf Bereitstellen, Ausgeben, Übertragen, Senden oder Präsentieren analoger oder digitaler Daten verwiesen werden. In verschiedenen Beispielen können Prozesse des Bereitstellens, Ausgebens, Übertragens, Sendens oder Präsentierens analoger oder digitaler Daten durch Übertragen von Daten als Ein- oder Ausgabeparameter eines Funktionsaufrufs, eines Parameters einer Anwendungsprogrammierschnittstelle oder eines Interprozess-Kommunikationsmechanismus durchgeführt werden.
  • Die hierin enthaltenen Beschreibungen stellen zwar beispielhafte Ausführungsformen beschriebener Techniken dar, aber es können auch andere Architekturen zum Implementieren beschriebener Funktionalität verwendet werden, die in den Rahmen der vorliegenden Offenbarung fallen sollen. Ferner können, obwohl oben spezifische Verteilungen von Verantwortlichkeiten zu Beschreibungszwecken definiert sind, verschiedene Funktionen und Verantwortlichkeiten je nach Umständen auf unterschiedliche Weise verteilt und aufgeteilt werden.
  • Ferner wurde zwar der Gegenstand in einer für strukturelle Merkmale und/oder methodische Handlungen spezifischen Sprache beschrieben, aber es ist zu verstehen, dass in den beigefügten Ansprüchen beanspruchter Gegenstand nicht unbedingt auf die beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden spezifische Merkmale und Handlungen als beispielhafte Formen der Umsetzung der Ansprüche offenbart.
  • Man wird verstehen, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass Änderungen im Detail im Rahmen der Ansprüche möglich sind.
  • Jede(s) in der Beschreibung und (ggf.) in den Ansprüchen und Zeichnungen offenbarte(s) Vorrichtung, Verfahren und Merkmal kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • In den Ansprüchen verwendete Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (20)

  1. Netzwerkvorrichtung, die Folgendes umfasst: eine erste Datenstruktur, die einen Satz von Pufferprofiltypen speichert, wobei jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert ist; eine zweite Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen speichert, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satzes von Pufferprofiltypen assoziiert ist; und eine Verarbeitungsvorrichtung zum Ausführen einer Pufferverwaltungsanwendung zum: Empfangen von ersten Daten, die mit einer ersten Peer-Netzwerkvorrichtung assoziiert sind, die über eine erste Verlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Feststellen, ob die ersten Daten mit einer in der zweiten Datenstruktur gespeicherten ersten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines ersten Pufferprofiltyps zu der Schnittstellenkomponente der Netzwerkvorrichtung, wobei der erste Pufferprofiltyp mit der ersten Peer-Vorrichtungskennung in der zweiten Datenstruktur assoziiert ist.
  2. Netzwerkvorrichtung nach Anspruch 1, wobei die ein oder mehreren Konfigurationsparameter mindestens eines von einem minimalen garantierten Schwellenlevel, einem Shared-Modustyp, einer Endpunktpuffer-Obergrenze und einer Endpunktpuffer-Untergrenze umfassen.
  3. Netzwerkvorrichtung nach Anspruch 1 oder 2, wobei die Schnittstellenkomponente mindestens eines von einem Port, einer Warteschlange und einer Prioritätsgruppe umfasst.
  4. Netzwerkvorrichtung nach Anspruch 1, 2 oder 3, wobei die Puffermanagement-Anwendung ferner dient zum: Identifizieren, anhand der ersten Datenstruktur, eines ersten Satzes von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern; und Konfigurieren der Schnittstellenkomponente gemäß dem ersten Satz von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern.
  5. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei der Satz von Peer-Vorrichtungskennungen eine mit einem LLDP (Link Layer Discovery Protocol) assoziierte Kennung entsprechend der ersten Verlinkung zwischen der Netzwerkvorrichtung und der ersten Peer-Netzwerkvorrichtung umfasst.
  6. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei die Verarbeitungsvorrichtung eine Verlinkungsmanagement-Awendung ausführt zum: Erkennen der ersten Peer-Netzwerkvorrichtung, die mit der Netzwerkvorrichtung über die erste Verlinkung gekoppelt ist; Identifizieren der mit der ersten Peer-Netzwerkvorrichtung assoziierten ersten Daten; und Versorgen der Puffermanagement-Anwendung mit den ersten Daten.
  7. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei der Satz von Peer-Vorrichtungskennungen eine oder mehrere benutzerdefinierte Kennungen umfasst.
  8. Netzwerkvorrichtung nach Anspruch 7, wobei die ein oder mehreren benutzerdefinierten Kennungen einen Netzwerkvorrichtungstyp umfassen.
  9. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei die Puffermanagement-Anwendung einen ersten Nachschlagvorgang anhand der zweiten Datenstruktur durchführt, um den Satz von Peer-Vorrichtungskennungen zu durchsuchen, um eine Übereinstimmung zwischen den ersten Daten und der ersten Peer-Vorrichtungskennung zu identifizieren.
  10. Netzwerkvorrichtung nach Anspruch 9, wobei die Puffermanagement-Anwendung einen zweiten Nachschlagvorgang durchführt, wobei der zweite Nachschlagvorgang die erste Datenstruktur zum Identifizieren eines ersten Satzes von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern verwendet.
  11. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei die zweite Datenstruktur einen ersten Satz von Feldern umfasst, der den Satz von Peer-Vorrichtungskennungen umfasst, die mit einem zweiten Satz von Feldern assoziiert sind, der den Satz von Pufferprofiltypen umfasst.
  12. Netzwerkvorrichtung nach einem vorherigen Anspruch, wobei die Puffermanagement-Anwendung dient zum: Empfangen von zweiten Daten, die mit einer zweiten Peer-Netzwerkvorrichtung assoziiert sind, die über eine zweite Verlinkung mit der Netzwerkvorrichtung gekoppelt ist; Feststellen, dass die zweiten Daten mit einer in der zweiten Datenstruktur gespeicherten zweiten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines zweiten Pufferprofiltyps zu einer zweiten Schnittstellenkomponente der Netzwerkvorrichtung, wobei der zweite Pufferprofiltyp der zweiten Peer-Vorrichtungskennung in der zweiten Datenstruktur entspricht.
  13. Verfahren, das Folgendes beinhaltet: Speichern einer ersten Datenstruktur, die einen Satz von Pufferprofiltypen umfasst, wobei jeder Pufferprofiltyp mit einem oder mehreren Konfigurationsparametern assoziiert ist; Speichern einer zweiten Datenstruktur, die einen Satz von Peer-Vorrichtungskennungen umfasst, wobei jede Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp des Satzes von Pufferprofiltypen assoziiert ist; Erkennen, durch eine Verarbeitungsvorrichtung einer Netzwerkvorrichtung, einer ersten Peer-Netzwerkvorrichtung, die über eine erste Verlinkung mit einer ersten Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Identifizieren von mit der ersten Peer-Netzwerkvorrichtung assoziierten ersten Daten; Feststellen, ob die ersten Daten mit einer ersten Peer-Vorrichtungskennung des Satzes von Peer-Vorrichtungskennungen in der zweiten Datenstruktur übereinstimmen; Bestimmen, anhand der ersten Datenstruktur, eines ersten Satzes von Konfigurationsparametern entsprechend einem ersten Pufferprofiltyp, der mit der ersten Peer-Vorrichtungskennung assoziiert ist; und Zuweisen des ersten Satzes von Konfigurationsparametern des ersten Pufferprofiltyps zu der ersten Schnittstellenkomponente der Netzwerkvorrichtung.
  14. Verfahren nach Anspruch 13, das ferner Folgendes beinhaltet: Konfigurieren der ersten Schnittstellenkomponente der Netzwerkvorrichtung gemäß dem ersten Satz von Konfigurationsparametern.
  15. Verfahren nach Anspruch 13 oder 14, das ferner Folgendes beinhaltet: Entdecken der ersten Peer-Netzwerkvorrichtung, die mit der Netzwerkvorrichtung über die erste Verlinkung gekoppelt ist.
  16. Verfahren nach Anspruch 13, 14 oder 15, das ferner Folgendes beinhaltet: Durchsuchen mindestens eines Teils des Satzes von Peer-Vorrichtungskennungen der zweiten Datenstruktur, um eine Übereinstimmung zwischen den ersten Daten und der ersten Peer-Vorrichtungskennung zu identifizieren.
  17. Verfahren nach einem der Ansprüche 13 bis 16, das ferner Folgendes beinhaltet: Durchsuchen mindestens eines Teils des Satzes von Pufferprofiltypen der ersten Datenstruktur, um einen ersten Satz von mit dem ersten Pufferprofiltyp assoziierten Konfigurationsparametern zu identifizieren.
  18. Verfahren nach einem der Ansprüche 13 bis 17, das ferner Folgendes beinhaltet: Entdecken einer zweiten Peer-Netzwerkvorrichtung, die über eine zweite Verlinkung mit einer zweiten Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Identifizieren von mit der zweiten Peer-Netzwerkvorrichtung assoziierten zweiten Daten; Feststellen, ob die zweiten Daten mit einer zweiten Peer-Vorrichtungskennung aus dem Satz von Peer-Vorrichtungskennungen in der zweiten Datenstruktur übereinstimmen; Bestimmen, anhand der ersten Datenstruktur, eines zweiten Satzes von Konfigurationsparametern entsprechend einem mit der zweiten Peer-Vorrichtungskennung assoziierten zweiten Pufferprofiltyp; und Zuweisen des zweiten Satzes von Konfigurationsparametern des zweiten Pufferprofiltyps zu der zweiten Schnittstellenkomponente der Netzwerkvorrichtung.
  19. Verfahren nach Anspruch 18, das ferner Folgendes beinhaltet: Konfigurieren der zweiten Schnittstellenkomponente der Netzwerkvorrichtung gemäß dem zweiten Satz von Konfigurationsparametern.
  20. Netzwerkvorrichtung, die Folgendes umfasst: mehrere Schnittstellenkomponenten; eine Datenstruktur, die jede Peer-Vorrichtungskennung aus einem Satz von Peer-Vorrichtungskennungen mit einem Pufferprofiltyp aus einem Satz von Pufferprofiltypen assoziiert; und eine Verarbeitungsvorrichtung, die mit den mehreren Schnittstellenkomponenten gekoppelt ist, wobei die Verarbeitungsvorrichtung eine Puffermanagement-Anwendung ausführen soll zum: Empfangen erster Daten, die mit einer ersten Peer-Netzwerkvorrichtung assoziiert sind, die über eine erste Verlinkung mit einer Schnittstellenkomponente der Netzwerkvorrichtung gekoppelt ist; Feststellen, ob die ersten Daten mit einer in der zweiten Datenstruktur gespeichertem ersten Peer-Vorrichtungskennung übereinstimmen; und Zuweisen eines ersten Pufferprofiltyps zu der Schnittstellenkomponente der Netzwerkvorrichtung, wobei der erste Pufferprofiltyp mit der ersten Peer-Vorrichtungskennung assoziiert ist.
DE102023200540.9A 2022-01-26 2023-01-24 Pufferprofilzuweisungsmanagement auf der basis von peer-netzwerkvorrichtungsdaten Pending DE102023200540A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/585,196 2022-01-26
US17/585,196 US11706293B1 (en) 2022-01-26 2022-01-26 Buffer profile assignment management based on peer network device data

Publications (1)

Publication Number Publication Date
DE102023200540A1 true DE102023200540A1 (de) 2023-07-27

Family

ID=87068529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023200540.9A Pending DE102023200540A1 (de) 2022-01-26 2023-01-24 Pufferprofilzuweisungsmanagement auf der basis von peer-netzwerkvorrichtungsdaten

Country Status (3)

Country Link
US (1) US11706293B1 (de)
CN (1) CN116506382A (de)
DE (1) DE102023200540A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825767B2 (en) * 2010-10-05 2014-09-02 Sivapathalingham Sivavakeesar Scalable secure wireless interaction enabling methods, system and framework
US8577018B1 (en) * 2011-03-18 2013-11-05 Shoretel, Inc. Systems and methods for providing agent queues

Also Published As

Publication number Publication date
US20230239346A1 (en) 2023-07-27
CN116506382A (zh) 2023-07-28
US11706293B1 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
DE112013000752B4 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE102015102871B4 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE112016005536T5 (de) Bestimmen von reihenfolgen einer ausführung eines neuronalen netzes
DE112012005030T5 (de) Dynamisch konfigurierbare Platzierungs-Engine
DE112020002501T5 (de) System und verfahren zur erleichterung eines effizienten lastausgleichs in einer netzwerkschnittstellensteuerung (nic)
DE102018214776A1 (de) Technologien für die Verwaltung von Netz-Statistik-Zählern
DE112012006642B4 (de) Bandbreitengarantie und Arbeitskonservierung
DE112017003703T5 (de) Technologien zum Verwalten der Zuweisung von Beschleunigerressourcen
DE602004011890T2 (de) Verfahren zur Neuverteilung von Objekten an Recheneinheiten
DE102016103492B4 (de) Datenverarbeitungsvorrichtung und Verfahren zum Überwachen von Netzwerkverkehr und Maschinenlesbares Speichermedium
DE202015009298U1 (de) Dynamische Anpassung von Shard-Zuweisungen
DE102015108145A1 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE112017003294T5 (de) Technologien für ein skalierbares Senden und Empfangen von Paketen
DE112010004006T5 (de) Zuverlässige kommunikationen in chipintegrierten netzwerken
DE112011100392T5 (de) Ressourcenaffinität durch dynamisches hinzufügen oder entfernen von warteschlangenpaaren für netzadapter mit software zur empfangsseitigen skalierung (rss)
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE202014010940U1 (de) Dynamische Shuffle-Rekonfiguration
DE112013001904T5 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE112011103498T5 (de) Verhaltensgestützte Client-Auswahl für unterschiedliche Behandlung
DE112005000705B4 (de) Konfiguration von Umleitungstabellen
DE202014010924U1 (de) Nichtflüchtiges Shuffle-System
DE102012206283A1 (de) Verteilung des Datenflusses auf mehrere Pfade (Multi-Pathing) in einem Speicherbereichsnetzwerk
DE102010044531A1 (de) Autonome Speicherarchitektur
DE112016006705T5 (de) Verfahren zur Bereitstellung von Betriebsinformationen für ein Netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed