DE112012006126T5 - Techniken für die Verwendung einer zugewiesenen Switch-Identifikation an einem Eingabe/Ausgabe-Gerät - Google Patents

Techniken für die Verwendung einer zugewiesenen Switch-Identifikation an einem Eingabe/Ausgabe-Gerät Download PDF

Info

Publication number
DE112012006126T5
DE112012006126T5 DE112012006126.8T DE112012006126T DE112012006126T5 DE 112012006126 T5 DE112012006126 T5 DE 112012006126T5 DE 112012006126 T DE112012006126 T DE 112012006126T DE 112012006126 T5 DE112012006126 T5 DE 112012006126T5
Authority
DE
Germany
Prior art keywords
data
tag
identification information
identification
input
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.)
Ceased
Application number
DE112012006126.8T
Other languages
English (en)
Inventor
Eliel Louzoun
Izhar Hofshi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112012006126T5 publication Critical patent/DE112012006126T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment

Landscapes

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

Abstract

Es werden Beispiele für die Zuweisung einer Switch-Identifikation zu Daten offenbart, die an einem Eingabe/Ausgabe-Gerät empfangen werden, das mit einem Hostgerät gekoppelt ist. In einigen Beispielen können die Daten mit einer Virtual Station Interface (VSI) für eine virtuelle Maschine verbunden sein, die auf dem Hostgerät implementiert ist. Für diese Beispiele kann eine Switch-Identifikation den Daten auf Basis eines zugewiesenen Port-Identifiers, Identifikationsinformationen für die Daten oder eines Urhebers von mindestens einem Teil der Identifikationsinformationen zugewiesen werden. Die zugewiesene Switch-Identifikation kann dann als Teil einer Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung der Daten am Eingabe/Ausgabe-Gerät zu bestimmen. Weitere Beispiele sind beschrieben und werden beansprucht.

Description

  • HINTERGRUND
  • Ein Eingabe/Ausgabe-(I/O-)Gerät, z. B. eine Netzwerkkarte (network interface card, NIC), kann an eine Computerplattform oder ein Hostgerät gekoppelt sein, die/das am Servernetzwerkrand bereitgestellt wird, an dem die Serverdomäne endet und eine externe Netzwerkdomäne beginnt. Eine bekannte Möglichkeit, Switch-Logik oder -Schaltung in solchen Umgebungen an einer NIC zu implementieren, ist durch Verwendung einer Reihe von Nachschlagetabellen. Die Nachschlagetabellen können einen Teil der Daten identifizieren, z. B. einen Paket-Header, und dann können in der Nachschlagetabelle Aktionen auf Basis des Paket-Headers definiert werden. Nachschlagetabellen funktionieren normalerweise gut bei einer NIC, die eine Switch-Schaltung implementiert, welche alle Ports über eine einzige Schaltinstanz verbindet.
  • Ein vom Institute of Electrical and Electronics Engineers (IEEE) vorgeschlagener Standard beschreibt die Implementierung zahlreicher Switches als Teil der Edge Virtual Bridging (EVB). Der vorgeschlagene Standard hat den Titel „IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment Edge Virtual Bridging” und wird als IEEE 802.1Qbg, Entwurf 2.1, veröffentlicht am 30. Januar 2012 (im Folgenden „IEEE 802.1Qbg”) bezeichnet. Eine NIC; die gemäß IEEE 802.Qbg funktioniert, muss möglicherweise getrennte, spezielle Switch-Instanzen für jeden logischen oder virtuellen Port implementieren, der mit einem Ethernet-Port verbunden ist. Außerdem muss die NIC möglicherweise zusätzliche lokale Switch-Instanzen für den internen Verkehr zwischen Verarbeitungselementen auf dem Hostgerät implementieren, die virtuelle Maschinen (VM) umfassen können. Des Weiteren sind möglicherweise kaskadierte Switch-Instanzen nötig, um eine Virtual Ethernet Bridge (VEB) oder einen Virtual Ethernet Port Aggregator (VEPA) in einem einzelnen Ethernet-Port zu implementieren. Für diese mehrere Switch-Instanzen, die getrennte Nachschlagetabellen für jede Switch-Instanz verwenden, können NIC-Ressourcen in erheblicher Menge nötig sein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein erstes exemplarisches System.
  • 2 veranschaulicht eine exemplarische Switch-Identifikationsstruktur.
  • 3 veranschaulicht eine exemplarische, zugewiesene Switch-Identifikationstabelle.
  • 4 veranschaulicht eine exemplarische Nachschlagetabelle.
  • 5 veranschaulicht ein Blockdiagramm einer exemplarischen Architektur für einen Switch-Manager.
  • 6 veranschaulicht ein exemplarisches Ablaufdiagramm für die Zuweisung einer Switch-Identifikation.
  • 7 veranschaulicht ein exemplarisches Systemdiagramm für ein Hostgerät.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie in der vorliegenden Offenbarung betrachtet, können mehrere Switch-Instanzen bei der Implementierung von EVB eine erhebliche Menge an NIC-Ressourcen benötigen, wenn getrennte Nachschlagetabellen für jede Switch-Instanz verwendet werden. Außerdem können Switch-Instanzen in einer virtuellen Switching-Umgebung mit dynamischen Konfigurationen verbunden sein. Als Folge der dynamischen Konfigurationen kann die Zuweisung einer getrennten Nachschlagetabelle für jede mögliche Switch-Instanz zu viele Ressourcen erfordern und kann außerdem mögliche Konfigurationen beschränken, da eine bestimmte NIC begrenzte Ressourcen für die Unterstützung dieser getrennten Nachschlagetabellen hat.
  • In einigen Beispiele sind Techniken für die Zuweisung einer Switch-Identifikation zu Daten implementiert, die an einem Eingabe/Ausgabe-Gerät empfangen werden, das mit einem Hostgerät gekoppelt ist. Für diese Beispiele können die Daten mit einer Virtual Station Interface (VSI) gekoppelt sein, die am I/O-Gerät aufrechterhalten wird, und die VSI kann kommunikativ mit einer virtuellen Maschine gekoppelt sein, die auf dem Hostgerät implementiert ist. Für diese Beispiele können die Daten von einer der virtuellen Maschinen oder einem Netzwerkelement gesendet worden sein, das an das I/O-Gerät über einen Netzwerkkommunikationslink gekoppelt werden kann. Eine Switch-Identifikation kann den Daten auf Basis eines zugewiesenen Port-Identifiers für einen Port, über den die Daten am I/O-Gerät empfangen werden, Identifikationsinformationen für die Daten und eines Urhebers von mindestens einem Teil der Identifikationsinformationen zugewiesen werden. Die zugewiesene Switch-Identifikation kann als Teil einer Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät zu bestimmen.
  • 1 veranschaulicht ein erstes exemplarisches System. Das exemplarische erste System, wie in 1 dargestellt, umfasst ein System 100. System 100 kann ein Hostgerät 101 umfassen, das an Eingabe/Ausgabegerät (I/O) 140 gekoppelt ist. Wie in 1 dargestellt, kann I/O-Gerät 140 an Hostgerät 101 über verschiedene Virtual Station Interfaces (VSIs) 111D, 112D, 113A, 114B, 115C, 116D, 117E und 118x („x” gibt die Verbindung mit einem noch festzulegenden Datenkanal an) gekoppelt sein, die in virtuellen Switches (VS) 141, 143, 146, 147, 148 und 149 enthalten sind. Die verschiedene VSIs, die in diesen virtuellen Switches enthalten sind, können getrennt angeordnet sein, um virtuelle Maschinen (VM) 111118 zu koppeln, wie in 1 dargestellt, und sie können den Empfang von Daten von oder das Senden/Übertragen von Daten zu den VM 111118 ermöglichen (z. B. in Form von Datenpaketen oder Datenframes). Für diese Beispiele können VM 111118 so konfiguriert oder angeordnet sein, dass sie mithilfe von Computerressourcen implementiert werden, die auf dem Hostgerät 101 aufrechterhalten werden. Eine Reihe von virtuellen Switches kann mit einer beliebigen Zahl von VSIs für die kommunikative Kopplung an eine beliebige Zahl von VM und/oder Virtual Machine Manager (Hypervisors) verbunden sein.
  • Gemäß einigen Beispielen ist, wie in 1 dargestellt, ein logischer Port (L-Port) 141-D als im virtuellen Switch 141 enthalten dargestellt. L-Port 141-D kann als logischer Port dienen, der an einen Datenkanal D gekoppelt werden kann. Wie weiter unten erörtert, kann Datenkanal D so angeordnet sein, dass er Daten zwischen VM 111 und VM 112 leitet. Die Leitung von Daten kann zum Beispiel über die jeweiligen VSIs 111 und 112, wie in 1 dargestellt, erfolgen.
  • Wie in 1 außerdem dargestellt, können Kommunikationslinks 150-1 bis 150-4 Netzwerkelemente, die in Netzwerk(en) 160 enthalten sind, mit Hostgeräten 101 über die jeweiligen Ports 130-1 bis 130-4 koppeln. In einigen Beispielen können Ports 130-1 bis 130-4 einen physischen Anschluss oder Port darstellen, über den Daten (z. B. in Form von Datenpaketen oder Frames) vom I/O-Gerät 140 empfangen oder zum I/O-Gerät gesendet werden können. I/O-Gerät 140 ist außerdem mit einem Port-Extender 144 dargestellt. Gemäß einigen Beispielen kann, wie in 1 dargestellt, Port Extender 144 E-Port 144-1C und E-Port 144-2D enthalten. Für diese Beispiele kann Port-Extender 144 es ermöglichen, dass der physische Port 103-2 durch mindestens zwei Erweiterungs-/Logikports zur Leitung von Daten zu/von virtuellen Switches 146 und 147 über E-Port 144-1C und E-Port 144-2D erweitert werden kann.
  • In einigen Beispielen beinhaltet, wie in 1 dargestellt, I/O-Gerät 140 einen Switch-Manager 142. Wie unten näher beschrieben, kann Switch-Manager 142 Logik und/oder Funktionen zur Zuweisung einer Switch-Identifikation zu Daten enthalten, die am I/O-Gerät 140 empfangen werden. Für diese Beispiele können Daten an einem Port aus den verschiedenen Ports empfangen werden, die in 1 dargestellt sind. Die zugewiesene Switch-Identifikationen können dann als Teil einer Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät 140 zu bestimmen (z. B. Weiterleitung, kryptografische/Sicherheitverarbeitung usw.).
  • Gemäß einigen Beispielen kann I/O-Gerät 140 so konfiguriert sein, dass es gemäß dem vorgeschlagenen IEEE-Standard (einschl. Folgeschriften und Varianten) mit dem Titel „Standard for Local and Metropolitan Area Networks – Virtual Bridged Local Area Networks – Bridge Port Extension”, bezeichnet als IEEE 802.1BR, Entwurf 3.2, veröffentlicht am 25. Januar 2012 (im Folgenden „IEEE 802.1BR”) betrieben wird oder zumindest einige Aspekte davon implementiert. Für diese Beispiel kann I/O-Gerät 140 auch so konfiguriert sein, dass es in Übereinstimmung mit dem vorgeschlagenen IEEE 802.1Qbg-Standard (einschl. Folgeschriften und Varianten) betrieben wird oder zumindest einige Aspekte davon implementiert. Als Teil der Implementierung von IEEE 802.1Qbg oder IEEE 802.1BR können verschiedene Datenkanäle für die Leitung von Daten entweder lokal zwischen virtuellen Maschinen an Hostgerät 101 oder global zu Netzwerkelementen, die sich in Netzwerk(en) 160 befinden, aufgebaut werden.
  • In einigen Beispielen sind, wie in 1 dargestellt, verschiedene aufgebaute Datenkanäle als Datenkanäle A–E gekennzeichnet. Für diese Beispiele sind die verschiedenen VSIs, die mit VM 111 bis 116 gekoppelt sind, mit Datenkanälen A, B, C, D oder E verbunden, mit Ausnahme von VSI 118x, die mit der virtuellen Maschine 118 gekoppelt ist. VSI 118x kann in einigen Beispielen eine VSI darstellen, die noch mit einem aufgebauten Datenkanal verbunden werden muss. Wie unten näher erörtert, können Daten, die über VSI 118x geleitet werden, Steuerinformationen enthalten, die schließlich einen Datenkanal mit VSI 118x aufbauen. Für diese Fälle kann eine Standardidentifikation oder ein Standardtag für diese Steuerdaten lokal erzeugt werden oder am I/O-Gerät 140 ihren Ursprung haben und dann zur Zuweisung einer Switch-Identifikation zu den Daten verwendet werden.
  • Gemäß einigen Beispielen können Datenkanäle verwendet werden, um entweder Daten zwischen VM weiterzuleiten, die sich an Hostgerät 101 befinden, oder um Daten zwischen VM und Netzwerkelementen zu leiten, die sich an Netzwerk(en) 160 befinden. Für diese Beispiel können Identifikationsinformationen für die über diese Datenkanäle geleiteten Daten ein Tag enthalten, das in IEEE 802.1Qbg oder IEEE 802.1BR beschrieben ist. Das Tag kann ein Servicetag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) sein. In einigen Beispielen kann das S-Tag oder E-Tag Identifikationsinformation sein, die angibt, dass Daten, die einen dieser Tags haben, mit einem bestimmten Kanal verbunden sein können. Diese Tags können global erzeugt werden oder aus Elementen ihren Ursprung haben, die vom I/O-Gerät 140 entfernt stehen, z. B. Netzwerkelemente an Netzwerk(en) 160.
  • In einigen Beispielen kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so angeordnet sind, dass Daten am I/O-Gerät 140 empfangen werden. Die Daten können mit einer VSI verbunden sein und können Identifikationsinformationen (z. B. einen S-Tag oder E-Tag) enthalten, um eine Verbindung mit Kanal A anzugeben. Wie in 1 dargestellt, kann eine VSI, die mit Kanal A gekoppelt oder verbunden ist, VSI 113A sein. Für diese Beispiele kann VSI 113A so angeordnet oder konfigurierbar sein, dass sie mit VM 113 gekoppelt ist, und auch so angeordnet sein, dass sie Daten von VM 113 über den virtuellen Switch 143 leitet. Gemäß einigen Beispielen können, da die Daten über einen Datenkanal geleitet werden, der mit Netzwerk(en) 160 gekoppelt ist, die Daten als am physischen Port 130-1, der mit Kanal A gekoppelt ist, empfangen angesehen werden. Switch-Manager 142 kann Logik und/oder Funktionen enthalten, die so angeordnet oder konfiguriert sind, dass sie den Daten eine Switch-Identifikationsnummer auf Basis eines Identifiers, der Port 130-1 zugewiesen ist, Identifikationsinformationen der Daten (z. B. Tag-Informationen) und des Urhebers von zumindest einem Teil der Identifikationsinformationen zuweisen. Die Switch-Identifikationsinformationen können dann von der Logik und/oder den Funktionen von Switch-Manager 142 als Teil der Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung von Daten am I/O-Gerät 140 zu bestimmen.
  • In einigen anderen Beispielen können Daten, die Identifikationsinformationen haben, die auf eine Verbindung mit Kanal A hinweisen, am I/O-Gerät 140 über Port 130-1 empfangen werden. Die über Port 130-1 empfangenen Informationen können dann über Kanal A zum virtuellen Switch 143 geleitet werden. Wie vorher erörtert, kann VSI 113A mit VM 113 gekoppelt sein. Für diese Beispiele kann VSI 113A so angeordnet sein, dass sie das Senden oder Übertragen von Daten zu VM 113 veranlasst. Für diese anderen Beispiele kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so angeordnet oder konfiguriert sind, dass sie den Daten eine Switch-Identifikationsnummer auf Basis eines Identifiers, der dem Empfangsport (Port 130-1) von I/O-Gerät 140 zugewiesen ist, Identifikationsinformationen für die Daten und des Urhebers von mindestens einem Teil der Identifikationsinformationen zuweisen. Die Switch-Identifikationsinformationen können dann von der Logik und/oder den Funktionen von Switch-Manager 142 als Teil der Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung von Daten am I/O-Gerät 140 zu bestimmen.
  • In einigen Beispielen können Daten an einem Port empfangen werden, der in I/O-Gerät 140 enthalten ist, die zwischen VM 111 und 112 über Datenkanal D zum virtuellen Switch 141 geleitet werden. Daten, die an L-Port 141-1D über VSI 111D von VM 111 empfangen werden, können das Ziel VM 112 haben. Für diese Beispiele können Identifikationsinformationen für die an Port 141-1D empfangenen Daten eine Datenkanal-Identifikationsnummer enthalten, die an I/O-Gerät 140 ihren Ursprung haben (z. B. am virtuellen Switch 141). Die Identifikationsnummer von Datenkanal D kann ähnlich dem Format eines S-Tag oder E-Tag sein. Switch-Manager 142 kann Logik und/oder Funktionen enthalten, die so angeordnet oder konfiguriert sind, dass sie den Daten eine Switch-Identifikationsnummer auf Basis eines Identifiers, der Port 141-1D zugewiesen ist, der lokal erzeugten Identifikationsnummer von Kanal D und einer Angabe, dass der Urheber von mindestens einem Teil der Identifikationsinformationen bei I/O-Gerät 140 war, zuweisen. Die Switch-Identifikationsinformationen können dann von der Logik und/oder den Funktionen von Switch-Manager 142 als Teil der Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung von Daten am I/O-Gerät 140 zu bestimmen.
  • In einigen Beispielen kann der virtuelle Switch 141 so konfiguriert sein, dass er gemäß IEEE 802.1Qbg arbeitet und als Virtual Ethernet Bridge (VEB) fungiert.
  • In einigen Beispielen können Kommunikationslinks 150-1 bis 150-4 I/O-Gerät 140 kommunikativ mit Netzwerk(en) 160 über die jeweiligen Ports 130-1 bis 130-4 koppeln. Kommunikationslinks 150-1 bis 150-4 können verschiedene Arten von kabelgebundenen, drahtlosen oder optischen Kommunikationsmedien umfassen. Für diese Beispiele können die Kommunikationslinks 150-1 bis 150-4 gemäß einem oder mehreren anwendbaren Kommunikations- oder Netzwerk-Standards in irgendeiner Version betrieben werden. Die Kommunikations- oder Netzwerk-Standards können u. a. IEEE 802.1Qbg oder IEEE 802.1BR einschließen.
  • 2 veranschaulicht eine exemplarische Switch-Identifikationsstruktur 200. In einigen Beispielen kann Switch-Manager 142 Logik und/oder Funktionen zur Verwendung einer Switch-Identifikationsstruktur 200 zur Zuweisung einer Switch-Identifikation zu Daten enthalten, die am I/O-Gerät 140 empfangen werden. Wie in 2 dargestellt, beinhaltet die Switch-Identifikationsstruktur Felder 210, 220 und 230. In einigen Beispielen kann Feld 210 einen Urheber von mindestens einem Teil der Identifikationsinformationen für die Daten angeben. Feld 220 kann einen zugewiesenen Port-Identifier für einen Port angeben, über den Daten am I/O-Gerät 140 empfangen werden können. Feld 230 kann die Identifikationsinformationen für die Daten angeben. Die Identifikationsinformationen für die Daten können Datenkanal-Identifikationsnummern wie S-Tags, E-Tags oder lokal erzeugte Standardinformationen/Standardinformationen mit lokalem Ursprung umfassen.
  • Gemäß einigen Beispielen kann ein lokaler Urheber der Identifikationsinformationen in Switch-ID-Struktur 200 durch einen 1-Bit-Binärwert von 0 und der globale Urheber kann durch einen 1-Bit-Wert von 1 in Feld 210 angegeben werden. Außerdem kann die Empfangsportnummer in Feld 220 durch einen 3-Bit-Wert angegeben werden. Ein zugewiesener Identifier von „4” würde also durch einen 3-Bit-Binärwert von 100 und ein zugewiesener Identifier von „2” würde durch einen 3-Bit-Binärwert von 010 angegeben. Diese Offenlegung ist nicht auf 1-Bit- oder 3-Bit-Binärwerte für Felder 210 bzw. 220 beschränkt.
  • In einigen Beispielen können die Identifikationsinformationen für Daten, die in Feld 230 enthalten sind, Datenkanal-Identifikationsnummern von 1 bis 4096 umfassen. Außerdem können S-Tag- oder E-Tag-Informationen Identifikationsnummern von 1 bis 4096 umfassen. Diese Identifikationsnummern können in Feld 230 als 12-Bit-Binärwert oder 3-Zeichen-Hexadezimalwert dargestellt sein. Diese Offenbarung ist nicht auf 12-Bit-Binär- oder 3-Bit-Zeichen-Hexadezimalwerte für Feld 230 oder Zahlen von 1 bis 4096 beschränkt.
  • 3 veranschaulicht eine exemplarische zugewiesene Switch-Identifikationstabelle 300. In einigen Beispielen stellt die zugewiesene Switch-ID-Tabelle 300 dar, wie Werte, die mit Switch-ID-Struktur 200 verbunden sind, verwendet werden können, um Switch-Identifikationen zu Daten zuzuweisen. Für diese Beispiele kann die zugewiesene Switch-ID-Tabelle 300 mindestens in einem Speicher gespeichert sein, der an I/O-Gerät 140 aufrechterhalten wird (z. B. Speicher 145). Die verschiedenen virtuellen Switches von I/O-Gerät 140 sind in der linken Spalte der zugewiesenen Switch-Identifikationstabelle 300 aufgeführt und zugewiesene Switch-Identifikationen für empfangene Daten sind in den rechten drei Spalten aufgeführt.
  • Gemäß einigen Beispielen kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so konfiguriert oder angeordnet sind, dass sie eine Switch-Identifikation zu Daten auf Basis eines zugewiesenen Port-Identifiers für einen Port, über den die Daten empfangen wurden, Identifikationsinformationen für die Daten (Tag oder Standardwert) und eines Urhebers von mindestens einem Teil der Identifikationsinformationen (lokal oder global) zuweisen. Zum Beispiel wurde oben erörtert, dass der virtuelle Switch 141 Identifikationsinformationen für Daten erzeugt, die zwischen VM 111 und 112 geleitet werden. Somit wird ein Wert von 0 in der Spalte „Lokal/Global” für den virtuellen Switch 141 angegeben. Außerdem kann in einigen Beispielen L-Port 141-1D des virtuellen Switch 141 eine Portnummer von 1 zugewiesen sein und diese Portnummer für den virtuellen Switch 141 ist in Tabelle 300 mit einem Binärwert 001 dargestellt. Des Weiteren können Daten zwischen VSIs weitergeleitet werden, die mit dem virtuellen Switch 141 über Datenkanal D gekoppelt sind. Für dieses Beispiel kann eine Datenkanalidentifikation, die mit Datenkanal D verbunden ist, einen Hexadezimalwert von 0x005 haben und dieser Wert ist in 3 in der Spalte „Identifikationsinformationen” angegeben.
  • In einigen Beispielen können, wie oben für 1 erörtert, virtuelle Switches 143 und 146 bis 148 so konfiguriert sein, dass sie Daten empfangen, die Identifikationsinformationen haben, die entfernt von I/O-Gerät 140 erzeugt wurden oder ihren Ursprung haben. Somit wird ein Wert von 1 in der Spalte „Lokal/Global” für virtuelle Switches 143 und 146148 angegeben. Für diese virtuellen Switches können die von Netzwerk(en) 160 empfangenen Daten über Ports 130-1 bis 130-3 empfangen werden. Diesen drei Ports können Portnummern 1–3, von links nach rechts (siehe 1), zugewiesen werden, und diese Portnummern sind in Tabelle 300 mit Binärwerten 001, 010 bzw. 011 dargestellt. Des Weiteren können Daten an die VSIs weitergeleitet oder durch die VSIs geleitet werden, die mit diesen virtuellen Switches über Datenkanäle A–E gekoppelt sind. Gemäß einigen Beispielen kann ein S-Tag mit Daten verbunden sein, die über Datenkanäle A–E empfangen werden. Ein über Datenkanäle A–E empfangenes S-Tag kann eine Identifikationsnummer mit einem Hexadezimalwert von 0x002, 0x003, 0x004, 0x005 bzw. 0x006, haben.
  • In einigen Beispielen kann der virtuelle Switch 149 so konfiguriert sein, dass er Daten über einen nicht zugewiesenen Datenkanal x empfängt, der mit Port 130-4 gekoppelt ist. Da der Datenkanal keine zugewiesene Datennummer hat, wird der Urheber der Identifikationsinformationen für die über Kanal x empfangenen Daten als lokal betrachtet und ein Wert 1 wird in der Spalte „Lokal/Global” für den virtuellen Switch 149 angegeben. Wie in 1 dargestellt, kann Port 130-4 der vierte Port sein, der mit Netzwerk(en) 160 gekoppelt ist. Gemäß einigen Beispielen kann Port 130-4 eine Portnummer von 4 mit einem Binärwert 100 zugewiesen sein, wie in der Spalte „Empfangsportnummer” angegeben. Außerdem wird ein Standardhexadezimalwert von 0x000 in der Spalte „Identifikationsinformationen” angegeben, der zeigt, dass die am virtuellen Switch 149 empfangenen Daten noch nicht mit einer Datenkanal-Identifikationsnummer verbunden oder einer zugewiesen sind.
  • Gemäß einigen Beispielen, wie in Tabelle 300 dargestellt, sind die Datenkanal-Identifikationsnummer für Datenkanal D am virtuellen Switch 141 und der Datenkanal am virtuellen Switch 147 beide 0x005. Da jedoch der Datenkanal-Identifier für Datenkanal D am virtuellen Switch 141 von einem lokalen Urheber stammte, unterscheidet sich die zugewiesene Switch-Identifikation, weil der lokale Identifier einen Wert von 0 und der globale Identifier einen Wert von 1 für Datenkanal D am virtuellen Switch 147 hat.
  • 4 veranschaulicht eine exemplarische Nachschlagetabelle 400. Wie in 4 dargestellt, enthält Nachschlagetabelle 400 Spalten für zugewiesene Switch-Identifikationen, VSI-Identifikationen und damit verbundene Aktionen. Gemäß einigen Beispielen können die zugewiesenen Switch-Identifikationen auf der zugewiesenen Switch-ID-Tabelle 300 wie oben für 3 beschrieben basieren. Für diese Beispiele können die 1-Bit- und 3-Bit-Binärwerte in den Spalten „Lokal/Global” und „Empfangsportnummer” kombiniert werden, um einen 4-Bit-Binärwert zu bilden, und dieser 4-Bit-Binärwert kann dann in einen 1-Zeichen-Hexadezimalwert umgewandelt werden. Der 1-Zeichen-Hexadezimalwert kann dann als 4. Zeichen zum 3-Zeichen-Dateneigenschaftswert hinzugefügt werden, der in der Spalte „Identifikationsinformationen” der zugewiesenen Switch-ID-Tabelle 300 dargestellt ist. Als Folge dieser Kombinationen kann eine bestimmte zugewiesene Switch-Identifikation einen 4-Zeichen-Hexadezimalwert haben, wie in Nachschlagetabelle 400 dargestellt. Zum Beispiel hätten Daten mit einem globalen Urheber für Identifikationsinformationen, die an Port 3 von I/O-Gerät 140 empfangen werden, einen 4-Bit-Binärwert von 1011 und dieser Wert wird in einen Hexadezimalwert von B (oder einen Dezimalwert von 11) umgewandelt.
  • Gemäß einigen Beispielen kann, wie in 4 dargestellt, Nachschlagetabelle 400 eine Spalte „VSI-Informationen” enthalten, die Identifikationsinformationen angibt, die eine Virtual Lokal Area Network(VLAN)-/Media Access Controller(MAC)-ID umfassen. Für diese Beispiele können die VLAN/MAC-ID-Informationen zusammen mit der zugewiesenen Switch-ID verwendet werden, um weiter zu bestimmen, welche Aktionen für Daten ergriffen werden, die an I/O-Gerät 140 empfangen werden.
  • In einigen Beispielen können, wie in 4 dargestellt, empfangenen Daten die 4-Zeichen-Switch-Identifikationsnummern zugewiesen werden und Switch-Manager 142 kann Logik und/oder Funktionen enthalten, die so konfiguriert oder angeordnet sind, dass die zugewiesenen Switch-Identifikationen als Teil von Nachschlagetabelle 400 und möglicherweise VLAN/MAC-ID-Informationen verwendet werden, um eine Aktion für die Daten zu bestimmen, die über einen bestimmten Port an I/O-Gerät 140 empfangen werden.
  • Gemäß einigen Beispielen kann Switch-Manager 142, der an I/O-Gerät 140 aufrechterhalten wird, Logik und/oder Funktionen enthalten, um Nachschlagetabelle 400 zumindest vorübergehend in Speicher 145 zu speichern. Für diese Beispiele kann zumindest ein Teil von Speicher 145 als Ternary Content-Addressable Memory (TCAM) angeordnet oder konfiguriert sein. Daten, die an I/O-Gerät 140 empfangen werden und denen eine bestimmte Switch-Identifikation zugewiesen ist, können schnell mit der jeweiligen zugewiesenen Switch-Identifikation verbunden werden und entsprechende Verarbeitungsaktionen können schnell mithilfe dieser zugewiesenen Switch-Identifikation basierend darauf, was in Nachschlagetabelle 400 angegeben ist, bestimmt werden.
  • In einigen Beispielen können, wie in 4 für Nachschlagetabelle 400 dargestellt, Aktionen für die Verarbeitung von Daten, die einer bestimmten Switch-Identifikation zugewiesen sind, die Leitung von Daten direkt zu einem bestimmten Port umfassen. Zum Beispiel können Daten, die eine zugewiesene Switch-Identifikation von 0x1005 haben, direkt zu VSI 111D geleitet werden. Diese Daten können dann von VSI 111D zu VM 112 übertragen/gesendet werden.
  • Gemäß einigen Beispielen können, wie in 4 für Nachschlagetabelle 400 dargestellt, Aktionen für die Verarbeitung von Daten, die einer bestimmten Switch-Identifikation zugewiesen sind, Elemente von I/O-Gerät 140 beinhalten (z. B. eine kryptographische Prozessorschaltung), die kryptographische Verarbeitung der Daten durchführt und die Daten dann zu einem bestimmten Port leitet. Zum Beispiel können Daten, die eine zugewiesene Switch-Identifikation von 0x9002 haben, zu einer kryptographischen Prozessorschaltung zur Verschlüsselung/Entschlüsselung weitergeleitet und dann zu VSI 113A geleitet werden. Die Daten können dann von VSI 113A zu VM 113 übertragen/gesendet werden.
  • In einigen Beispielen können, wie in 4 für Nachschlagetabelle 400 dargestellt, Aktionen für die Verarbeitung von Daten, die einer bestimmten Switch-Identifikation zugewiesen sind, Elemente von I/O-Gerät 140 beinhalten (z. B. eine Sicherheitsprozessorschaltung), die Paket-/Frameüberprüfungsverarbeitung der Daten durchführt und die Daten dann zu einem bestimmten Port leitet. Zum Beispiel können Daten, die eine zugewiesene Switch-Identifikation von 0xA005 haben, zu einer Sicherheitsprozessorschaltung zur Paket-/Frameüberprüfung weitergeleitet und dann zu Port 143-1A geleitet werden. Die Daten können dann von VSI 115D zu VM 115 übertragen/gesendet werden.
  • 5 veranschaulicht ein Blockdiagramm einer exemplarischen Architektur für einen Switch-Manager 142. In einigen Beispielen enthält Switch-Manager 142 Funktionen und/oder Logik, die so konfiguriert oder angeordnet sind, dass Daten, die an einem I/O-Gerät empfangen werden, das an ein Hostgerät gekoppelt ist, eine Switch-Identifikation zugewiesen wird. Gemäß einigen Beispielen enthält, wie in 5 dargestellt, Switch-Manager 142 eine Switch-Logik 510, eine Steuerlogik 520, einen Speicher 530 und Eingabe/Ausgabe-Schnittstellen (I/O) 540. Wie in 5 veranschaulicht, kann Switch-Logik 510 mit Steuerlogik 520, Speicher 530 und I/O-Schnittstellen 540 gekoppelt sein. Switch-Logik 510 kann ein oder mehrere Empfangsfunktionen 512, Zuweisungsfunktionen 514 oder Nachschlagefunktionen 516 oder jede sinnvolle Kombination daraus enthalten.
  • In einigen Beispielen sind die in 5 dargestellten Element so konfiguriert, dass sie Switch-Manager 142 wie an anderer Stelle in dieser Offenbarung beschrieben unterstützen oder aktivieren. Ein bestimmter Switch-Manager 142 kann einige, alle oder mehr Elemente wie in die in 5 dargestellten enthalten. Zum Beispiel können Switch-Logik 510 und Steuerlogik 520 getrennt oder zusammen eine Vielzahl von Logikgerät(en) oder ausführbare Inhalte darstellen, die die Funktionen von Switch-Manager 142 implementieren. Beispielhafte Logikgeräte können ein oder mehrere Prozessorschaltungen, Mikroprozessoren, Mikrocontroller, Field Programmable Gate Array (FPGA), anwendungsspezifische integrierte Schaltungen (application specific integrated circuit, ASIC), alleinstehende Threads oder Kerne eines Mehrkern-/Multi-Thread-Mikroprozessors, Kryptographieblöcke, Offload-Prozessoren oder eine Kombination daraus umfassen.
  • In einigen Beispielen beinhaltet, wie in 5 dargestellt, Switch-Logik 510 Empfangsfunktion 512, Zuweisungsfunktion 514 oder Nachschlagefunktion 516. Switch-Logik 510 kann so konfiguriert sein, dass sie ein oder mehrere dieser Funktionen verwendet, um Operationen durchzuführen. Zum Beispiel kann Empfangsfunktion 512 einem I/O-Gerät beim Empfangen von Daten helfen. Zuweisungsfunktion 514 kann eine Switch-Identifikationsnummer auf Basis eines zugewiesenen Port-Identifiers für einen Port, über den die Daten am I/O-Gerät empfangen wurden, Identifikationsinformationen für die Daten und eines Urhebers von mindestens einem Teil der Identifikationsinformationen zuweisen. Nachschlagefunktion 516 kann die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwenden, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät zu bestimmen.
  • In einigen Beispielen kann Steuerlogik 520 so konfiguriert sein, dass sie die gesamten Operationen von Switch-Manager 142 steuert. Wie oben erörtert, kann Steuerlogik 520 jedes aus einer Vielzahl von Logikgeräten oder ausführbarer Inhalte darstellen. Für einige Beispiele kann Steuerlogik 520 so konfiguriert sein, dass sie in Verbindung mit ausführbaren Inhalten oder Befehlen arbeitet, um die Steuerung von Switch-Manager 142 zu implementieren. In einigen alternativen Beispielen können die Funktionen und Funktionalität von Steuerlogik 520 in Switch-Logik 510 implementiert sein.
  • Gemäß einigen Beispielen kann Speicher 530 so angeordnet sein, dass er ausführbare Inhalte oder Befehle für die Verwendung durch Steuerlogik 520 und/oder Switch-Logik 510 speichert. Die ausführbaren Inhalte oder Befehle können verwendet werden, um Funktionen, Elemente oder Logik von Switch-Manager 142 zu implementieren oder zu aktivieren. Wie unten weiter beschrieben, kann Speicher 530 auch so angeordnet sein, dass er zumindest vorübergehend Informationen behält, die mit der Zuweisung von Switch-Identifikationsnummern zu Daten verbunden sind, die am I/O-Gerät empfangen werden, das mit einem Hostgerät gekoppelt ist.
  • Speicher 530 kann eine Vielzahl nicht flüchtiger Speichermedien umfassen, z. B., aber nicht beschränkt auf, ein oder mehrere Arten von Flash-Speicher, programmierbare Variablen oder Zustände, Festspeicher (Read-Only Memory, ROM), Direktzugriffsspeicher (Random-Access Memory, RAM) oder andere statische oder dynamische Speichermedien.
  • In einigen Beispielen können I/O-Schnittstellen 540 eine Schnittstelle über ein lokales Kommunikationsmedium oder einen Link zwischen Switch-Manager 142 und den Elementen eines I/O-Geräts oder Elementen eines Hostgeräts bereitstellen. I/O-Schnittstellen 540 können Schnittstellen umfassen, die gemäß verschiedener Kommunikationsprotokolle oder -standards arbeiten, um über das lokale Kommunikationsmedium oder den Link zu kommunizieren. Diese Kommunikationsprotokolle oder -standards können in einem oder mehreren Industriestandards (einschl. Folgeschriften und Varianten) beschrieben sein, z. B. denen, die mit der Inter-Integrated Circuit(I2C)-Spezifikation, der System Management Bus(SMBus)-Spezifikation, der Peripheral Component Interconnect Express(PCI Express)-Spezifikation, der Universal Serial Bus(USB)-Spezifikation oder der Serial Advanced Technology Attachment(SATA)-Spezifikation verbunden sind. Doch ist diese Offenbarung nicht auf die oben erwähnten Standards und die damit verbundenen Protokolle beschränkt.
  • Gemäß einigen Beispielen können I/O-Schnittstellen 540 eine Schnittstelle über einen Netzwerkkommunikationslink oder Kanal zwischen Switch-Manager 142 und Elementen bereitstellen, die sich an einem Computergerät befinden, das mit einem I/O-Gerät gekoppelt ist, und/oder Netzwerkelementen, die mit einem Kommunikationslink verbunden sind, der mit dem I/O-Gerät gekoppelt ist. I/O-Schnittstellen 540 können Schnittstellen umfassen, die gemäß verschiedener Kommunikationsprotokolle oder -standards arbeiten, um über den Netzwerkkommunikationslink oder Kanal zu kommunizieren. Diese Kommunikationsprotokolle oder -standards können in mit Ethernet verbundenen Standards oder Spezifikationen (einschl. Folgeschriften und Varianten) beschrieben sein, zum Beispiel solchen, die mit IEEE 802.1Qbg oder IEEE 802.1BR verbunden sind. Diese Offenbarung ist nicht nur auf diese mit Ethernet verbundenen Standards beschränkt.
  • 6 veranschaulicht ein exemplarisches Ablaufdiagramm für die Zuweisung einer Switch-Identifikation. In einigen Beispielen können Elemente von System 100, wie in 1 dargestellt, verwendet werden, um exemplarische Operationen zu veranschaulichen, die mit dem in 6 dargestellten Ablaufdiagramm verbunden sind. Switch-Manager 142, wie in 1 oder 5 dargestellt, kann ebenfalls verwendet werden, um die exemplarischen Operationen zu veranschaulichen Jedoch sind die beschriebenen exemplarischen Operationen nicht auf Implementierungen bei System 100 oder Switch-Manager 142 beschränkt, wie oben für 1 oder 5 beschrieben.
  • Switch-ID-Struktur 200, zugewiesene Switch-ID-Tabelle 300 und Nachschlagetabelle 400, wie in 24 dargestellt, können ebenfalls verwendet werden, um die exemplarischen Operationen in Verbindung mit dem in 6 dargestellten Ablaufdiagramm zu veranschaulichen. Jedoch sind die beschriebenen exemplarischen Operationen nicht auf die bestimmten Strukturen und Tabellen begrenzt, die in 24 veranschaulicht sind.
  • Vom Beginn zu Block 610 (Daten empfangen) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so angeordnet sind, dass sie I/O-Gerät 140 beim Empfang von Daten helfen (z. B. über Empfangsfunktion 512). In einigen Beispielen können die Daten in einem Format eines Datenpakets oder -frames sein und ein Ziel haben, das mit einer oder mehreren virtuellen Maschinen an Hostgerät 101 oder mit einem oder mehreren Netzwerkelementen an Netzwerk(en) 160 verbunden ist.
  • Fortschreitend von Block 610 zu Entscheidungsblock 620 (Von Netzwerk?), kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die angeordnet sind, um zu bestimmen, ob die Daten über einen der Ports 130-1 bis 130-4 empfangen wurden, die mit Kommunikationslinks 150-1 bis 150-4 gekoppelt sind, oder an L-Port 141-1D, der im virtuellen Switch 141 enthalten ist (z. B. über Empfangsfunktion 512). In einigen Beispielen können die Daten von VM 111 oder VM 112 über L-Port 141-1D empfangen worden sein, der im virtuellen Switch 141 enthalten ist. Für diese Beispiele geht der Prozess zu Entscheidungsblock 630 weiter. In anderen Beispielen können die Daten von einem Netzwerkelement empfangen worden sein, das sich in Netzwerk(en) 160 befindet. Für diese anderen Beispiele geht der Prozess zu Entscheidungsblock 650 weiter.
  • Von Entscheidungsblock 620 zu Entscheidungsblock 630 (Hat Tag?) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die angeordnet sind, um zu bestimmen, ob die empfangenen Daten Identifikationsinformationen wie ein S-Tag oder E-Tag enthalten (z. B. über Zuweisungsfunktion 514). In einigen Beispielen kann es sein, dass ein Datenpaket-Header, der mit den Daten verbunden ist, keine Identifikationsinformationen enthält, um eine Verbindung mit einem Kanal zu identifizieren. Für diese Beispiele geht der Prozess zu Block 640 weiter. Sonst geht, wenn die Daten Identifikationsinformationen enthalten, der Prozess zu Block 670 weiter.
  • Von Entscheidungsblock 630 zu Block 640 (Switch-ID = {Lokal, Portnr., VSI-Kanal-ID}) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so angeordnet sind, dass sie eine Switch-Identifikation zu den Daten zuweisen (z. B. über Zuweisungsfunktion 514). In einigen Beispielen wäre, da die Daten keine Identifikationsinformationen enthalten haben, der Urheber der Identifikationsinformationen lokal. Die Portnr. wäre der zugewiesene Identifier für L-Port 141-1D, der im virtuellen Switch 141 enthalten ist. Die VSI-Kanal-ID kann eine Kanalidentifikationsnummer sein, die von Switch-Manager 142 zugewiesen wurde, und sie kann in einem ähnlichen Format wie ein S-Tag oder E-Tag sein.
  • Von Entscheidungsblock 620 zu Entscheidungsblock 650 (Hat Tag?) gehend, ähnlich Entscheidungsblock 630, kann Switch-Manager 142 bestimmen, ob die empfangenen Daten Identifikationsinformationen wie ein S-Tag oder E-Tag enthalten. In einigen Beispielen kann es sein, dass ein Datenpaket-Header, der mit den Daten verbunden ist, keine Identifikationsinformationen enthält, um eine Verbindung mit einem Kanal zu identifizieren. Für diese Beispiele geht der Prozess zu Block 660 weiter. Sonst geht, wenn die Daten Identifikationsinformationen enthalten, der Prozess zu Block 670 weiter.
  • Von Entscheidungsblock 650 zu Block 660 (Switch-ID = {Lokal, Portn., Standard-ID}) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so angeordnet sind, dass sie eine Switch-Identifikation zu den Daten zuweisen (z. B. über Zuweisungsfunktion 514). In einigen Beispielen wäre, ähnlich Block 640, da die Daten keine Identifikationsinformationen enthalten haben, der Urheber der Identifikationsinformationen lokal. Die Portnr. kann dann der zugewiesene Identifier für den Port sein, der mit einem der Kommunikationslinks 150-1 bis 150-4 gekoppelt ist (z. B. Portnr. 4), über den die Daten vom Netzwerk empfangen wurden. Die Standard-ID kann eine Standard-Kanalidentifikationsnummer sein, die von Switch-Manager 142 zugewiesen wurde, und sie kann in einem ähnlichen Format wie ein S-Tag oder E-Tag sein.
  • Von Entscheidungsblock 630 oder Entscheidungsblock 650 zu Block 670 (Switch-ID = {Global, Portn., Tag}) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, die so konfiguriert sind, dass sie eine Switch-Identifikation zu den Daten zuweisen (z. B. über Zuweisungsfunktion 514). In einigen Beispielen können die Identifikationsinformationen für die Daten außerhalb oder entfernt von I/O-Gerät 140 ihren Ursprung haben und daher als global angesehen werden. Die Portnr. kann dann der zugewiesene Identifier für den Port sein, der mit einem der Kommunikationslinks 150-1 bis 150-4 gekoppelt ist (z. B. Portnr. 2), über den die Daten vom Netzwerk empfangen wurden. Außerdem kann das Tag die Identifikationsinformationen für de Daten sein und es kann in einem ähnlichen Format wie ein S-Tag oder E-Tag sein.
  • Von Block 640, 660 oder 670 zu Block 680 (Switch-ID zum Verarbeiten von Daten verwenden) gehend, kann Switch-Manager 142 Logik und/oder Funktionen enthalten, um die den Daten zugewiesene Switch-Identifikationsnummer zu verwenden, und er kann außerdem VSI ID-Informationen (VLAN/MAC-IDs) verwenden, um ein oder mehrere Aktionen für die Verarbeitung von Daten am I/O-Gerät 140 bestimmen (z. B. über Nachschlagefunktion 516). In einigen Beispielen kann die in Nachschlagetabelle 400 für die entsprechende Switch-Identifikationsnummer identifizierte Aktion verwendet werden, um die ein oder mehreren Aktionen für die Daten zu bestimmen. Wie oben erörtert, können die ein oder mehreren Aktionen die Leitung von Daten, kryptographische Verarbeitung der Daten oder Paketüberprüfungsverarbeitung der Daten umfassen. Der Prozess endet dann.
  • 7 veranschaulicht ein exemplarisches Systemdiagramm für ein Hostgerät 700. Wie in 7 dargestellt, umfasst Hostgerät 700 Hypervisor 705, Betriebssystem(e) 710, Anwendung(en) 720, Netzwerk-Eingabe/Ausgabe(I/O)-Gerät(e) 730, Benutzer-Eingabe/Ausgabe(I/O)-Gerät(e) 740, einen Arbeitsspeicher 750, einen Datenspeicher 760, eine Zentraleinheit (CPU) 770, einen Chipsatz 780 und Kommunikationen (Comms) 790. Gemäß einigen Beispielen sind in 7 auch mehrere Schnittstellen für das Verbinden und/oder kommunikative Koppeln von Elementen von Hostgerät 700 dargestellt. Zum Beispiel können Benutzeroberfläche 715 und Schnittstelle 735 Benutzern (nicht dargestellt) und/oder Anwendung(en) 720 die Kopplung mit Betriebssystem(en) 710 und/oder Hypervisor 705 ermöglichen. Außerdem kann Schnittstelle 735 Elementen von Hypervisor 705 und/oder Betriebssystem(en) 710 (z. B. Gerätetreiber 711) die kommunikative Kopplung mit Elementen von Hostgerät 700 ermöglichen, z. B. Netzwerk-I/O-Gerät(e) 730, Benutzer-I/O-Gerät(e) 740, Datenspeicher 750, Arbeitsspeicher 760, CPU 770, Chipsatz 780 oder Comms 790. Schnittstelle 754 kann zum Beispiel Hardware- und/oder Firmware-Elementen von Hostgerät 700 die kommunikative Kopplung miteinander ermöglichen, z. B. über einen Systembus oder andere Art von internem Kommunikationskanal.
  • In einigen Beispielen kann, wie in 7 dargestellt, Hostgerät 700 Betriebssystem(e) 710 enthalten. Betriebssystem(e) 710 kann/können zum Beispiel ein oder mehrere Betriebssysteme umfassen. Getrennte Betriebssysteme, die in Betriebssystem(en) 710 enthalten sind, können als Teil getrennter virtueller Maschinen implementiert werden, die von Elementen von Hostgerät 700 unterstützt werden. Für diese Beispiele können die getrennten virtuellen Maschinen mit ein oder mehreren Prozessoren verbunden sein, die in CPU 770 enthalten sind. Für diese Beispiele kann außerdem Hypervisor 705 als virtuelle Maschine für diese getrennten virtuellen Maschinen dienen.
  • Gemäß einigen Beispielen kann/können, wie in 7 dargestellt, Betriebssystem(e) 710 Gerätetreiber 711 getrennt enthalten. Gerätetreiber 711 kann/können Logik und/oder Funktionen enthalten, die so konfiguriert sind, dass sie mit Hardware-/Firmwaretypelementen von Hostgerät 700 interagieren (z. B. über Schnittstelle 735). Gerätetreiber 711 kann/können zum Beispiel Gerätetreiber umfassen, um Datenspeicher 750 oder Arbeitsspeicher 760 zu steuern oder anzuweisen, Anfragen zu erfüllen, die von Anwendung(en) 720 oder Betriebssystem(en) 710 erfolgen. Gerätetreiber 711 kann/können auch Gerätetreiber enthalten, die es Netzwerk-I/O-Treiber(n) 730 ermöglichen, mit CPU 770 und Speicher 760 zu interagieren, um Daten über Kommunikationskanäle zu empfangen/weiterzuleiten, die mit Hostgerät 700 (z. B. über Netzwerk-I/O-Gerät(e) 730 oder Comm 790) gekoppelt sind.
  • In einigen Beispielen kann/können Anwendung(en) 720 Anwendungen umfassen, die an Hostgerät 700 implementiert werden kann/können. Für diese Beispiele kann/können Anwendung(en) 720 Zugriff (z. B. über Betriebssystem(e) 710) oder Verwendung von Elementen des Systems wie Benutzer-I/O-Geräten 740, Datenspeicher 750 oder Arbeitsspeicher 760 anfordern.
  • Gemäß einigen Beispielen kann/können Netzwerk-I/O-Gerät(e) 730 ähnlich I/O-Gerät 140 sein, das oben für 1 beschrieben ist. Für diese Beispiele kann/können Netzwerk-I/O-Gerät(e) 730 einen Switch-Manager 142 (nicht in 7 dargestellt) mit Logik und/oder Funktionen umfassen, die für die Zuweisung einer Switch-Identifikation zu Daten konfiguriert oder angeordnet sind, die bei Netzwerk-I/O-Gerät(en) 730 empfangen werden. In einigen Beispielen kann/können Netzwerk-I/O-Gerät(e) 730 so angeordnet sein, dass sie als Netzwerkkarte (NIC) fungieren.
  • In einigen Beispielen kann/können Benutzer-I/O-Gerät(e) 740 ein oder mehrere Benutzereingabegeräte umfassen, die an Schnittstelle 754 für die Eingabe von Daten und Befehlen gekoppelt ist/sind, die von Elementen von Hostgerät 700 implementiert werden. Beispielsweise können die Benutzereingabegeräte eine Tastatur, Maus, Touchscreen, Trackpad, Trackball, Isopoint, ein Spracherkennungssystem und/oder dergleichen beinhalten. Ähnlich kann/können Benutzer-I/O-Gerät(e) 740 ein oder mehrere Benutzerausgabegeräte umfassen, die mit der Schnittelle 754 gekoppelt sind, um Informationen an einen Bediener oder Benutzer auszugeben. Beispielsweise können die Benutzerausgabegeräte ein oder mehrere Displays, Drucker, Lautsprecher und/oder andere Ausgabegeräte beinhalten, wenn gewünscht. Beispielsweise kann eines der Benutzerausgabegeräte ein Display sein. Das Display kann ein Röhrenmonitor (cathode ray tube, CRT), Flüssigkristallbildschirme (liquid crystal displays, LCDs) oder jede andere Art Display sein.
  • In einigen Beispielen kann Speicher 750 mehrere Arten von Speicher umfassen, der für die Implementierung oder den Betrieb in einem Speicherbetriebsmodus konfiguriert ist. Speicher 750 kann mindestens ein oder eine Kombination aus mehreren Arten von Speichergeräten für die Speicherung relativ großer Datenmengen umfassen. Diese unterschiedlichen Arten von Speichergeräte können zum Beispiel, aber nicht beschränkt auf, ein oder mehrere Magnetplatten, optische Disklaufwerke, Bandlaufwerke, interne Speichergerät, angeschlossene Speichergeräte, Flash-Speicher, batteriegepufferter SDRAM (synchroner DRAM, synchronous DRAM, ein Speichergerät, auf das über das Netzwerk zugegriffen wird, und/oder andere Arten von nicht flüchtigem Speicher (z. B. Phasenänderungsspeicher (phase change memory, PCM) sein. In einigen Beispielen kann Speicher 750 als Teil von Benutzer-I/O-Geräten 730 statt als getrenntes Elemente wie in 7 dargestellt enthalten sein.
  • Gemäß einigen Beispielen kann Speicher 760 mindestens einen oder eine Kombination aus verschiedenen Arten von Speichern wie z. B. dynamischen Direktzugriffsspeicher (dynamic random access memory, DRAM), statischen RAM (static RAM, SRAM), Phasenwechselmaterial-RAM (PRAM) und/oder andere Arten von flüchtigem Speicher umfassen. In einigen Beispielen kann Speicher 760 so konfiguriert sein, dass er Puffer aufrechterhält, die von Netzwerk-I/O-Gerät(en) 730, Elementen von CPU 770 und/oder Betriebssystem(en) 710 verwendet werden, um empfangene Daten zu zumindest vorübergehend speichern.
  • Gemäß einigen Beispielen kann CPU 770 als Zentraleinheit für Hostgerät 700 implementiert sein. CPU 770 kann ein oder mehrere Prozessoren umfassen, die getrennt ein oder mehrere Prozessorkerne haben können. In einigen Beispielen kann CPU 770 jede Art von Prozessor beinhalten, wie z. B. einen Mehrkernprozessor, einen RISC-Rechner (reduced instruction set computer, RISC), einen Prozessor mit Pipeline, einen CISC-Rechner (complex instruction set computer, CISC), einen digitalen Signalprozessor (digital signal prozessor, DSP) und so weiter.
  • In einigen Beispielen kann Chipsatz 780 Interkommunikation unter Betriebssystem(en) 710, Netzwerkbenutzergerät(en) 730, Benutzer-I/O-Geräten 740, Datenspeicher 750, Arbeitsspeicher 760, CPU 770 oder Comms 790 bereitstellen. Chipsatz 780 kann zum Beispiel Interkommunikation zwischen Betriebssystem(en) 710, Benutzer-I/O-Gerät(en) 740, Datenspeicher 750 und CPU 770 bereitstellen, um Informationen von Speicher 750 zur Anzeige von Grafiken auf einem Display abzurufen, das in einem Benutzer-I/O-Gerät 740 enthalten ist. Die Grafiken können von CPU 770 auf Anforderung eines Betriebssystems gerendert worden sein, das in Betriebssystem(en) 710 enthalten ist.
  • In einigen Beispielen kann Comms 790 Logik und/oder Funktionen beinhalten, um es Hostgerät 700 zu ermöglichen, extern mit Elementen zu kommunizieren, die sich von Hostgerät 700 entfernt befinden. Diese Logik und/oder Funktionen können die Kommunikation über kabelgebundene, drahtlose oder optische Kommunikationskanäle oder Links über ein oder mehrere kabelgebundene, drahtlose oder optische Netzwerke umfassen. Bei der Kommunikation über solche Netzwerke kann Comms 790 gemäß einem oder mehreren anwendbaren Kommunikations- oder Netzwerk-Standards in irgendeiner Version betrieben werden. In einigen Beispielen kann Comms 790 auch in Netzwerk-I/O-Gerät(e) 730 integriert sein, um Daten zu empfangen/weiterzuleiten, die mit Kommunikation zu Elementen verbunden sind, die sich von Hostgerät 700 entfernt befinden.
  • Wie oben erörtert, kann Schnittstelle 754 die kommunikative Kopplung von Hardware- und/oder Firmwareelementen von Hostgerät 700 ermöglichen. Gemäß einigen Beispielen kann Schnittstelle 754 gemäß einem oder mehreren Protokollen oder Standards arbeiten. Diese Protokolle oder Standards können in einem oder mehreren Industriestandards (einschl. Folgeschriften und Varianten) beschrieben sein, z. B. denen, die mit der Inter-Integrated Circuit(I2C)-Spezifikation, der System Management Bus(SMBus)-Spezifikation, der Accelerated Graphics Port(AGP)-Spezifikation, der Peripheral Component Interconnect Express(PCI Express)-Spezifikation, der Universal Serial Bus(USB)-Spezifikation, dem High-Definition Multimedia Interface(HDMI)-Standard, der Digital Visual Interface(DVI)-Spezifikation, der BluetoothTM-Spezifikation oder der Serial Advanced Technology Attachment(SATA)-Spezifikation verbunden sind. Doch ist diese Offenbarung nicht auf die oben erwähnten Standards und die damit verbundenen Protokolle beschränkt.
  • In einigen Beispielen kann Hostgerät 700 in einem Computergerät enthalten sein. Beispiele eines Computergeräts können umfassen, sind aber nicht beschränkt auf, eine physische Endstation, einen Server, einen Blade-Server, ein Computing-Board, eine Workstation, einen Desktop-Computer, einen Personal Computer (PC) oder einen Laptop-Computer, einen ultramobilen Computer usw.
  • Ein oder mehrere Aspekte von mindestens einer Ausführungsform können durch repräsentative Befehle implementiert werden, die auf wenigstens einem maschinenlesbaren Medium gespeichert sind, die verschiedene Logik innerhalb des Prozessors repräsentieren, die beim Lesen durch eine Maschine, ein Rechengerät oder System die Maschine, das Rechengerät oder System veranlassen, Logik zum Ausführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne” bekannt, können auf einem konkreten maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen.
  • Verschiedene Beispiele können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination beider implementiert werden. In einigen Beispielen können Hardware-Elemente Geräte, Logikgeräte, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktionsspulen und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits, ASIC), programmierbare Logikeinheiten (Programmable Logic Devices, PLD), digitale Signalprozessoren (Digital Signal Processors, DSP), Field Programmable Gate Array (FPGA), Speichereinheiten, Logikgatter, Register, ein Halbleitergerät, Chips, Mikrochips, Chipsätze und so weiter umfassen. In einigen Beispielen können Softwareelemente Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Hilfsprogramme, Unterprogramme, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Programmierschnittstellen (application program interfaces, API), Befehlssätze, EDV-Code, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon umfassen. Die Bestimmung, ob ein Beispiel unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann jedoch in Übereinstimmung mit einer beliebigen Anzahl an Faktoren variieren, wie beispielsweise gewünschte Rechengeschwindigkeit, Energieniveaus, Wärmetoleranzen, Budget der Verarbeitungszyklen, Eingabedatengeschwindigkeiten, Ausgabedatengeschwindigkeiten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Beschränkungen bezüglich Design oder Leistung, wie für eine bestimmte Implementierung gewünscht.
  • Einige Beispiele können einen Herstellungsgegenstand oder wenigstens ein computerlesbares Medium umfassen. Ein computerlesbares Medium kann ein nicht flüchtiges Speichermedium umfassen, um Logik zu speichern. In einigen Beispielen kann das nicht flüchtige Speichermedium ein oder mehrere Arten von computerlesbaren Speichermedien umfassen, das elektronische Daten speichern kann, zum Beispiel flüchtiger Speicher oder nicht flüchtiger Speicher, Wechselspeicher oder nicht austauschbarer Speicher, löschbarer oder nicht löschbarer Speicher, beschreibbarer oder wieder beschreibbarer Speicher und so weiter. In einigen Beispielen kann die Logik verschiedene Software-Elemente wie Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Hilfsprogramme, Unterprogramme, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Programmierschnittstellen, Befehlssätze, EDV-Code, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon umfassen.
  • Gemäß einigen Beispielen kann ein computerlesbares Medium ein nicht flüchtiges Speichermedium umfassen, um Befehle zu speichern oder aufrechtzuerhalten, die, wenn sie durch eine Maschine, ein Computergerät oder System ausgeführt werden, die Maschine, das Computergerät oder das System veranlassen, Verfahren und/oder Operationen gemäß den beschriebenen Beispielen auszuführen. Die Befehle können jede geeignete Codeart, wie Quellcode, kompilierter Code, interpretierter Code, ausführbarer Code, statischer Code, dynamischer Code und dergleichen umfassen. Die Befehle können gemäß einer vordefinierten Computersprache, Weise oder Syntax implementiert werden, um eine Maschine, ein Computergerät oder System anzuweisen, eine bestimmte Funktion auszuführen. Die Befehle können unter Verwendung jeder geeigneten hohen, niedrigen, objektorientierten, visuellen, kompilierten und/oder Interpreter-Programmiersprache implementiert werden.
  • Einige Beispiele können unter Verwendung des Ausdrucks „in einem Beispiel” oder „ein Beispiel” zusammen mit ihren Ableitungen beschrieben sein. Diese Begriffe bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristikum, das in Verbindung mit dem Beispiel beschrieben wird, in zumindest einem Beispiel eingeschlossen ist. Die Verwendung des Ausdrucks „in einem Beispiel” an verschiedenen Stellen in der Beschreibung bezieht sich nicht notwendigerweise immer auf das gleiche Beispiel.
  • Einige Beispiele können unter Verwendung der Begriffe „gekoppelt” und „verbunden” zusammen mit ihren Ableitungen beschrieben werden. Diese Begriffe sind jedoch nicht notwendigerweise als Synonyme füreinander zu verstehen. Beispielsweise können Beschreibungen, die die Begriffe „verbunden” und/oder „gekoppelt” verwenden, anzeigen, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch miteinander arbeiten oder interagieren.
  • Es wird hervorgehoben, dass die Zusammenfassung der Offenbarung in Übereinstimmung mit 37 C. F. R. Abschnitt 1.72(b) bereitgestellt wird, wodurch eine Zusammenfassung erfordert wird, die es dem Leser ermöglicht, schnell die Natur der technischen Offenbarung zu bestimmen. Sie wird eingereicht mit dem Verständnis, dass sie nicht dazu verwendet wird, den Umfang oder die Bedeutung der Ansprüche zu interpretieren oder einzuschränken. Zusätzlich ist es aus der vorstehenden ausführlichen Beschreibung ersichtlich, dass verschiedene Merkmale in einem einzigen Beispiel zusammengefasst sind, um die Offenbarung zu straffen. Dieses Verfahren der Offenbarung soll jedoch nicht als eine Absicht widerspiegelnd ausgelegt werden, dass die beanspruchten Beispiele mehr Merkmale erfordern als in jedem Anspruch ausdrücklich zitiert sind. Wie die folgenden Ansprüche widerspiegeln, liegt der erfinderische Gegenstand vielmehr in weniger als allen Merkmalen eines einzelnen offenbarten Beispiels. Die folgenden Ansprüche sind somit in der detaillierten Beschreibung enthalten, und jeder Anspruch gilt als einzelnes Beispiel. In den angehängten Ansprüchen sind die Begriffe „einschließlich” und „bei der/dem” als die eindeutigen Äquivalente der entsprechenden Begriffe „umfassend” bzw. „wobei” verwendet. Außerdem werden die Begriffe „erste”, „zweite”, „dritte” usw. lediglich als Kennzeichen verwendet und sollen ihren Objekten keine numerischen Anforderungen auferlegen.
  • In einigen Beispielen können Verfahren implementiert sein, die das Empfangen von Daten am Eingabe/Ausgabe-Gerät umfassen, das an ein Hostgerät gekoppelt ist. Die Daten können mit einer Virtual Station Interface verbunden sein, die am Eingabe/Ausgabegerät aufrechterhalten wird. Die Virtual Station Interface kann kommunikativ mit einer virtuellen Maschine gekoppelt sein, die auf dem Hostgerät implementiert ist. Die Daten können von einer der virtuellen Maschinen oder einem Netzwerkelement gesendet worden sein, das an das I/O-Gerät über einen Netzwerkkommunikationslink gekoppelt werden kann. Eine Switch-Identifikation kann den Daten auf Basis eines zugewiesenen Port-Identifiers für einen Port, über den die Daten am Eingabe/Ausgabe-Gerät empfangen werden, Identifikationsinformationen für die Daten und eines Urhebers von mindestens einem Teil der Identifikationsinformationen zugewiesen werden. Gemäß einigen Beispielen kann die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwendet werden, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät zu bestimmen.
  • In einigen Beispielen kann die Implementierung dieser Methode den Port umfassen, über den die Daten empfangen werden, z. B. einen physischen Port, der mit dem Netzwerkkommunikationslink gekoppelt werden kann, oder einen logischen Port, der mit einem Datenkanal gekoppelt werden kann, der so angeordnet ist, dass er Daten von der virtuellen Maschine zu einer anderen virtuellen Maschine leitet, die auf dem Hostgerät implementiert ist.
  • Gemäß einigen Beispielen kann die Implementierung dieses Verfahrens den Urheber von mindestens dem Teil der Identifikationsinformationen umfassen, die auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät erzeugt werden, als lokal identifiziert werden, oder den Datenurheber, der auf Basis der Identifikationsinformationen für die Daten, die extern vom Eingabe/Ausgabegerät erzeugt werden, als global identifiziert werden. Für diese Beispiele kann eine lokale Identifikation mit einem ersten Identifier verbunden sein und eine globale Identifikation kann mit einem zweiten Identifier verbunden sein. Die zugewiesene Switch-Identifikation kann einen der ersten Identifier oder der zweiten Identifier auf Basis dessen enthalten, ob der Urheber als lokal oder global identifiziert wird.
  • In einigen Beispielen kann dieses Verfahren den Urheber von mindestens dem Teil der Identifikationsinformationen umfassen, die als lokal identifiziert sind. Für diese Beispiele können die Identifikationsinformationen für die Daten eine Datenkanal-Identifikationsnummer enthalten, die mit der Virtual Station Interface verbunden ist, die kommunikativ mit der virtuellen Maschine gekoppelt ist.
  • Gemäß einigen Beispielen kann dieses Verfahren den Urheber von mindestens dem Teil der Identifikationsinformationen umfassen, die als lokal identifiziert sind. Für diese Beispiele können die Identifikationsinformationen für die Daten eine Standard-Identifikationsnummer umfassen, die am Eingabe/Ausgabegerät auf Basis der Daten erzeugt wird, die mit den Steuerdaten verbunden sind. Die Steuerdaten können mit dem Aufbau eines Datenkanals zwischen dem Netzwerkelements und der virtuellen Maschine verbunden sein. Der Datenkanal wird über die Virtual Station Interface geleitet.
  • In einigen Beispielen kann die Implementierung dieses Verfahrens den Betrieb des Eingabe/Ausgabegeräts in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen umfassen. Die ein oder mehreren Ethernet-Spezifikationen können eine Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder eine IEEE 802.1BR Ethernet-Spezifikation umfassen. Für diese Beispiele kann der Urheber mindestens des Teils der Informationen als global identifiziert werden, und die Identifikationsnummer kann einen Service-Tag (S-Tag) oder einen Bridge Port Extension-Tag (E-Tag) enthalten. Das S-Tag oder das E-Tag kann mit einem aufgebauten Datenkanal zwischen dem Netzwerkelements und der virtuellen Maschine verbunden sein. Der aufgebaute Datenkanal kann über die Virtual Station Interface geleitet werden.
  • Gemäß einigen Beispielen kann die Implementierung dieses Verfahrens den Betrieb des I/O-Geräts in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen umfassen. Die ein oder mehreren Ethernet-Spezifikationen umfassen eine Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder eine IEEE 802.1BR Ethernet-Spezifikation. Für diese Beispiele kann der Urheber mindestens des Teils der Informationen als lokal identifiziert werden, und die Identifikationsnummer enthalten einen Service-Tag (S-Tag) oder einen Bridge Port Extension-Tag (E-Tag). Das S-Tag oder das E-Tag kann mit einem aufgebauten Datenkanal zwischen der virtuellen Maschine und dem Netzwerkelement verbunden sein. Der aufgebaute Datenkanal kann über die Virtual Station Interface geleitet werden.
  • In einigen Beispielen kann die Implementierung dieses Verfahrens das Speichern von Informationen umfassen, die mit mehreren Switches des I/O-Geräts in einer einzigen Identifikationstabelle verbunden sind, wobei die einzige Switch-Identifikationstabelle in einem Speicher am Eingabe/Ausgabegerät aufrechterhalten wird. Die Informationen können die zugewiesene Switch-Identifikation für die Daten umfassen.
  • In einigen Beispielen kann die Implementierung dieser Methode die Verwendung der zugewiesenen Switch-Identifikation als Teil einer Nachschlagetabelle umfassen, wobei die Nachschlagetabelle in einem Speicher am Eingabe/Ausgabegerät gespeichert wird und der Speicher als Ternery Content-Adressable Memory (TCAM) angeordnet ist.
  • Gemäß einigen Beispielen umfasst mindestens ein maschinenlesbares Medium eine Vielzahl von Befehlen, die als Reaktion auf die Ausführung auf einem Computergerät das Computergerät veranlassen, das oben erörterte exemplarische Verfahren auszuführen.
  • In einigen Beispielen kann eine Vorrichtung oder ein Gerät Mittel für die Durchführung des exemplarischen Verfahrens wie oben erörtert umfassen.
  • Gemäß einigen Beispielen kann eine exemplarische Vorrichtung oder ein Gerät eine Prozessorschaltung und eine Speichereinheit umfassen, die kommunikativ mit der Prozessorschaltung gekoppelt ist. Die Speichereinheit kann so angeordnet sein, dass sie Befehle für Logik speichert, die für die Prozessorschaltung eingesetzt werden können. Die Logik kann so konfiguriert sein, dass sie Daten an einem Eingabe/Ausgabegerät empfängt, das mit einem Hostgerät gekoppelt werden kann. Die Daten können ein Ziel haben, das mit einer Virtual Station Interface verbunden ist, die am Eingabe/Ausgabegerät aufrechterhalten wird. Die Virtual Station Interface kann kommunikativ mit einer virtuellen Maschine gekoppelt werden, die auf dem Hostgerät implementiert ist. Die Daten können von einer der virtuellen Maschinen oder einem Netzwerkelement gesendet worden sein, das an das I/O-Gerät über einen Netzwerkkommunikationslink gekoppelt werden kann. Die Logik kann außerdem so konfiguriert sein, dass sie den Daten eine Switch-Konfiguration auf Basis eines zugewiesenen Port-Identifiers, über den die Daten am Eingabe/Ausgabe-Gerät empfangen werden, Identifikationsinformationen für die Daten und eines Urhebers von mindestens einem Teil der Identifikationsinformationen zuweist. Für diese Beispiele kann die Logik so konfiguriert sein, dass sie die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwendet, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät zu bestimmen.
  • In einigen Beispielen für das exemplarische Gerät kann die Speichereinheit flüchtigen Speicher umfassen.
  • In einigen Beispielen für das exemplarische Gerät kann der Port, über den die Daten empfangen werden, z. B. einen physischen Port, der mit dem Netzwerkkommunikationslink gekoppelt werden kann, oder einen logischen Port, der mit einem Datenkanal gekoppelt werden kann, der so angeordnet ist, dass er Daten von der virtuellen Maschine zu einer anderen virtuellen Maschine leitet, die auf dem Hostgerät implementiert ist, umfassen.
  • Gemäß einigen Beispielen für das exemplarische Gerät kann der Urheber mindestens eines Teils der Identifikationsinformationen auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät erzeugt werden, als lokal identifiziert werden. Der Datenurheber kann auch auf Basis der Identifikationsinformationen auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät erzeugt werden, als global identifiziert werden. Eine lokale Identifikation kann mit einem ersten Identifier verbunden sein und eine globale Identifikation kann mit einem zweiten Identifier verbunden sein. Die zugewiesene Switch-Identifikation kann einen der ersten Identifier oder der zweiten Identifier auf Basis dessen enthalten, ob der Urheber als lokal oder global identifiziert wird.
  • In einigen Beispielen für das exemplarische Gerät kann der Urheber von mindestens dem Teil der Identifikationsinformationen als lokal identifiziert werden. Außerdem können die Identifikationsinformationen für die Daten eine Datenkanal-Identifikationsnummer enthalten, die mit der Virtual Station Interface verbunden ist, die mit der virtuellen Maschine gekoppelt werden kann.
  • Gemäß einigen Beispielen für das exemplarische Gerät kann der Urheber von mindestens dem Teil der Identifikationsinformationen als lokal identifiziert werden. Für diese Beispiele können die Identifikationsinformationen für die Daten eine Standardidentifikationsnummer umfassen, die am Eingabe/Ausgabegerät auf Basis der Daten erzeugt wird, die mit den Steuerdaten verbunden sind. Die Steuerdaten können mit dem Aufbau eines Datenkanals zwischen dem Netzwerkelement und der virtuellen Maschine über die Virtual Station Interface verbunden sein.
  • In einigen Beispielen des exemplarischen Geräts kann das Eingabe/Ausgabegerät so angeordnet sein, dass es in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen arbeitet, z. B. einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation. Für diese Beispiele kann der Urheber von mindestens dem Teil der Identifikationsinformationen als global identifiziert werden. Die Identifikationsnummer kann ein Servicetag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) umfassen. Das S-Tag oder das E-Tag kann mit einem aufgebauten Datenkanal zwischen dem Netzwerkelements und der virtuellen Maschine verbunden sein. Der Datenkanal kann über die Virtual Station Interface geleitet werden.
  • Gemäß einigen Beispielen des exemplarischen Geräts kann das Eingabe/Ausgabegerät so angeordnet sein, dass es in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen arbeitet, z. B. einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation. Für diese Beispiele kann der Urheber mindestens des Teils der Informationen als lokal identifiziert werden, und die Identifikationsnummer enthalten einen Service-Tag (S-Tag) oder einen Bridge Port Extension-Tag (E-Tag). Außerdem kann das S-Tag oder das E-Tag mit einem aufgebauten Datenkanal zwischen der virtuellen Maschine und dem Netzwerkelement verbunden sein. Der aufgebaute Datenkanal kann über die Virtual Station Interface geleitet werden.
  • In einigen Beispielen für das exemplarische Gerät kann die Logik außerdem so konfiguriert sein, dass sie die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwendet, die in einem Speicher am Eingabe/Ausgabegerät gespeichert ist. Der Speicher kann als Ternary Content-Addressable Memory (TCAM) angeordnet sein.
  • Obwohl der Gegenstand sprachlich spezifisch auf Strukturmerkmale und/oder methodologische Vorgänge beschrieben wurde, ist es selbstverständlich, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die spezifischen, vorstehend beschriebenen Merkmale oder Vorgänge beschränkt ist. Vielmehr werden die vorstehend beschriebenen spezifischen Merkmale und Vorgänge als exemplarische Formen zur Implementierung der Ansprüche offenbart.

Claims (25)

  1. Verfahren, umfassend: Empfang von Daten an einem Eingabe/Ausgabegerät, das mit einem Hostgerät gekoppelt ist, wobei die Daten mit einer Virtual Station Interface verbunden sind, die am Eingabe/Ausgabegerät aufrechterhalten wird, die Virtual Station Interface kommunikativ mit einer virtuellen Maschine gekoppelt ist, die auf dem Hostgerät implementiert ist, und die Daten, die von einer der virtuellen Maschinen oder einem Netzwerkelement gesendet werden, mit dem Eingabe/Ausgabegerät über einen Netzwerkkommunikationslink gekoppelt werden können, Zuweisung einer Switch-Identifikation zu den Daten auf Basis eines zugewiesenen Port-Identifiers für einen Port, über den die Daten am Eingabe/Ausgabe-Gerät empfangen werden, Identifikationsinformationen für die Daten und eines Urhebers von mindestens einem Teil der Identifikationsinformationen, Verwendung der zugewiesenen Switch-Identifikation als Teil einer Nachschlagetabelle, um ein oder mehrere Aktionen für die Verarbeitung der Daten am I/O-Gerät zu bestimmen.
  2. Verfahren nach Anspruch 1, wobei der Port, über den die Daten empfangen werden, z. B. einen physischen Port, der mit dem Netzwerkkommunikationslink gekoppelt werden kann, oder einen logischen Port, der mit einem Datenkanal gekoppelt werden kann, der so angeordnet ist, dass er Daten von der virtuellen Maschine zu einer anderen virtuellen Maschine leitet, die auf dem Hostgerät implementiert ist, umfasst.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen, auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät erzeugt werden, als lokal identifiziert wird, oder der Datenurheber, der auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät extern erzeugt werden, als global identifiziert wird, eine lokale Identifikation, die mit einem ersten Identifier verbunden ist, und eine globale Identifikation, die mit einem zweiten Identifier verbunden ist, die zugewiesene Switch-Identifikation muss einen ersten Identifier oder den zweiten Identifier auf Basis darauf enthalten, ob der Urheber als lokal oder als global identifiziert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Urheber von mindestens einem Teil der Identifikationsinformationen als lokal identifiziert wird und die Identifikationsinformationen für die Daten eine Datenkanal-Identifikationsnummer enthalten, die mit der Virtual Station Interface verbunden ist, die kommunikativ mit der virtuellen Maschine gekoppelt ist.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen als lokal identifiziert wird und die Identifikationsinformationen für die Daten eine Standardidentifikationsnummer enthalten, die am Eingabe/Ausgabegerät auf Basis der Daten erzeugt werden, die mit den Steuerungsdaten in Verbindung mit dem Aufbau eines Datenkanals zwischen dem Netzwerkelement und der virtuellen Maschine verbunden sind, wobei der Datenkanal über die Virtual Station Interface geleitet wird.
  6. Verfahren nach einem der Ansprüche 1 bis 3, umfassend den Betrieb des Eingabe/Ausgabegeräts in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen z. B, einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen als global identifiziert wird und die Identifikationsnummer ein Service-Tag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) umfasst.
  7. Verfahren nach Ansprüchen 6, wobei das S-Tag das E-Tag mit einem aufgebauten Datenkanalzwischen dem Netzwerkelement und der virtuellen Maschine verbunden ist und der aufgebaute Datenkanal über die Virtual Station Interface geleitet wird.
  8. Verfahren nach einem der Ansprüche 1 bis 3, umfassend den Betrieb des I/O-Geräts in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen z. B. einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen als lokal identifiziert wird und die Identifikationsnummer ein Service-Tag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) umfasst.
  9. Verfahren nach Ansprüchen 8, wobei das S-Tag oder das E-Tag mit einem aufgebauten Datenkanalzwischen der virtuellen Maschine und dem Netzwerkelement verbunden ist und der aufgebaute Datenkanal über die Virtual Station Interface geleitet wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, umfassend das Speichern von Informationen, die mit mehreren Switches des I/O-Geräts in einer einzigen Identifikationstabelle verbunden sind, wobei die einzige Switch-Identifikationstabelle in einem Speicher am Eingabe/Ausgabegerät aufrechterhalten wird.
  11. Verfahren nach Ansprüche 10, umfassend die Informationen, die die zugewiesene Switch-Identifikation für die Daten enthalten müssen.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die Verwendung der zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle die Speicherung der Nachschlagetabelle in einem Speicher am Eingabe/Ausgabegerät und die Anordnung des Speichers als Ternery Content-Adressable Memory (TCAM) umfasst.
  13. Mindestens ein maschinenlesbares Medium, das aus einer Vielzahl von Befehlen besteht, die als Reaktion auf die Ausführung auf einem Computergerät das Computergerät veranlassen, ein Verfahren gemäß eines Verfahrens nach einem der Ansprüche 1 bis 12 auszuführen.
  14. Vorrichtung, umfassend Mittel zum Durchführen des Verfahrens nach einer der Ansprüche 1 bis 13.
  15. Vorrichtung, umfassend: eine Prozessorschaltung und eine Speichereinheit, die kommunikativ mit der Speicherschaltung gekoppelt ist, wobei die Speichereinheit so angeordnet ist, dass sie Befehle für die Logik speichert, die für die Prozessorschaltung eingesetzt werden können, die Logik so konfiguriert ist, dass sie Daten an einem Eingabe/Ausgabegerät empfängt, das mit einem Hostgerät gekoppelt werden kann, die Daten ein Ziel haben, das mit einer Virtual Station Interface gekoppelt ist, die am Eingabe/Ausgabegerät aufrechterhalten wird, die Virtual Station Interface an eine virtuelle Maschine gekoppelt werden kann, die auf dem Hostgerät implementiert ist, die Daten von einer virtuellen Maschine oder einem Netzwerkelement gesendet werden, die/das an das Eingabe/Ausgabegerät über einen Netzwerkkommunikationslink gekoppelt werden kann, die Logik außerdem so konfiguriert ist, dass sie den Daten eine Switch-Identifikation auf Basis eines zugewiesenen Port-Identifiers für einen Port zuweist, über den die Daten am Eingabe/Ausgabegerät empfangen werden, Identifikationsinformationen für die Daten und einen Urheber von mindestens einem Teil der Identifikationsinformationen, die Logik so konfiguriert, dass sie die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwendet, um ein oder mehrere Aktionen für die Verarbeitung der Daten am Eingabe/Ausgabegerät zu bestimmen.
  16. Vorrichtung nach Anspruch 15, umfassend das Speichergerät mit einem flüchtigen Speicher.
  17. Vorrichtung nach einem der Ansprüche 15 oder 16, wobei der Port, über den die Daten empfangen werden, z. B. einen physischen Port, der mit dem Netzwerkkommunikationslink gekoppelt werden kann, oder einen logischen Port, der mit einem Datenkanal gekoppelt werden kann, der so angeordnet ist, dass er Daten von der virtuellen Maschine zu einer anderen virtuellen Maschine leitet, die auf dem Hostgerät implementiert ist, umfasst.
  18. Vorrichtung nach einem der Ansprüche 15 bis 17, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen, auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät erzeugt werden, als lokal identifiziert wird, oder der Datenurheber, der auf Basis der Identifikationsinformationen für die Daten, die am Eingabe/Ausgabegerät extern erzeugt werden, als global identifiziert wird, eine lokale Identifikation, die mit einem ersten Identifier verbunden ist, und eine globale Identifikation, die mit einem zweiten Identifier verbunden ist, die zugewiesene Switch-Identifikation einen ersten Identifier oder den zweiten Identifier auf Basis darauf enthält, ob der Urheber als lokal oder als global identifiziert wird.
  19. Vorrichtung nach Anspruch 18, umfassend den Urheber von mindestens einem Teil der Identifikationsinformationen, der als lokal identifiziert wird, und die Identifikationsinformationen für die Daten, die eine Datenkanal-Identifikationsnummer enthalten, die mit der Virtual Station Interface verbunden ist, die mit der virtuellen Maschine gekoppelt werden kann.
  20. Vorrichtung nach Ansprüche 18, umfassend den Urheber von mindestens dem Teil der Identifikationsinformationen, der als lokal identifiziert wird, und die Identifikationsinformationen für die Daten, die eine Standardidentifikationsnummer enthalten, die am Eingabe/Ausgabegerät auf Basis der Daten erzeugt werden, die mit den Steuerungsdaten in Verbindung mit dem Aufbau eines Datenkanals zwischen dem Netzwerkelement und der virtuellen Maschine verbunden sind, wobei der Datenkanal über die Virtual Station Interface geleitet wird.
  21. Vorrichtung nach einem der Ansprüche 15 bis 18, wobei das Eingabe/Ausgabegerät so angeordnet ist, dass es in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen z. B. einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation betrieben wird, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen als global identifiziert wird und die Identifikationsnummer ein Service-Tag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) umfasst.
  22. Vorrichtung nach Anspruch 21, wobei das S-Tag oder das E-Tag mit einem aufgebauten Datenkanalzwischen dem Netzwerkelement und der virtuellen Maschine verbunden ist und der Datenkanal über die Virtual Station Interface geleitet wird.
  23. Vorrichtung nach einem der Ansprüche 15 bis 18, wobei das Eingabe/Ausgabegerät so angeordnet ist, dass es in Übereinstimmung mit ein oder mehreren Ethernet-Spezifikationen z. B. einer Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet-Spezifikation oder einer IEEE 802.1BR Ethernet-Spezifikation betrieben wird, wobei der Urheber von mindestens dem Teil der Identifikationsinformationen als lokal identifiziert wird und die Identifikationsnummer ein Service-Tag (S-Tag) oder ein Bridge Port Extension-Tag (E-Tag) umfasst.
  24. Vorrichtung nach Anspruch 23, wobei das S-Tag oder das E-Tag mit einem aufgebauten Datenkanalzwischen der virtuellen Maschine und dem Netzwerkelement verbunden ist und der aufgebaute Datenkanal über die Virtual Station Interface geleitet wird.
  25. Vorrichtung nach einem der Ansprüche 15 bis 24, umfassend die Logik, die ebenfalls so konfiguriert ist, dass sie die zugewiesene Switch-Identifikation als Teil einer Nachschlagetabelle verwendet, die in einem Speicher am Eingabe/Ausgabegerät gespeichert ist, der Speicher als Ternery Content-Addressable Memory (TCAM) angeordnet.
DE112012006126.8T 2012-03-29 2012-03-29 Techniken für die Verwendung einer zugewiesenen Switch-Identifikation an einem Eingabe/Ausgabe-Gerät Ceased DE112012006126T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031276 WO2013147805A1 (en) 2012-03-29 2012-03-29 Techniques for using an assigned switch identification at an input/output device

Publications (1)

Publication Number Publication Date
DE112012006126T5 true DE112012006126T5 (de) 2014-12-24

Family

ID=49260867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006126.8T Ceased DE112012006126T5 (de) 2012-03-29 2012-03-29 Techniken für die Verwendung einer zugewiesenen Switch-Identifikation an einem Eingabe/Ausgabe-Gerät

Country Status (5)

Country Link
KR (1) KR101617210B1 (de)
CN (2) CN107508767B (de)
DE (1) DE112012006126T5 (de)
TW (1) TWI651957B (de)
WO (1) WO2013147805A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823849B2 (en) * 2015-06-26 2017-11-21 Intel Corporation Method and apparatus for dynamically allocating storage resources to compute nodes
TWI622884B (zh) * 2016-11-17 2018-05-01 宏碁股份有限公司 根複合體管理方法及根複合體
CN109426545B (zh) * 2017-08-31 2023-02-03 阿里巴巴集团控股有限公司 一种数据通信方法及装置
CN112532756B (zh) * 2019-09-17 2023-10-24 华为技术有限公司 接口扩展方法、装置和系统
CN114328623A (zh) * 2021-12-28 2022-04-12 深圳云天励飞技术股份有限公司 芯片系统中的数据传输处理方法及相关装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399767C (zh) * 2003-09-26 2008-07-02 华为技术有限公司 一种虚拟交换机系统接入ip公网的方法
US7693158B1 (en) * 2003-12-22 2010-04-06 Extreme Networks, Inc. Methods and systems for selectively processing virtual local area network (VLAN) traffic from different networks while allowing flexible VLAN identifier assignment
US8838743B2 (en) * 2004-02-13 2014-09-16 Intel Corporation Apparatus and method for a dynamically extensible virtual switch
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
TW200917240A (en) * 2007-10-05 2009-04-16 Sheng-Chi Chen Perpendicular magnetic recording film and method of fabricating the same
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US8924960B2 (en) * 2008-08-28 2014-12-30 Intel Corporation Assignment, at least in part, of at least one virtual machine to at least one packet
US8918657B2 (en) * 2008-09-08 2014-12-23 Virginia Tech Intellectual Properties Systems, devices, and/or methods for managing energy usage
US8213336B2 (en) * 2009-02-23 2012-07-03 Cisco Technology, Inc. Distributed data center access switch
US8130641B2 (en) * 2009-03-13 2012-03-06 Hewlett-Packard Development Company, L.P. Methods and systems for managing network traffic within a virtual network system
US20110286380A1 (en) * 2010-05-21 2011-11-24 Yee Yi Zhu Wireless workgroup bridge for network viryualization
US8417800B2 (en) * 2010-07-16 2013-04-09 Broadcom Corporation Method and system for network configuration and/or provisioning based on open virtualization format (OVF) metadata
CN102316001B (zh) * 2011-10-13 2014-02-05 杭州华三通信技术有限公司 一种虚拟网络连接配置实现方法和网络设备

Also Published As

Publication number Publication date
KR101617210B1 (ko) 2016-05-18
CN104221343A (zh) 2014-12-17
CN104221343B (zh) 2017-09-26
KR20140139522A (ko) 2014-12-05
WO2013147805A1 (en) 2013-10-03
TWI651957B (zh) 2019-02-21
CN107508767B (zh) 2020-10-02
TW201404097A (zh) 2014-01-16
CN107508767A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
DE102015108145B4 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE112008002550B4 (de) Verfahren und System für virtuelle Schnittstellenkommunikation
DE102018005977A1 (de) Gleitkomma- zu festkomma-umwandlung
DE102015002215A1 (de) Sortierbeschleunigungsprozessor, -Verfahren, -Systeme und -Befehle
DE102020115453A1 (de) Automatisches Umschalten und Einsetzen von Software- oder Firmware-basierten USB-Verbindungsmanagern
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE112012006126T5 (de) Techniken für die Verwendung einer zugewiesenen Switch-Identifikation an einem Eingabe/Ausgabe-Gerät
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE102018129341A1 (de) Verfahren und Einrichtung für Mehrfachlade- und Mehrfachspeicher-Vektorbefehle
DE102014003661A1 (de) Prozessoren, Verfahren, Systeme und Befehle zur Konsolidierung unmaskierter Elemente von Operationsmasken
DE102010001985A1 (de) Vorrichtung zum Schalten des Betriebs einer virtuellen Maschine zwischen mehreren Computern, die der gleichen Computerplattform zugeordnet sind, und entsprechende Schaltverfahren
DE102018124945A1 (de) Einrichtung und verfahren für komplexe multiplikation
DE102018125232A1 (de) Einrichtung und Verfahren für komplexe Multiplikation und Akkumulation
DE102014004564A1 (de) Prozessoren, verfahren und systeme zum implementieren von teilregisterzugriffen mit maskierten gesamtregisterzugriffen
DE112012001542T5 (de) System, Vorrichtung und Verfahren zum Ausrichten von Registern
DE102019109845A1 (de) Vereinheitlichte Beschleunigung eines Blockgeheimcodes eines symmetrischen Schlüssels für AES-SMS4-Camellia
DE112013001904T5 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE102018125805A1 (de) Systeme, verfahren, und vorrichtungen für skalarproduktoperationen
DE112016004351T5 (de) Prozessoren, Verfahren, System und Befehle zum Datenelement-Vergleich
DE112013003713T5 (de) Befehlssatz für SKEIN256 SHA3-Algorithmus auf einem 128-Bit-Prozessor
DE102018006744A1 (de) Bitmatrixmultiplikation
DE102020119682A1 (de) System, einrichtung und verfahren zum erhöhen der effizienz von streckenübermittlungen
DE102018129298A1 (de) Vorrichtung und Verfahren zum Vektormultiplizieren und Akkumulieren von vorzeichenbehafteten Doppelwörtern
DE112017003347T5 (de) Systeme, Vorrichtungen und Verfahren für Strided-Ladevorgänge
DE102022126611A1 (de) Service-mesh-auslagerung an netzwerkvorrichtungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029040000

Ipc: H04L0012947000

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012947000

Ipc: H04L0049118000

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final