DE112021006554T5 - Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern - Google Patents

Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern Download PDF

Info

Publication number
DE112021006554T5
DE112021006554T5 DE112021006554.8T DE112021006554T DE112021006554T5 DE 112021006554 T5 DE112021006554 T5 DE 112021006554T5 DE 112021006554 T DE112021006554 T DE 112021006554T DE 112021006554 T5 DE112021006554 T5 DE 112021006554T5
Authority
DE
Germany
Prior art keywords
data
smart
smart nic
network
policy
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
DE112021006554.8T
Other languages
English (en)
Inventor
Arun Rajagopal
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.)
Reliance Jio Infocomm USA Inc
Original Assignee
Reliance Jio Infocomm USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Reliance Jio Infocomm USA Inc filed Critical Reliance Jio Infocomm USA Inc
Publication of DE112021006554T5 publication Critical patent/DE112021006554T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein System zum Verarbeiten von Daten, mit einem Rechenknoten mit einem ersten Prozessor, der ausgebildet ist zum Empfangen einer digitalen Datennachricht, die eine Anforderung von Rechendiensten enthält, und zum Zuweisen von Verarbeitungsressourcen auf einem Netz als eine Funktion der Anforderung. Ein Smart-Network-Interface-Controller (NIC) mit einem zweiten Prozessor, der ausgebildet ist zur Verbindung mit dem Netz und zum Senden und Empfangen von Daten über das Netz in Verbindung mit den Rechendiensten als eine Funktion einer oder mehrerer Vorschriften. Das Smart-NIC, das ausgebildet ist zum Empfangen von Vorschriftenaktualisierungsdaten und zum Implementieren der Vorschriftenaktualisierungsdaten und zum Verarbeiten der Daten, die über das Netz gesendet und empfangen werden, gemäß den Vorschriftendaten.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft allgemein Datenverarbeitung, insbesondere eine Architektur für Hochleistungsdatenebenenanwendungen mit Smart-Network-Interface-Controllern (NICs) auf Rechenservern.
  • HINTERGRUND DER ERFINDUNG
  • Datennetze können ein Gateway mit einer Netzadressenübersetzungstabelle zum Leiten von Daten zu Adressen auf einem privaten Netz verwenden, diese Netzadressenübersetzungstabellen sind jedoch allgemein nicht spezifischen Prozessen zugewiesen, sondern werden für den gesamten privaten Netzdatenverkehr über ein öffentliches Netz verwendet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein System zum Verarbeiten von Daten wird offenbart, das einen Rechenknoten aufweist, der einen ersten Prozessor, der zum Empfangen einer digitalen Datennachricht, die eine Anforderung von Rechendiensten enthält, und zum Zuweisen von Verarbeitungsressourcen auf einem Netz als eine Funktion der Anforderung ausgebildet ist, aufweist. Ein Smart-NIC mit einem zweiten Prozessor ist ausgebildet zur Verbindung mit dem Netz und zum Senden und Empfangen von Daten über das Netz in Zusammenhang mit den Rechendiensten als eine Funktion einer oder mehrere Vorschriften. Das Smart-NIC ist dazu ausgebildet, Vorschriftenaktualisierungsdaten zu empfangen, die Vorschriftenaktualisierungsdaten zu implementieren und die Daten, die über das Netz gesendet und empfangen werden, gemäß den Vorschriftendaten zu verarbeiten.
  • Andere Systeme, Verfahren, Merkmale und Vorteile der vorliegenden Offenbarung werden für einen Fachmann bei einem Studium der folgenden Zeichnungen und detaillierten Beschreibung offensichtlich werden. Alle diese zusätzlichen Systeme, Verfahren, Merkmale und Vorteile sollen in dieser Beschreibung enthalten sein, in dem Schutzbereich der vorliegenden Offenbarung liegen und durch die beigefügten Ansprüche geschützt werden.
  • KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
  • Aspekte der Offenbarung können unter Bezugnahme auf die beigefügten Zeichnungen besser verstanden werden. Die Komponenten in den Zeichnungen können maßstabsgetreu sein, es wird aber verstärkt Wert darauf gelegt, die Prinzipien der vorliegenden Offenbarung klar darzustellen. Darüber hinaus geben in den Zeichnungen dieselben Bezugszeichen in den mehreren Ansichten entsprechende Teile an. Es zeigen:
    • 1 ein Diagramm eines Systems zum Bereitstellen einer intelligenten Datenebenenbeschleunigung durch Auslagern von Anwendungen zu verteilten Smart-Network-Interfaces gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 2 ein Diagramm eines Algorithmus zum Bereitstellen von 5G-Benutzerebenenvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 3 ein Diagramm eines Algorithmus zum Bereitstellen von Routersystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 4 ein Diagramm eines Algorithmus zum Bereitstellen von Gatewaysystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 5 ein Diagramm eines Algorithmus zum Bereitstellen von NAT-Systemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 6 ein Diagramm eines Algorithmus zum Bereitstellen von Testsystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 7 ein Diagramm eines Algorithmus zum Bereitstellen von QOS-Systemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 8 ein Diagramm eines Algorithmus zum Bereitstellen von Filtersystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
    • 9 ein Diagramm eines Algorithmus zum Bereitstellen von Verkapselungsvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung; und
    • 10 ein Diagramm eines Algorithmus zum Bereitstellen von Queueingsystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In der folgenden Beschreibung werden ebenso wie in den Figuren durchweg dieselben Bezugszeichen für dieselben Teile verwendet. Die Zeichnungen können maßstabsgetreu sein, und bestimmte Komponenten können in einer allgemeinen oder schematischen Form gezeigt sein und durch konventionelle Angaben identifiziert werden, um für Klarheit und Übersichtlichkeit zu sorgen.
  • Datenebenenanwendungen, die auf Rechenservern laufen, sind aufgrund von Verarbeitungsverzögerungen in Zusammenhang mit einer Verarbeitung all der Datenpakete für den Rechenserver durch die allgemeine zentrale Verarbeitungseinheit (CPU) des Rechenservers hinsichtlich der Eingabe/Ausgabe (I/O) begrenzt. Ein Durchsatz von Anwendungsdaten kann durch Auslagern bestimmter Paketverarbeitungsschritte auf ein Smart-NIC signifikant verbessert werden, so dass die Notwendigkeit, die meisten Pakete von dem NIC zu der CPU weiterzugeben und zurückzuerhalten, eliminiert wird. Es ist eine Kombination aus einer Paketverarbeitung mit hohem Durchsatz auf Smart-NICs und intelligenten Anwendungsarchitekturen, die auf der CPU laufen, ist offenbart, die eine signifikante Beschleunigung für Datenebenenanwendungen und eine Verbesserung einer Netzleistung in Verbindung mit zugehörigen Effizienzsteigerungen bereitstellen kann.
  • Beispielsweise können Telefongesellschaftsdatenebenenanwendungen zum Nutzen von Smart-NIC-Fähigkeiten neu strukturiert werden. Anwendungskomponenten, die auf der CPU laufen, können die Anwendungslogik ausführen und intelligente Vorschriften erzeugen, die zu jedem Smart-NIC geliefert werden, das diese benötigt, durch speziell definierte Programmierschnittstellen. Wenn ein Paket bei dem NIC von dem Netz ankommt, kann das NIC (das durch die CPU dynamisch programmiert wurde) die Paketdaten anstelle der CPU verarbeiten. Wie hierin offenbart, ermöglicht diese Architektur, dass ein Smart-NIC zum Durchführen der notwendigen Paketbehandlung und Zurückgeben des Pakets zu dem Netz mit Geschwindigkeiten ausgebildet werden kann, die viel höher sind als in dem Fall, in dem das Paket durch die CPU mit traditionellen Pakethandhabungsarchitekturen gehandhabt wird.
  • 1 ist ein Diagramm eines Systems 100 zum Bereitstellen einer intelligenten Datenebenenbeschleunigung durch Auslagern von Anwendungen zu verteilten Smart-Network-Interfaces gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Das System 100 weist ein Smart-NIC-Verwaltungssystem 102, ein Smart-NIC-Registrierungssystem 104, ein Smart-NIC-Verzeichnissystem 106, ein Smart-NIC-Zuweisungssystem 108, Smart-NICs 110A bis 110N, eine Cloud 112, eine CPU 114, ein NIC-Schnittstellensystem 116, ein 5G-Benutzerebenensystem 118, ein Routersystem 120, ein Gatewaysystem 122, ein Netzadressentabellen (NAT)-System 124, ein Testsystem 126, ein Dienstqualität (QOS)-System 128, ein Filtersystem 130, ein Verkapselungssystem 132, ein Queueingsystem 134, ein NIC-Vorschriftensystem 136, Vorschriftenschnittstellensysteme 138A bis 138N und Vorschriftenverarbeitungssysteme 140A bis 140N auf, die jeweils durch Hardware oder durch eine geeignete Kombination aus Hardware und Software implementiert sein können.
  • Das Smart-NIC-Verwaltungssystem 102 kann als eine oder mehrere Codezeilen implementiert sein, die in einen Speicher eines Prozessors geladen sind und bewirken, dass der Prozessor Verwaltungsfunktionen für mehrere Smart-NICs in einem cloudbasierten Rechensystem oder anderen geeigneten Systemen durchführt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC-Verwaltungssystem 102 mehrere Untersysteme aufweisen, oder es kann eine oder mehrere Funktionen in Zusammenhang mit einer Identifizierung von Smart-NIC-Systemen, die zur Verwendung in einer Cloud-Rechenumgebung oder anderen geeigneten Rechenumgebungen verfügbar sind, und einem Instanziieren und Bereitstellen der Smart-NIC-Systeme als eine Funktion der spezifischen Dienste, die benötigt werden, direkt implementieren. Bei dieser beispielhaften Ausführungsform kann das Smart-NIC-Verwaltungssystem 102 als Teil einer Cloud-Rechenumgebung, eines Local-Area-Networks, eines Wide-Area-Networks oder einer anderen geeigneten Rechenumgebung implementiert sein und mit Smart-NIC-Vorrichtungen, die der Rechenumgebung zugeordnet sind, beispielsweise Smart-NIC-Vorrichtungen, die einem Smart-NIC-Serverrack zugeordnet sind, mit individuellen Verarbeitungsplattformen in der Rechenumgebung oder auf andere geeignete Weisen eine Schnittstelle aufweisen.
  • Das Smart-NIC-Registrierungssystem 104 kann als eine oder mehrere Codezeilen implementiert sein, die in einen Speicher eines Prozessors geladen sind und bewirken, dass der Prozessor die Registrierungsfunktion für mehrere Smart-NIC-Vorrichtungen durchführt. Bei einer beispielhaften Ausführungsform kann die Smart-NIC-Registrierung eine Identifizierung von aktiven Smart-NIC-Vorrichtungen, eine Korrelation zwischen einer IP-Adresse für die aktiven Smart-NIC-Vorrichtungen und einer Netzadresse für Vorrichtungen auf dem Netz oder andere geeignete Registrierungsinformationen aufweisen, wobei das Smart-NIC-Registrierungssystem 104 zugehörige Registrierungsdatenaufzeichnungen, die in einer Datenspeichervorrichtung gespeichert werden, erzeugen, lesen, speichern, modifizieren oder anderweitig funktional mit diesen interagieren kann. Die Vorrichtungen auf dem Netz können Hardwarevorrichtungen, Hardwarevorrichtungen mit einer zugehörigen Firmware oder anderen geeigneten Steuerdaten, Container, virtuelle Maschinen oder andere geeignete funktionale Komponenten aufweisen.
  • Das Smart-NIC-Verzeichnissystem 106 kann als eine oder mehrere Codezeilen, die in einen Speicher des Prozessors geladen sind und bewirken, dass der Prozessor Verzeichnisfunktionen für mehrere Smart-NIC-Vorrichtungen durchführt, implementiert sein. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Verzeichnis eine Identifizierung von aktiven Smart-NIC-Vorrichtungen und nicht-aktiven Smart-NIC-Vorrichtungen, eine Identifizierung eines Orts von Smart-NIC-Vorrichtungen, eine Identifizierung von funktionalen Fähigkeiten von Smart-NIC-Vorrichtungen und andere geeignete Verzeichnisinformationen aufweisen, wobei das Smart-NIC-Verzeichnissystem 106 Smart-NIC-Verzeichnisdatenaufzeichnungen, die in einer Datenspeichervorrichtung gespeichert werden, erzeugen, lesen, speichern, modifizieren oder anderweitig mit diesen funktional interagieren kann.
  • Das Smart-NIC-Zuweisungssystem 108 kann als eine oder mehrere Codezeilen, die in einen Speicher des Prozessors geladen sind und bewirken, dass der Prozessor die Funktion zum Zuweisen eines Smart-NIC zu einer Vorrichtung auf dem Netz durchführt, implementiert sein. Bei einer beispielhaften Ausführungsform kann das Smart-NIC-Zuweisungssystem 108 die Funktionalität eines zugewiesenen Smart-NIC überwachen, um zu bestimmen, ob es notwendig ist, einer Vorrichtung ein neues Smart-NIC zuzuweisen, um eine Zuweisung zugewiesener Vorrichtungen von einem Smart-NIC aufzuheben, wenn die Vorrichtung heruntergefahren wird oder aus anderen Gründen keinen Smart-NIC-Zugang mehr benötigt, und um andere geeignete Funktionen durchzuführen. Das Smart-NIC-Zuweisungssystem 108 kann Smart-NIC-Zuweisungsdatenaufzeichnungen, die in einer Datenspeichervorrichtung gespeichert werden, erzeugen, lesen, speichern, modifizieren oder anderweitig funktional mit diesen interagieren.
  • Die Smart-NICs 110A bis 110N können als eine oder mehrere Codezeilen implementiert sein, die in einen Speicher eines Prozessors geladen sind und bewirken, dass der Prozessor spezifische Aufgaben durchführt, die dem zugehörigen Smart-NIC zugewiesen sind. Bei einer beispielhaften Ausführungsform kann die Cloud 112 unter Verwendung von Smart-NICs 110A bis 110N implementiert sein, so dass die der Cloud 112 zugeordneten Netzschnittstellenfunktionen durch das Smart-NIC-Verwaltungssystem 102 oder eine andere geeignete Cloud-Netzschnittstellenverwaltungsfunktion einem oder mehreren der Smart-NICs 110A bis 110N zugewiesen werden. Die Smart-NICs 110A bis 110N können bei Bedarf zur Unterstützung einer Anforderung von Netzschnittstellenfunktionalität instanziiert werden und zum Aufrechterhalten von ausreichend Netzschnittstellenressourcen für einen aktuellen und einen erwarteten Lastpegel zugewiesen oder neu zugewiesen werden. Bei einer beispielhaften Ausführungsform können die Smart-NICs 110A bis 110N unabhängig von der Cloud 112 funktionieren und Teil eines Local-Area-Networks, eines Wide-Area-Networks oder anderer Netzarchitekturen sein, die in Verbindung mit dem Smart-NIC-Verwaltungssystem 102 und zugehörigen Systemen und Untersystemen verwendet werden können.
  • Die Cloud 112 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und bewirken, dass die Prozessoren eine verteilte Datenverarbeitung und Rechenfunktionen durchführen. Bei einer beispielhaften Ausführungsform kann die Cloud 112 in Verbindung mit den anderen Komponenten des Systems 100 als Teil einer integrierten und verteilten Verarbeitungsplattform implementiert sein, oder sie kann mit zusätzlichen Vorrichtungen oder Verarbeitungselementen, mit Klassen von unterschiedlichen Vorrichtungen oder Verarbeitungselementen oder auf andere geeignete Weisen verwendet werden.
  • Die CPU 114 kann als eine oder mehrere Codezeilen implementiert sein, die in einen Speicher eines Prozessors geladen sind und bewirken, dass der Prozessor spezifische Aufgaben durchführt, die dem Prozessor zugewiesen sind. Bei einer beispielhaften Ausführungsform kann die CPU 114 derart implementiert sein, dass die der Cloud 112 zugeordneten Funktionen durch die CPU 114 zugewiesen werden. Bei einer anderen beispielhaften Ausführungsform kann die CPU 114 unabhängig von der Cloud 112 funktionieren und Teil eines Local-Area-Networks, eines Wide-Area-Networks oder anderer Netzarchitekturen sein, die in Verbindung mit dem Smart-NIC-Verwaltungssystem 102 und zugehörigen Systemen und Untersystemen verwendet werden können.
  • Das NIC-Schnittstellensystem 116 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und bewirken, dass die Prozessoren eine Schnittstelle zwischen den Untersystemen der CPU 114 und den Smart-NICs 110A bis 110N bereitstellen, zum selektiven Konfigurieren der Smart-NICs zum Implementieren einer oder mehrerer Vorschriften. Bei einer beispielhaften Ausführungsform kann ein spezifisches Smart-NIC zum Durchführen spezifischer Funktionen konfiguriert sein, und das NIC-Schnittstellensystem 116 kann die zugehörigen Funktionen verfolgen, um die relevanten Smart-NICs zu aktualisieren, wenn eine neue oder revidierte Vorschrift verfügbar ist, oder zu anderen geeigneten Zwecken.
  • Das 5G-Benutzerebenensystem 118 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und bewirken, dass die Prozessoren 5G-Benutzerebenenvorschriften bei vorbestimmten Smart-NICs implementieren. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Durchführen einer 5G-Benutzerebenenverarbeitung für eine Telekommunikationinfrastruktur zugewiesen sein, beispielsweise zum Bereitstellen eines Verbindungspunkts zwischen der Mobilinfrastruktur und dem Datennetz, beispielsweise eine Verkapselung und eine Entkapselung eines GPRS-Tunnelprotokolls für die Benutzerebene, zum Bereitstellen von Mobilität innerhalb und zwischen Funkzugangstechnologien wie dem Protocol Data Unit (PDU) Session-Ankerpunkt, zum Bereitstellen einer Paketleitung und Paketweiterleitung, beispielsweise durch Durchführen einer Uplink-Klassifiziererverarbeitung zum Leiten von Strömen zu spezifischen Datennetzen basierend auf Verkehrsanpassungsfiltern, zum Durchführen einer Anwendungsdetektion unter Verwendung von Service Data Flow (SDF) Verkehrsfiltertemplates oder zum Durchführen anderer geeigneter Funktionen, beispielsweise diejenigen, die durch die 3GPP technische Spezifikation 23.501 definiert sind.
  • Das Routersystem 120 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und bewirken, dass die Prozessoren Rufleitungsverarbeitungsvorschriften für eine Telekommunikationinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Rufleitungsvorschriften Vorschriften zum Bestimmen, ob ein Anruf erlaubt oder verboten ist, Vorschriften zum Leiten von Anrufen zu vorbestimmten Netzkomponenten und andere geeignete Rufleitungsvorschriften beinhalten.
  • Das Gatewaysystem 122 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und bewirken, dass die Prozessoren Gatewayvorschriften für eine Telekommunikationinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Gatewayvorschriften Vorschriften zum Bestimmen, wie ein Anruf für eine Gatewayvorrichtung zwischen Telekommunikationssystemen oder Telekommunikationsdomänen zu verarbeiten ist, beispielsweise zwischen einem paketgeschalteten Netz und einem schaltungsgeschalteten Netz, und andere geeignete Gatewayvorschriften beinhalten.
  • Das Netzadressentabellen (NAT)-System 124 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren NAT-Vorschriften für eine Telekommunikationsinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können die NAT-Vorschriften Vorschriften zum Bestimmen, ob Netzadressdaten zu der Netzadressentabelle hinzugefügt oder aus dieser entfernt werden sollen, und andere geeignete Netzadressentabellenvorschriften beinhalten.
  • Das Testsystem 126 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren Testvorschriften für eine Telekommunikationinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Testvorschriften Vorschriften zum Bestimmen, ob ein Test erlaubt oder verboten ist, Vorschriften zum Leiten von Testanrufen zu vorbestimmten Netzkomponenten und andere geeignete Testvorschriften beinhalten.
  • Das Dienstqualität (QOS)-System 128 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren QOS-Vorschriften für eine Telekommunikationsinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können QOS-Vorschriften Vorschriften zum Bestimmen der Priorität, die einer Verarbeitung eines Anrufs in Bezug auf eine andere Anruf- oder Datenverarbeitung zugewiesen werden soll, Vorschriften zum neu Zuweisen von Anrufverarbeitungspriorität und andere geeignete QOS-Vorschriften beinhalten.
  • Das Filtersystem 130 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren Filtervorschriften für eine Telekommunikationinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Filtervorschriften Vorschriften zum Bestimmen, ob Daten erlaubt oder verboten werden sollen, Vorschriften zum Sperren eines Zugriffs auf externe Datenquellen und andere geeignete Filtervorschriften beinhalten.
  • Das Verkapselungssystem 132 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren Verkapselungsvorschriften für eine Telekommunikationinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Verkapselungsvorschriften Vorschriften zum Weitergeben von Daten zwischen unterschiedlichen Netzschichten und andere geeignete Verkapselungsvorschriften beinhalten.
  • Das Queueingsystem 134 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren Queueingvorschriften für eine Telekommunikationsinfrastruktur implementieren. Bei einer beispielhaften Ausführungsform können Queueingvorschriften Vorschriften zum Bestimmen, ob Anrufverarbeitungsressourcen zu instanziieren oder zu beenden sind, und andere geeignete Queueingvorschriften beinhalten.
  • Das NIC-Vorschriftensystem 136 kann als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren geladen sind und die bewirken, dass die Prozessoren NIC-Vorschriften in Verbindung mit Smart-NICs 110A bis 110N implementieren. Bei einer beispielhaften Ausführungsform kann eine NIC-Vorschrift für ein spezifisches Smart-BIC 110A bis 110N durch das System 100 identifiziert werden und dann unter Verwendung des NIC-Vorschriftensystems 136 oder auf andere geeignete Weisen für ein spezifisches Smart-NIC 110A bis 110N bereitgestellt werden.
  • Die Vorschriftenschnittstellensysteme 138A bis 138N können jeweils als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren der Smart-NICs 110A bis 110N geladen sind und die bewirken, dass die Prozessoren Vorschriftendaten und Vorschriftenaktualisierungsdaten von dem NIC-Schnittstellensystem 116 oder anderen geeigneten Systemen erhalten. Bei einer beispielhaften Ausführungsform können, wenn eines der Smart-NICs 110A bis 110N instanziiert wird, diese zum Verarbeiten von vorbestimmten Typen von Daten für vorbestimmte Funktionen vorgesehen sein, beispielsweise für eines oder mehrere von dem 5G-Benutzerebenensystem 118, dem Routersystem 120, dem Gatewaysystem 122, dem Netzadressentabellen (NAT)-System 124, dem Testsystem 126, dem Dienstqualität (QOS)-System 128, dem Filtersystem 130, dem Verkapselungssystem 132, dem Queueingsystem 134, oder von anderen geeigneten Typen von Daten und Funktionen. Bei dieser beispielhaften Ausführungsform kann ein Container zum Konfigurieren des Smart-NIC verwendet werden, beispielsweise durch Bereitstellen der Vorschriftendaten von einem Verteiler für ein Smart-NIC unter Verwendung eines Containers, der ebenfalls den Status des Smart-NIC überwacht, der die Aktualisierung für das Smart-NIC bereitstellt, der das Smart-NIC freigibt, wenn es nicht mehr benötigt wird, der bestimmt, wenn aufgrund eines Systemversagens ein Ersatz-Smart-NIC benötigt wird, oder für andere geeignete Zwecke.
  • Die Vorschriftenverarbeitungssysteme 140A bis 140N können jeweils als eine oder mehrere Codezeilen implementiert sein, die in Speichervorrichtungen für Prozessoren der Smart-NICs 110A bis 110N geladen sind und die bewirken, dass die Prozessoren Vorschriftendaten und Vorschriftenaktualisierungsdaten von dem NIC-Schnittstellensystem 116 oder anderen geeigneten Systemen implementieren. Bei einer beispielhaften Ausführungsform werden die Funktionen, die für jedes der Smart-NICs 110A bis 110N bereitgestellt werden, wenn diese instanziiert werden, jeweils durch die Vorschriftenverarbeitungssysteme 140A bis 140N implementiert, beispielsweise durch Empfangen von Paketen von der Cloud 112, durch Verarbeiten der Paketdaten gemäß den geeigneten Vorschriftendaten und durch Senden von Paketdaten, Blockieren von Paketdaten, Leiten von Paketdaten, Verarbeiten von Paketdaten, Senden von Mitteilungsdaten oder Implementieren anderer geeigneter Smart-NIC-Funktionen, die zuvor durch eine CPU eines Servers oder eine andere Vorrichtung implementiert worden wären. Unter Verwendung von ausgewählten Smart-NICs für vorbestimmte Funktionen und Verteilen dieser Funktionen basierend auf einer Last und einem Ort kann die zum Verarbeiten von Netzdatenverkehr gemäß Netzvorschriften benötigte Zeit signifikant verringert werden.
  • Im Betrieb ermöglicht das System 100, dass mehrere Smart-NIC-Vorrichtungen in einem Netz auf effizientere Weise verwendet werden können und Vorschriften auf diesen Smart-NIC-Vorrichtungen aktualisiert werden können, während das Netz in Betrieb ist. Das System 100 nutzt die Fähigkeit von Smart-NIC-Vorrichtungen zum Durchführen von Funktionen, die normalerweise durch einen dedizierten Prozessor, der dem NIC zugeordnet ist, durchgeführt würden, so dass einem Smart-NIC ermöglicht wird, Netzschnittstellendienste für mehrere Prozessoren, mehrere Container oder andere Netzvorrichtungen bereitzustellen.
  • Das System 100 löst die Netzkomponente (beispielsweise die Smart-NICs 110A bis 110N) von einem Rechenhost (beispielsweise die CPU 114), die eine zugehörige Anwendung laufen lässt. Diese Architektur ermöglicht, dass ein Smart-NIC-Registrierungssystem 104 zur Verwendung mit einem Smart-NIC-Verzeichnis 106 und zugehörigen Zuweisungsmechanismen aufrechterhalten werden kann, zum Zuweisen von Ressourcen der Smart-NICs 110A bis 110N bei Bedarf zu einer beliebigen Anwendung, die diese Ressourcen benötigt oder anfordert. Die Smart-NICs 110A bis 110N können unabhängig Datenpakete, die der Anwendung zugeordnet sind, auf eine vorbestimmte Weise verarbeiten, ohne dass die Daten zu dem Rechenknoten (beispielsweise ein Container oder eine virtuelle Maschine) gesendet werden müssen, etwa zur Verschlüsselungs-/Entschlüsselungsverarbeitung, zur Firewall-Verarbeitung, zur TCP/IP-Verarbeitung, zur HTTP-Verarbeitung oder zu einer anderen geeigneten dedizierten Verarbeitung. Auf diese Weise kann das System 100 zum Bereitstellen eines netzweiten Registers von Smart-NIC-Ressourcen und Smart-NIC-Verfügbarkeitsinformation verwendet werden, beispielsweise zur Verwendung in einer Cloud-Rechenumgebung oder für andere geeignete Zwecke.
  • 2 ist ein Diagramm eines Algorithmus 200 zum Bereitstellen von 5G-Benutzerebenenvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 200 kann in Hardware oder als eine geeignete Kombination von Hardware und Software implementiert sein.
  • Der Algorithmus 200 beginnt bei 202, wo ein oder mehrere Smart-NICs einem oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugeordnet werden. Der Algorithmus schreitet dann zu 204 fort.
  • Bei 204 werden 5G-Benutzerebenenvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und kann Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 206 fort.
  • Bei 206 werden die 5G-Benutzerebenenvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Erhalten von vorbestimmten Datenpaketformaten ausgebildet sein, die 5G-Benutzerebenenvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die 5G-Benutzerebenenvorschriften zu implementieren. Der Algorithmus schreitet dann zu 208 fort.
  • Bei 208 werden bei dem Smart-NIC eingehende Datenkommunikationen empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse, die dem Smart-NIC zugeordnet ist, adressiert sein, so dass dem Smart-NIC ermöglicht wird, die vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 210 fort.
  • Bei 210 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder zusätzlich oder alternativ können andere geeignete Containerfunktionen verwendet werden. Der Algorithmus schreitet dann zu 212 fort.
  • Bei 212 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität ausgebildet ist, die in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten steht. Der Algorithmus schreitet dann zu 214 fort.
  • Bei 214 wird bestimmt, ob die Daten 5G-Benutzerebenenvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein 5G-Benutzerebenenvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten 5G-Benutzerebenenvorschriftendaten sind, schreitet der Algorithmus dann zu 216 fort, ansonsten schreitet der Algorithmus zu 218 fort.
  • Bei 216 werden die 5G-Benutzerebenenvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten oder von Formaten zum Ermöglichen, dass eine Prozessorkomponente des Smart-NIC die Algorithmussteuerungen ausführen kann, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 218 fort.
  • Bei 218 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis dieses nicht mehr benötigt wird, wobei dann der Container beendet werden kann, instanziiert und bereitgestellt werden. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 220 fort, ansonsten schreitet der Algorithmus zu 222 fort.
  • Bei 220 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC als Teil des Smart-NIC-Freigabeprozesses bei einem 5G-Benutzerebenenvorschriftensystem oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 222 fort.
  • Bei 222 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 224 fort, wo ein neues Smart-NIC dem Container zugewiesen wird.
  • Im Betrieb kann der Algorithmus 200 zum Bereitstellen von 5G-Benutzerebenenvorschriften für verteilte Smart-Network-Interfaces und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 200 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 200 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 3 ist ein Diagramm eines Algorithmus 300 zum Bereitstellen von Routersystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 300 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 300 beginnt bei 302, wo ein oder mehrere Smart-NICs einem oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugeordnet werden. Der Algorithmus schreitet dann zu 304 fort.
  • Bei 304 werden Routersystemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 306 fort.
  • Bei 306 werden die Routersystemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Routersystemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Routersystemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 308 fort.
  • Bei 308 werden bei dem Smart-NIC eingehende Datenkommunikationen empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine dem Smart-NIC zugeordnete Adresse adressiert sein, zum Ermöglichen, dass das Smart-NIC eine vorbestimmte Datenverarbeitung durchführen kann, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 310 fort.
  • Bei 310 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für eine oder Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 312 fort.
  • Bei 312 werden für den Container vorbestimmte Daten bereitstellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC, das zum Bereitstellen einer Funktionalität in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist, implementiert werden können. Der Algorithmus schreitet dann zu 314 fort.
  • Bei 314 wird bestimmt, ob die Daten Routersystemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Routersystemvorschriftendatensystem oder auf andere geeignete Weise vorgenommen werden. Wenn bestimmt wird, dass die Daten Routersystemvorschriftendaten sind, schreitet der Algorithmus zu 316 fort, ansonsten schreitet der Algorithmus zu 318 fort.
  • Bei 316 werden die Routersystemvorschriftendaten auf das Smart-NIC angewandt. In einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementiert von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate zum Ermöglichen, dass eine Prozessorkomponente des Smart-NIC die Algorithmussteuerungen ausführt, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 318 fort.
  • Bei 318 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 320 fort, ansonsten schreitet der Algorithmus zu 322 fort.
  • Bei 320 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Routersystemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 322 fort.
  • Bei 322 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 324 fort, wo ein neues Smart-NIC dem Container zugewiesen wird.
  • Im Betrieb kann der Algorithmus zum Bereitstellen einer Routerebenenvorschriftenverteilung in einer verteilten Smart-NIC-Umgebung und anderer geeigneter Funktionen verwendet werden. Wenngleich der Algorithmus 300 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 300 zusätzlich oder alternativ unter Verwendung einer objektorientierten Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 4 ist ein Diagramm eines Algorithmus 400 zum Bereitstellen von Gatewaysystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 400 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 400 beginnt bei 402, wo ein oder mehrere Smart-NIC einem oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugeordnet werden. Der Algorithmus schreitet dann zu 404 fort.
  • Bei 404 werden Gatewaysystemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 406 fort.
  • Bei 406 werden Gatewaysystemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Gatewaysystemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Gatewaysystemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 408 fort.
  • Bei 408 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse, die dem Smart-NIC zugeordnet ist, adressiert sein, so dass dem Smart-NIC ermöglicht wird, eine vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 410 fort.
  • Bei 410 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für eine oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 412 fort.
  • Bei 412 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 414 fort.
  • Bei 414 wird bestimmt, ob die Daten Gatewaysystemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Gatewaysystemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird dass, die Daten Gatewaysystemvorschriftendaten sind, schreitet der Algorithmus dann zu 416 fort, ansonsten schreitet der Algorithmus zu 418 fort.
  • Bei 416 werden die Gatewaysystemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementiert von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 418 fort.
  • Bei 418 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 420 fort, ansonsten schreitet der Algorithmus zu 422 fort.
  • Bei 420 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Gatewaysystemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 422 fort.
  • Bei 422 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 424 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 400 zum Bereitstellen von Gatewaysystemvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 400 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 400 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 5 ist ein Diagramm eines Algorithmus 500 zum Bereitstellen von NAT-Systemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 500 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 500 beginnt bei 502, wo ein oder mehrere Smart-NIC einem oder mehreren Container zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs bei Bedarf oder auf andere geeignete Weisen Containern zugeordnet werden. Der Algorithmus schreitet dann zu 504 fort.
  • Bei 504 werden NAT-Systemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 506 fort.
  • Bei 506 werden die NAT-Systemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die NAT-Systemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die NAT-Systemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 508 fort.
  • Bei 508 werden bei dem Smart-NIC eingehende Datenkommunikationen empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, eine vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 510 fort.
  • Bei 510 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für eine oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 512 fort.
  • Bei 512 werden für den Container vorbestimmte Daten bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 514 fort.
  • Bei 514 wird bestimmt, ob die Daten NAT-Systemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein NAT-Systemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten NAT-Systemvorschriftendaten sind, schreitet der Algorithmus dann zu 516 fort, ansonsten schreitet der Algorithmus zu 518 fort.
  • Bei 516 werden die NAT-Systemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate zum Ermöglichen, dass eine Prozessorkomponente des Smart-NIC die Algorithmussteuerungen ausführen kann, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 518 fort.
  • Bei 518 wird bestimmt, ob der Container, der die Smart-NIC-Funktion verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe der Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 520 fort, ansonsten schreitet der Algorithmus zu 522 fort.
  • Bei 520 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem NAT-Systemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 522 fort.
  • Bei 522 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 524 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 500 zum Bereitstellen von NAT-Systemvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 500 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 500 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 6 ist ein Diagramm eines Algorithmus 600 zum Bereitstellen von Testsystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 600 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 600 beginnt bei 602, wo ein oder mehrere Smart-NIC einem oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugewiesen werden. Der Algorithmus schreitet dann zu 604 fort.
  • Bei 604 werden Testsystemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 606 fort.
  • Bei 606 werden die Testsystemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Testsystemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Testsystemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 608 fort.
  • Bei 608 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, eine vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 610 fort.
  • Bei 610 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 612 fort.
  • Bei 612 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 614 fort.
  • Bei 614 wird bestimmt, ob die Daten Testsystemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Testsystemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten Testsystemvorschriftendaten sind, schreitet der Algorithmus zu 616 fort, ansonsten schreitet der Algorithmus zu 618 fort.
  • Bei 616 werden die Testsystemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 618 fort.
  • Bei 618 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 620 fort, ansonsten schreitet der Algorithmus zu 622 fort.
  • Bei 622 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Testsystemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 622 fort.
  • Bei 622 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 624 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 600 zum Bereitstellen von Testsystemvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 600 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 600 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 7 ist ein Diagramm eines Algorithmus 700 zum Bereitstellen von QOS-Systemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 700 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 700 beginnt bei 702, wo ein oder mehrere Smart-NIC ein oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugeordnet werden. Der Algorithmus schreitet dann zu 704 fort.
  • Bei 704 werden QOS-Systemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 706 fort.
  • Bei 706 werden die QOS-Systemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die QOS-Systemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die QOS-Systemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 708 fort.
  • Bei 708 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, die vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 710 fort.
  • Bei 710 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 712 fort.
  • Bei 712 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Verbindung mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 714 fort.
  • Bei 714 wird bestimmt, ob die Daten QOS-Systemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein QOS-Systemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten Testsystemvorschriftendaten sind, schreitet der Algorithmus zu 716 fort, ansonsten schreitet der Algorithmus zu 718 fort.
  • Bei 716 werden die QOS-Systemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 718 fort.
  • Bei 718 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 720 fort, ansonsten schreitet der Algorithmus zu 722 fort.
  • Bei 720 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem QOS-Systemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 722 fort.
  • Bei 722 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 724 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 700 zum Bereitstellen von QOS-Vorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 700 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 700 zusätzlich oder alternativ unter Verwendung von obj ektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 8 ist ein Diagramm eines Algorithmus 800 zum Bereitstellen von Filtersystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 800 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 800 beginnt bei 802, wo ein oder mehrere Smart-NIC einem oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugewiesen werden. Der Algorithmus schreitet dann zu 804 fort.
  • Bei 804 werden Filtersystemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 806 fort.
  • Bei 806 werden die Filtersystemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Filtersystemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Filtersystemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 808 fort.
  • Bei 808 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, die vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 810 fort.
  • Bei 810 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 812 fort.
  • Bei 812 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Verbindung mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 814 fort.
  • Bei 814 wird bestimmt, ob die Daten Filtersystemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Filtersystemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten Filtersystemvorschriftendaten sind, schreitet der Algorithmus zu 816 fort, ansonsten schreitet der Algorithmus zu 818 fort.
  • Bei 816 werden die Filtersystemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 818 fort.
  • Bei 818 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 820 fort, ansonsten schreitet der Algorithmus zu 822 fort.
  • Bei 820 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Filtersystemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 822 fort.
  • Bei 822 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 824 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 800 zum Bereitstellen von Filtersystemvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 800 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 800 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 9 ist ein Diagramm eines Algorithmus 900 zum Bereitstellen von Verkapselungsvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 900 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 900 beginnt bei 902, wo ein oder mehrere Smart-NIC einem oder mehreren Containern zugewiesen werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugewiesen werden. Der Algorithmus schreitet dann zu 904 fort.
  • Bei 904 werden Verkapselungsvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 906 fort.
  • Bei 906 werden die Verkapselungsvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Verkapselungsvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Verkapselungsvorschriften zu implementieren. Der Algorithmus schreitet dann zu 908 fort.
  • Bei 908 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, die vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 910 fort.
  • Bei 910 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 912 fort.
  • Bei 912 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten aufweisen, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Zusammenhang mit der Vorschrift oder anderen geeigneten Daten ausgebildet ist. Der Algorithmus schreitet dann zu 914 fort.
  • Bei 914 wird bestimmt, ob die Daten Verkapselungsvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Verkapselungsvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten Verkapselungsvorschriftendaten sind, schreitet der Algorithmus zu 916 fort, ansonsten schreitet der Algorithmus zu 918 fort.
  • Bei 916 werden die Verkapselungsvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 918 fort.
  • Bei 918 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 920 fort, ansonsten schreitet der Algorithmus zu 922 fort.
  • Bei 920 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Vorschriftenverarbeitungssystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 922 fort.
  • Bei 922 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 924 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 900 zum Bereitstellen von Verkapselungsvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 900 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 900 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • 10 ist ein Diagramm eines Algorithmus 1000 zum Bereitstellen von Queueingsystemvorschriften für verteilte Smart-NICs gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Der Algorithmus 1000 kann in Hardware oder als eine geeignete Kombination aus Hardware und Software implementiert werden.
  • Der Algorithmus 1000 beginnt bei 1002, wo ein oder mehrere Smart-NIC ein oder mehreren Containern zugeordnet werden. Bei einer beispielhaften Ausführungsform können Smart-NICs Containern bei Bedarf oder auf andere geeignete Weisen zugewiesen werden. Der Algorithmus schreitet dann zu 1004 fort.
  • Bei 1004 werden Queueingsystemvorschriften auf ein vorbestimmtes Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC-Vorschriftensystem zum Überwachen eines Smart-NIC-Vorschriftenstatus für ein Vorschriftensystem verwendet werden und Smart-NICs identifizieren, die vorbestimmten Vorschriften zugeordnet sind. Andere geeignete Prozesse können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 1006 fort.
  • Bei 1006 werden die Queueingsystemvorschriften auf das Smart-NIC geladen. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC zum Empfangen von vorbestimmten Datenpaketformaten ausgebildet sein, die Queueingsystemvorschriftendaten in einem vorbestimmten Format aufweisen, das dem Smart-NIC ermöglicht, die Queueingsystemvorschriften zu implementieren. Der Algorithmus schreitet dann zu 1008 fort.
  • Bei 1008 werden eingehende Datenkommunikationen bei dem Smart-NIC empfangen. Bei einer beispielhaften Ausführungsform können die eingehenden Datenkommunikationen an eine Adresse adressiert sein, die dem Smart-NIC zugeordnet ist, so dass dem Smart-NIC ermöglicht wird, die vorbestimmte Datenverarbeitung durchzuführen, oder die eingehenden Datenkommunikationen können auf andere geeignete Weisen empfangen werden. Der Algorithmus schreitet dann zu 1010 fort.
  • Bei 1010 wird unter Verwendung einer vorbestimmten Smart-NIC-Funktion ein Container identifiziert. Bei einer beispielhaften Ausführungsform kann der Container ausgebildet sein zum Bereitstellen von Vorschriftendaten für ein oder mehrere Smart-NIC-Vorrichtungen, zum Überwachen eines Smart-NIC-Status, oder andere geeignete Containerfunktionen können zusätzlich oder alternativ verwendet werden. Der Algorithmus schreitet dann zu 1012 fort.
  • Bei 1012 werden vorbestimmte Daten für den Container bereitgestellt. Bei einer beispielhaften Ausführungsform können die Daten Vorschriftendaten, die durch ein Smart-NIC implementiert werden können, das zum Bereitstellen einer Funktionalität in Verbindung mit der Vorschrift ausgebildet ist, oder andere geeignete Daten aufweisen. Der Algorithmus schreitet dann zu 1014 fort.
  • Bei 1014 wird bestimmt, ob die Daten Queueingsystemvorschriftendaten sind. Bei einer beispielhaften Ausführungsform kann die Bestimmung bei dem Smart-NIC, das die Containerdaten empfängt, durch ein Smart-NIC-Verwaltungssystem, durch ein Queueingsystemvorschriftendatensystem oder auf andere geeignete Weisen vorgenommen werden. Wenn bestimmt wird, dass die Daten Queueingsystemvorschriftendaten sind, schreitet der Algorithmus zu 1016 fort, ansonsten schreitet der Algorithmus zu 1018 fort.
  • Bei 1016 werden die Queueingsystemvorschriftendaten auf das Smart-NIC angewandt. Bei einer beispielhaften Ausführungsform kann das Smart-NIC zum Empfangen und Implementieren von Vorschriftendaten in einem vorbestimmten Format ausgebildet sein, beispielsweise zum Speichern von definierten Algorithmussteuerungen an vorbestimmten Datenspeicherorten, oder Formate, die einer Prozessorkomponente des Smart-NIC ermöglichen, die Algorithmussteuerungen auszuführen, oder auf andere geeignete Weisen. Der Algorithmus schreitet dann zu 1018 fort.
  • Bei 1018 wird bestimmt, ob der Container, der die Smart-NIC-Funktionen verwendet, beendet worden ist. Bei einer beispielhaften Ausführungsform kann ein Smart-NIC unter Verwendung eines Containers instanziiert und bereitgestellt werden, der zum Verwalten der Betriebsabläufe des Smart-NIC verwendet wird, bis er nicht mehr benötigt wird, wobei dann der Container beendet werden kann. Wenn bestimmt wird, dass der Container beendet worden ist, schreitet der Algorithmus zu 1020 fort, ansonsten schreitet der Algorithmus zu 1022 fort.
  • Bei 1020 wird das Smart-NIC freigegeben. Bei einer beispielhaften Ausführungsform kann die Freigabe des Smart-NIC bei einem Queueingsystemvorschriftensystem als Teil des Smart-NIC-Freigabeprozesses oder auf andere geeignete Weisen erfolgen. Der Algorithmus schreitet dann zu 1022 fort.
  • Bei 1022 wird bestimmt, ob das Smart-NIC versagt hat. Bei einer beispielhaften Ausführungsform kann ein Versagen eines Smart-NIC bestimmt werden, wenn das Smart-NIC nicht auf eine Datennachricht antwortet, wenn das Smart-NIC keinen Statusindikator liefert, oder auf andere geeignete Weisen. Wenn bestimmt wird, dass das Smart-NIC versagt hat, schreitet der Algorithmus zu 1024 fort, wo dem Container ein neues Smart-NIC zugewiesen wird.
  • Im Betrieb kann der Algorithmus 1000 zum Bereitstellen von Queueingsystemvorschriften für verteilte Smart-NICs und anderen geeigneten Funktionen verwendet werden. Wenngleich der Algorithmus 1000 als ein Flussdiagramm gezeigt ist, wird ein Fachmann erkennen, dass der Algorithmus 1000 zusätzlich oder alternativ unter Verwendung von objektorientierter Programmierung, eines Zustandsdiagramms, eines Kontaktplans oder auf andere geeignete Weisen implementiert werden kann.
  • Wie hierin verwendet sollen die Einzahlformen „ein“ und „der/die/das“ auch die Mehrzahlformen beinhalten, sofern der Kontext nicht eindeutig etwas anderes angibt. Es versteht sich ferner, dass die Ausdrücke „weist auf‟ und/oder „aufweisen“, wenn sie hierin verwendet werden, das Vorhandensein der genannten Merkmale, ganzen Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder Hinzufügen eines oder mehrerer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen derselben ausschließen. Wie hierin verwendet beinhaltet der Ausdruck „und/oder“ alle Kombinationen aus ein oder mehreren der zugehörigen aufgeführten Gegenstände. Wie hierin verwendet sollen Ausdrücke wie „zwischen X und Y“ und „zwischen etwa X und Y“ so interpretiert werden, dass sie X und Y enthalten. Wie hierin verwendet sollen Ausdrücke wie „zwischen etwa X und Y“ „zwischen etwa X und etwa Y“ bedeuten. Wie hierin verwendet sollen Ausdrücke wie „von etwa X bis Y“ „von etwa X bis etwa Y“ bedeuten.
  • Wie hierin verwendet kann „Hardware“ eine Kombination aus diskreten Komponenten, eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung, ein Field Programmable Gate Array oder eine andere geeignete Hardware beinhalten. Wie hierin verwendet kann „Software“ ein oder mehrere Objekte, Agents, Threads, Codezeilen, Subroutinen, separate Softwareanwendungen, zwei oder mehr Codezeilen oder andere geeignete Softwarestrukturen, die in zwei oder mehr Softwareanwendungen arbeiten, auf einen oder mehreren Prozessoren (wobei ein Prozessor einen oder mehrere Mikrocomputer oder andere geeignete Datenverarbeitungseinheiten, Speichervorrichtungen, Eingabe-Ausgabe-Vorrichtungen, Anzeigen, Dateneingabevorrichtungen wie ein Keyboard oder eine Maus, Peripheriegeräte wie Drucker und Lautsprecher, zugehörige Treiber, Steuerkarten, Leistungsquellen, Netzvorrichtungen, Dockingstationsvorrichtungen oder andere geeignete Vorrichtungen, die unter der Steuerung von Softwaresystemen in Verbindung mit dem Prozessor oder anderen Vorrichtungen arbeiten, beinhaltet), oder andere geeignete Softwarestrukturen beinhalten. Bei einer beispielhaften Ausführungsform kann Software eine oder mehrere Codezeilen oder andere geeignete Softwarestrukturen, die in einer Allzwecksoftwareanwendung wie einem Betriebssystem arbeiten, und eine oder mehrere Codezeilen oder andere geeignete Softwarestrukturen, die in einer Softwareanwendung für einen speziellen Zweck arbeiten, beinhalten. Wie hierin verwendet kann der Ausdruck „koppeln“ und seine entsprechenden Ausdrücke wie „koppelt“ und „gekoppelt“ eine physische Verbindung (beispielsweise ein Kupferleiter), eine virtuelle Verbindung (beispielsweise durch zufällig zugewiesene Speicherorte einer Datenspeichervorrichtung), eine logische Verbindung (beispielsweise durch logische Gates einer Halbleitervorrichtung) oder andere geeignete Verbindungen oder eine geeignete Kombination aus solchen Verbindungen beinhalten. Der Ausdruck „Daten“ kann eine geeignete Struktur zur Verwendung, Übermittlung oder zum Speichern von Daten bezeichnen, beispielsweise ein Datenfeld, ein Datenpuffer, eine Datennachricht mit dem Datenwert und einen oder mehrere Operatoren, die bewirken, dass das empfangende System oder die empfangende Komponente eine Funktion unter Verwendung der Daten durchführt, oder andere geeignete Hardware oder Softwarekomponenten für die elektronische Verarbeitung von Daten beinhalten.
  • Allgemein ist ein Softwaresystem ein System, das auf einem Prozessor zum Durchführen von vorbestimmten Funktionen ansprechend auf vorbestimmte Datenfelder arbeitet. Ein Softwaresystem wird typischerweise als ein Algorithmusquellcode durch einen menschlichen Programmierer erzeugt, und der Quellcodealgorithmus wird dann mit den Quellcodealgorithmusfunktionen in einen Maschinensprachenalgorithmus kompiliert und mit den spezifischen Eingabe-/Ausgabevorrichtungen, dynamischen Linkbibliotheken und anderen spezifischen Hardware- und Softwarekomponenten eines Prozessors verlinkt, was den Prozessor von einem Allzweckprozessor zu einem Prozessor für einen spezifischen Zweck umwandelt. Dieser bekannte Prozess zum Implementieren eines Algorithmus unter Verwendung eines Prozessors sollte für einen Fachmann keiner Erklärung bedürfen. Beispielsweise kann ein System durch die Funktion, die es durchführt, und die Datenfelder, auf die es die Funktion anwendet, definiert werden. Wie hierin verwendet, ist ein NAME-System, wobei NAME typischerweise der Name der allgemeinen Funktion ist, die von dem System durchgeführt wird, ein Softwaresystem, das dazu ausgebildet ist, auf einem Prozessor zu arbeiten und die offenbarte Funktion auf die offenbarten Datenfelder anzuwenden. Ein System kann eine oder mehrere Dateneingaben, beispielsweise Datenfelder, von einem Benutzer eingegebene Daten, Steuerdaten ansprechend auf eine Benutzereingabeaufforderung oder andere geeignete Daten empfangen und eine durchzuführende Aktion basierend auf einem Algorithmus bestimmen, beispielsweise zum Fortfahren mit einem nächsten Algorithmusschritt, wenn Daten empfangen werden, zum Wiederholen einer Eingabeaufforderung, wenn keine Daten empfangen werden, zum Durchführen einer mathematischen Operation an zwei Datenfeldern, zum Sortieren oder Anzeigen von Datenfeldern oder zum Durchführen anderer geeigneter bekannter Algorithmusfunktionen. Sofern kein spezifischer Algorithmus offenbart ist, kann ein beliebiger geeigneter Algorithmus, der einem Fachmann bekannt ist, zum Durchführen der Funktion unter Verwendung der zugehörigen Datenfelder als in den Schutzbereich der Offenbarung fallend betrachtet werden. Beispielsweise würde ein Nachrichtensystem, das eine Nachricht, die ein Senderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld aufweist, erzeugt, Software, die auf einem Prozessor arbeitet und das Senderadressfeld, das Empfängeradressfeld und das Nachrichtenfeld von einem geeigneten System oder einer geeigneten Vorrichtung des Prozessors erhalten kann, beispielsweise eine Puffervorrichtung oder ein Puffersystem, das Senderadressfeld, das Empfängeradressfeld und das Nachrichtenfeld in ein geeignetes elektronisches Nachrichtenformat (beispielsweise eine E-Mail-Nachricht, eine TCP/IP-Nachricht oder ein anderes geeignetes Nachrichtenformat, das ein Senderadressfeld, ein Empfängeradressfeld und ein Nachrichtenfeld aufweist) bringen kann und die elektronische Nachricht unter Verwendung von elektronischen Nachrichtensystemen und Vorrichtungen des Prozessors über ein Kommunikationsmedium wie ein Netz übertragen kann, beinhalten. Ein Fachmann wäre in der Lage, den spezifischen Code für eine spezifische Anwendung basierend auf der im Vorhergehenden beschriebenen Offenbarung bereitzustellen, die beispielhafte Ausführungsformen der vorliegenden Offenbarung vorstellt und kein Tutorial für einen Nichtfachmann ist, beispielsweise eine Person, die nicht vertraut ist mit einer Programmierung oder Prozessoren in einer geeigneten Programmiersprache. Ein spezifischer Algorithmus zum Durchführen einer Funktion kann in Form eines Flussdiagramms oder in anderen geeigneten Formaten bereitgestellt werden, wobei die Datenfelder und zugeordneten Funktionen in einer beispielhaften Reihenfolge von Operationen dargestellt sein können, wobei die Reihenfolge auf geeignete Weise neu gewählt werden kann und nicht beschränkt sein soll, sofern dies nicht explizit angegeben ist.
  • Es sei hervorgehoben, dass die oben beschriebenen Ausführungsformen lediglich Beispiele für mögliche Implementierungen sind. Es können viele Variationen oder Modifikationen an den oben beschriebenen Ausführungsformen vorgenommen werden, ohne von den Prinzipien der vorliegenden Offenbarung abzuweichen. All diese Modifikationen und Variationen sollen hierin in dem Schutzbereich der Offenbarung enthalten sein und durch die folgenden Ansprüche geschützt sein.

Claims (20)

  1. System zum Verarbeiten von Daten, mit: einem Rechenknoten mit einem ersten Prozessor, der zum Empfangen einer digitalen Datennachricht, die eine Anforderung von Rechendiensten enthält, und zum Zuweisen von Verarbeitungsressourcen auf einem Netz als eine Funktion der Anforderung ausgebildet ist; einer Smart-Network-Interface-Steuerung (NIC) mit einem zweiten Prozessor, der zur Verbindung mit dem Netz und zum Senden und Empfangen von Daten über das Netz in Zusammenhang mit den Rechendiensten als eine Funktion einer oder mehreren Vorschriften ausgebildet ist; und dem Smart-NIC, das zum Empfangen von Vorschriftenaktualisierungsdaten und zum Implementierten der Vorschriftenaktualisierungsdaten und zum Verarbeiten der Daten, die über das Netz gesendet und empfangen werden, gemäß den Vorschriftendaten ausgebildet ist.
  2. System nach Anspruch 1, bei dem die Vorschriftendaten 5G-Benutzerebenenvorschriftendaten sind.
  3. System nach Anspruch 1, bei dem die Vorschriftendaten 5G-Benutzerebenenvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer 5G-Benutzerebenenvorschriften.
  4. System nach Anspruch 1, bei dem die Vorschriftendaten Routersystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrere Routersystemvorschriften.
  5. System nach Anspruch 1, bei dem die Vorschriftendaten Gatewaysystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrere Gatewaysystemvorschriften.
  6. System nach Anspruch 1, bei dem die Vorschriftendaten Netzadressentabellen (NAT) Vorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer NAT-Vorschriften.
  7. System nach Anspruch 1, bei dem die Vorschriftendaten Testsystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer Testvorschriften.
  8. System nach Anspruch 1, bei dem Vorschriftendaten Dienstqualität (QOS) Systemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer QOS-Vorschriften.
  9. System nach Anspruch 1, bei dem die Vorschriftendaten Filtersystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer Filtervorschriften.
  10. System nach Anspruch 1, bei dem die Vorschriftendaten Verkapselungssystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer Verkapselungsvorschriften.
  11. System nach Anspruch 1, bei dem die Vorschriftendaten Queueingsystemvorschriftendaten sind und das Smart-NIC ausgebildet ist zum Senden und Empfangen von Daten über das Netz als eine Funktion einer oder mehrerer Queueingvorschriften.
  12. Verfahren zum Verarbeiten von Daten, mit: Empfangen einer digitalen Datennachricht, die eine Anforderung von Rechendiensten enthält, bei einem Rechenknoten mit einem ersten Prozessor; Zuweisen von Verarbeitungsressourcen auf einem Netz als eine Funktion der Anforderung unter Verwendung des ersten Prozessors; Senden und Empfangen von Daten über das Netz bei einer Smart-Network-Interface-Steuerung (NIC) mit einem zweiten Prozessor als eine Funktion einer oder mehrerer Vorschriften; Empfangen von Vorschriftenaktualisierungsdaten bei dem Smart-NIC; Implementieren der Vorschriftenaktualisierungsdaten bei dem Smart-NIC; und Verarbeiten der Daten, die über das Netz gesendet und empfangen werden, gemäß den aktualisierten Vorschriftendaten bei dem Smart-NIC.
  13. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten 5G-Benutzerebenenvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer 5G-Benutzerebenenvorschriften.
  14. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Routersystemvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer Routersystemvorschriften.
  15. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Gatewaysystemvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer Gatewaysystemvorschriften.
  16. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Netzadressentabellen (NAT) Vorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer NAT-Vorschriften.
  17. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Testsystemvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer Testvorschriften.
  18. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Dienstqualität (QOS) Systemvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer QOS-Vorschriften.
  19. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Filtervorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer Filtervorschriften.
  20. Verfahren nach Anspruch 12, bei dem die Vorschriftendaten Verkapselungssystemvorschriftendaten sind, ferner mit Senden und Empfangen von Daten über das Netz unter Verwendung des Smart-NIC als eine Funktion einer oder mehrerer Verkapselungsvorschriften.
DE112021006554.8T 2021-01-19 2021-12-21 Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern Pending DE112021006554T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/152,283 2021-01-19
US17/152,283 US11552904B2 (en) 2021-01-19 2021-01-19 Architecture for high performing data plane applications with smart network interface on compute servers
PCT/US2021/064519 WO2022159228A1 (en) 2021-01-19 2021-12-21 Architecture for high performing data plane applications with smart network interface on compute servers

Publications (1)

Publication Number Publication Date
DE112021006554T5 true DE112021006554T5 (de) 2023-12-28

Family

ID=80118857

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021006554.8T Pending DE112021006554T5 (de) 2021-01-19 2021-12-21 Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern

Country Status (4)

Country Link
US (2) US11552904B2 (de)
DE (1) DE112021006554T5 (de)
GB (1) GB202310995D0 (de)
WO (1) WO2022159228A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
US11636053B2 (en) 2020-09-28 2023-04-25 Vmware, Inc. Emulating a local storage by accessing an external storage through a shared port of a NIC
US11606310B2 (en) 2020-09-28 2023-03-14 Vmware, Inc. Flow processing offload using virtual port identifiers
US20220100432A1 (en) 2020-09-28 2022-03-31 Vmware, Inc. Distributed storage services supported by a nic
US11875172B2 (en) 2020-09-28 2024-01-16 VMware LLC Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
US11863376B2 (en) * 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
US11995024B2 (en) 2021-12-22 2024-05-28 VMware LLC State sharing between smart NICs
US20230350770A1 (en) * 2022-04-29 2023-11-02 Dell Products L.P. Recovery of smart network interface controller operating system
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941569B2 (en) 2005-02-24 2011-05-10 Hewlett-Packard Development Company, L.P. Input/output tracing in a protocol offload system
US20090222569A1 (en) 2008-02-29 2009-09-03 Atrato, Inc. Storage system front end
US8453225B2 (en) 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US8868709B2 (en) 2011-05-03 2014-10-21 International Business Machines Corporation Programmatically selecting a service provider based on assured quality of service attributes
US8918363B2 (en) 2011-11-14 2014-12-23 Google Inc. Data processing service
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US20150100667A1 (en) 2013-10-08 2015-04-09 WePow, Inc. Optimizing content delivery
US11100420B2 (en) 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US10540606B2 (en) 2014-06-30 2020-01-21 Amazon Technologies, Inc. Consistent filtering of machine learning data
US10397044B2 (en) * 2017-01-13 2019-08-27 New York University Network function virtualization (“NFV”) based communications network resilience
US10382346B2 (en) * 2017-10-24 2019-08-13 Cisco Technology, Inc. Method and device for offloading processing of data flows
WO2020030972A1 (en) * 2018-08-10 2020-02-13 Lenovo (Singapore) Pte. Ltd. Transport layer protocol for sip message
US11150963B2 (en) 2019-02-28 2021-10-19 Cisco Technology, Inc. Remote smart NIC-based service acceleration
US11184234B2 (en) * 2019-04-16 2021-11-23 Ciena Corporation Self-optimizing fabric architecture and self-assembling network
US11388054B2 (en) * 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
CN116346604A (zh) * 2019-05-07 2023-06-27 华为技术有限公司 一种路由规则的配置方法及通信装置
US11438229B2 (en) * 2020-01-16 2022-09-06 Dell Products L.P. Systems and methods for operating system deployment and lifecycle management of a smart network interface card
KR102217114B1 (ko) * 2020-07-24 2021-02-18 넷록스 주식회사 엣지 플랫폼 네트워크의 가속화 제어 방법 및 이를 사용하는 전자 장치
US20210109785A1 (en) * 2020-12-23 2021-04-15 Intel Corporation Methods, systems, articles of manufacture and apparatus to batch functions
US20220014459A1 (en) * 2021-09-27 2022-01-13 Intel Corporation Network layer 7 offload to infrastructure processing unit for service mesh

Also Published As

Publication number Publication date
US20220231968A1 (en) 2022-07-21
US11552904B2 (en) 2023-01-10
WO2022159228A1 (en) 2022-07-28
GB202310995D0 (en) 2023-08-30
US20230155961A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
DE112021006554T5 (de) Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern
DE112021006003T5 (de) Intelligente datenebenenbeschleunigung durch auslagern zu verteilten smart- network-interfaces
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
EP3461087B1 (de) Verfahren und vorrichtung zur verwaltung von netzwerk-slice-ressourcen
DE60217253T2 (de) Centrale und regelbasierte Verkehrsverwaltung
DE112008002550B4 (de) Verfahren und System für virtuelle Schnittstellenkommunikation
DE112014000415B4 (de) Quantisierte Überlastbenachrichtigung in einem virtuellen Netzwerksystem
DE112018008119T5 (de) Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
JP3419627B2 (ja) ルータ装置
CN111030912B (zh) 虚拟私有云vpc之间互通的方法
KR101172333B1 (ko) 특히 산업용 로봇을 제어하기 위한 데이터 처리 시스템, 및 특히 산업용 로봇을 제어하기 위해 제공된 데이터 처리 시스템의 가용 자원을 관리하는 방법
DE102014117461A1 (de) Hybrider SDN-Controller
DE112012002998T5 (de) Virtuelle Netzwerküberlagerungen
DE112013000395T5 (de) Richtliniendurchsetzung in Rechenumgebung
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
DE102014117460A1 (de) Programmierbares verteiltes Networking
WO2017080439A1 (zh) 一种网络功能弹性授权的方法和装置
DE112016005933T5 (de) Technologien zum Durchsetzen einer Netzwerkzugriffssteuerung fiir virtuelle Maschinen
DE112012004957T5 (de) Flexibles und skalierbares Enhanced-Transmission-Selection-Verfahren für Netzwerkstrukturen
WO2022042905A1 (de) Verfahren und system zur bereitstellung von zeitkritischen diensten
CN108462752B (zh) 一种访问共享网络的方法、系统及vpc管理设备以及可读存储介质
US10419392B2 (en) Method, device and system for implementing address sharing
Lee et al. High-performance software load balancer for cloud-native architecture
DE102016204030A1 (de) Controller und Verfahren zum Migrieren von RDMA-Arbeitsspeicherzuordnungen einer virtuellen Maschine
WO2005034463A1 (de) Verfahren zur bereitstellung von leistungsmerkmalen bei bedarf