JP5967633B2 - ネットワーク・ファブリックのための柔軟でスケーラブルな強化型伝送選択方法 - Google Patents

ネットワーク・ファブリックのための柔軟でスケーラブルな強化型伝送選択方法 Download PDF

Info

Publication number
JP5967633B2
JP5967633B2 JP2014548281A JP2014548281A JP5967633B2 JP 5967633 B2 JP5967633 B2 JP 5967633B2 JP 2014548281 A JP2014548281 A JP 2014548281A JP 2014548281 A JP2014548281 A JP 2014548281A JP 5967633 B2 JP5967633 B2 JP 5967633B2
Authority
JP
Japan
Prior art keywords
vlan
bandwidth
channels
network
physical connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014548281A
Other languages
English (en)
Other versions
JP2015502724A (ja
Inventor
バッソ、クラウド
アームストロング、ウイリアム
チャン、チージェン
ガサット、ミルチャ
ネゼール、フレディ
ミンケンベルグ、シリール
ヴァルク、ケニス
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015502724A publication Critical patent/JP2015502724A/ja
Application granted granted Critical
Publication of JP5967633B2 publication Critical patent/JP5967633B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

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

Description

本発明は、一般にはネットワーク・ファブリックにおける帯域幅の割当に関し、より詳細には、ネットワーク・ファブリック内の特定の論理的データ・フローに帯域幅を割り当てることに関する。
コンピュータ・システムは、しばしば、共通の筐体内で共に結合された複数のコンピュータを使用する。そのようなコンピュータは、例えば別個のサーバが筐体内で共通のバックボーンによって結合されたものであってよい。各サーバはプラグ接続可能な基板であり、少なくとも1つのプロセッサ、オンボード・メモリ、および入出力(I/O)インターフェースを含む。さらにそれらのサーバを1つのスイッチに接続して各サーバの能力を拡張することもできる。例えば、そのスイッチにより、サーバは他のイーサネット(R)・ネットワークやPCIeスロットにアクセスできるようになり、また、同じ筐体もしくは異なる筐体内のサーバ間でも通信できるようになる。
複数のスイッチを組み合わせて1つの論理的スイッチを作り出すことができる。また、複数のスイッチとサーバ間の各物理的接続は、接続内の特定のデータ・フローに最小量の帯域幅が割り当てられるように管理することができる。すなわち、物理的接続内の1つのデータ・フローに、別のデータ・フローよりも多くの帯域幅を割り当てることができる。システム管理者が特定のデータ・フローに帯域幅を割り当てる能力を高めると、システム管理者のネットワークに対する制御性も向上する。
本発明の実施形態は、2つのコンピューティング・デバイスを接続する物理的接続を提供する方法およびコンピュータ可読記憶媒体を開示し、物理的接続内を流れるネットワーク・トラフィックが、複数の仮想ローカル・エリア・ネットワーク(VLAN)チャネルに論理的に分割される。本発明の方法およびコンピュータ可読記憶媒体は、物理的接続の帯域幅を複数のVLANチャネルの少なくとも2つに割り振り、複数のVLANチャネルの1つに割り振られた帯域幅を複数のトラフィック・クラス間でさらに分割する。
別の実施形態では、ネットワーク・デバイスは、物理的接続を介してコンピューティング・デバイスに接続されるように構成されたポートを備え、物理的接続内を流れるネットワーク・トラフィックが複数の仮想ローカル・エリア・ネットワーク(VLAN)チャネルに論理的に分割される。ネットワーク・デバイスは、ポートの帯域幅を、複数のVLANチャネルのうち少なくとも2つに割り振り、複数のVLANチャネルの1つに割り振られた帯域幅を複数のトラフィック・クラス間でさらに分割するように構成された帯域幅スケジューラも備える。
上記態様がどのようにして実現されるかを詳細に理解できるように、添付図面を参照して上記で簡単に要約した本発明の実施形態をより詳細に説明することができる。
ただし、添付図面は本発明の典型的な実施形態を示すものに過ぎず、本発明には、等しい効果を持つ他の実施形態が可能である場合があることから、したがって本発明の範囲を制限するものとは解釈すべきでないことに留意されたい。
本発明の一実施形態による分散型の仮想スイッチを含むシステム・アーキテクチャを示す図である。 本発明の一実施形態による仮想スイッチを実装するシステムのハードウェア表現図である。 本発明の一実施形態による仮想スイッチの図である。 本発明の実施形態により、図1のシステム内で仮想ローカル・アクセス・ネットワークを使用する場合を説明する図である。 本発明の一実施形態による、仮想ローカル・エリア・ネットワークIDに基づいてネットワーク・トラフィックを識別するデータ・フレームの図である。 本発明の実施形態により、図1のシステムでETS(EnhancedTransmission Selection、拡張伝送選択)の強化バージョンを使用する場合を示す図である。 本発明の一実施形態による、仮想ローカル・エリア・ネットワークを使用するETSの強化バージョンを説明する図である。 本発明の一実施形態による、仮想ローカル・エリア・ネットワークを使用するETSの強化バージョンを説明する図である。 本発明の一実施形態による、図2のシステムで仮想ローカル・エリア・ネットワークを使用するETSの強化バージョンを説明する図である。
IEEE 802.1Q(または802.1p)では、1つの物理的接続上のデータ・フローを8つの異なる優先度またはトラフィック・クラスに論理的に分けることができる。同標準では、物理的接続の全帯域幅を8つのトラフィック・クラス間で分割する技術も提供される。例えば、管理者が、任意のトラフィック・クラスに必ず提供しなければならない最小帯域幅を設定することができる。さらに柔軟性を高めるために、802.1Qaz(以下ではEnhanced Transmission Selection(ETS)と称する)は、トラフィック・クラス間で帯域幅を再割当するための標準を提供している。あるトラフィック・クラスに割り当てられたネットワーク・トラフィックがそのクラスに割り当てられた分の帯域幅を使用しない場合、ETSによれば、他のトラフィック・クラスがその空き帯域幅を使用することができる。ETSは厳密な優先度(すなわち、特定のトラフィック・クラスの帯域幅を共用することができない)と共存することさえ可能である。2つのトラフィック・クラスの帯域幅が厳密な優先度付けの対象ではない場合、ETSによれば、一方のトラフィック・クラスの未使用帯域幅を他方のトラフィック・クラスが使用することができる。例えば、2つのトラフィック・クラスに関連付けられたデータ・フローにバースト性がある場合、すなわち、高負荷が短時間生じる場合は、高負荷が同時に発生しない限り、現在高負荷がかかっているトラフィック・クラスが、もう一方のトラフィック・クラスに割り当てられた帯域幅の一部またはすべてを使用することができる。高負荷が同時に発生して両方のトラフィック・クラスが割り当てられた帯域幅をすべて使用している場合、ETSでは、一方のトラフィック・クラスが他方のトラフィック・クラスの帯域幅を借りることはできない。
IEEE 802.1Qは、CEE(converged enhancedEthernet(R)、コンバージド・エンハンスド・イーサネット)ネットワークにおける仮想ローカル・エリア・ネットワーク(VLAN)の使用についても標準化している。一般に、VLANでは、物理LANの終端局が同じネットワーク・スイッチ上にない場合でも、LANの終端局を一緒にグループ化することができる。すなわち、2つの異なるスイッチに関連付けられた2つの物理的接続を論理的に接続し、同じLAN(すなわちVLAN)の一部にすることができる。パケットは、そのパケットを特定のVLANに割り当てるVLAN ID(すなわちVLANタグ)を含んでいる。VLANは従来はルータによって提供されていたセグメント化サービスを提供し、LANの拡張性、セキュリティ、およびネットワーク管理性を向上させる。
IEEE 802.1QではサービスVLAN(S−VLAN)を識別するために12ビットが用意され、すなわち、4096個のS−VLANを一意にアドレス指定することができる。後続のルーティング標準では、各S−VLANが、関連付けられた複数のカスタマーVLAN(C−VLAN)を有することができるようになった。例えばIEEE 802.1QinQでは、各S−VLANに最大で4096個のC−VLANを関連付けることができる。この標準に準拠したLANは、最大で16,777,216個(212*212)のVLANを有することができる。しかし、IEEE 802.1QおよびETSでは、特定の物理的接続(またはリンク)の帯域幅を制御するために使用できる異なるトラフィック・クラスが8つしかない。この8つのトラフィック・クラスのみに依拠して帯域幅を管理するのではなく、本明細書に記載された実施形態は、強化されたETSスケジューラを使用して、物理的接続の帯域幅を個々のVLANに割り振ることを開示する。トラフィック・クラスだけに依拠するのではなく、VLAN IDを使用することにより、1台のネットワーク・デバイスによって帯域幅を例えば数百万個の一意のVLANに対して割り振ることが可能になる。したがって、VLAN IDの使用によってネットワーク・ファブリックの粒度制御およびそのパフォーマンスを改善することができる。
以下では本発明の実施形態を参照する。ただし、本発明は記載される特定の実施形態に限定されないことを理解されたい。以下の特徴および要素の組み合わせは、異なる実施形態に関係するか否かに関係なく、本発明を実施することを企図する。さらに、本発明の実施形態は、他の可能な解決法または従来技術あるいはその両方を上回る効果を実現することが可能であるが、特定の効果が任意の実施形態によって実現されるか否かは本発明を限定するものではない。したがって、以下の態様、特徴、実施形態、および効果は例示的なものに過ぎず、請求項に明示的に述べられる場合を除いて、特許請求の範囲の要素または限定事項とは見なされない。同様に、「本発明」の言及は、本明細書に開示される本発明の主題の一般化と解釈すべきでなく、また、請求項に明示的に述べられる場合を除いて特許請求の範囲の要素または限定事項であるとも解釈すべきでない。
当業者には理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として実施することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または、本明細書で一般に「回路」、「モジュール」、もしくは「システム」と称するソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形をとることができる。さらに、本発明の態様は、コンピュータ可読のプログラム・コードが具現化された1つまたは複数のコンピュータ可読媒体として内部に具現化されたコンピュータ・プログラム製品の形をとることができる。
1つまたは複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体である。コンピュータ可読記憶媒体は、これらに限定されないが、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、デバイス、またはそれらの適切な組み合わせである。コンピュータ可読記憶媒体のより具体的な例(ただし完全な網羅ではない列挙)は、1つまたは複数の配線を有する電気接続、携帯可能コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能読取専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、携帯可能コンパクト・ディスク読取専用メモリ(CD−ROM)、光学記憶装置、磁気記憶装置、またはそれらの適切な組み合わせを含む。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによる使用のために、またはそれらとの関連でプログラムを保持または記憶することが可能な任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、例えばベースバンドや搬送波の一部としてコンピュータ可読のプログラム・コードが内部に具現化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁気、光学、またはそれらの適切な組み合わせを含む各種形態をとることができるが、これらに限定されない。コンピュータ可読信号媒体は、命令実行システム、装置、またはデバイスによる使用のために、またはそれらとの関連でプログラムを通信、伝搬、または移送することが可能な、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってよい。
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等、またはそれらの適切な組み合わせを含む適当な媒体を使用して伝送することができるが、これらに限定されない。
本発明の態様の動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++(R)等のオブジェクト指向のプログラミング言語と、「C」プログラミング言語または類似のプログラミング言語等の従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述することができる。プログラム・コードは、独立型のソフトウェア・パッケージとして、すべてがユーザのコンピュータで実行されても、一部がユーザのコンピュータで実行されても、一部がユーザのコンピュータで実行され、一部がリモート・コンピュータで実行されても、またはすべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)やワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続しても、外部のコンピュータに接続してもよい(例えばインターネット・サービス・プロバイダを使用してインターネットを通じて)。
以下、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本発明の態様を説明する。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組み合わせはコンピュータ・プログラム命令によって実施できることが理解されよう。コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、このようなコンピュータ・プログラム命令は汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。
コンピュータ可読媒体に記憶された命令により、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する命令を含んだ製品を作り出すべく、このようなコンピュータ・プログラム命令はコンピュータ可読媒体に記憶され、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに特定の方式で機能するように指示するものであってよい。
コンピュータまたは他のプログラム可能装置で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで説明する機能/動作を実施する処理を提供するように、コンピュータによって実行されるプロセスを作出するべく、コンピュータ・プログラム命令はコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってよい。
本発明の実施形態は、クラウド・コンピューティングのインフラストラクチャを通じてエンド・ユーザに提供することができる。クラウド・コンピューティングとは、一般に、スケーラブルなコンピューティング資源をネットワークを通じてサービスとして提供することを言う。より正式には、クラウド・コンピューティングは、コンピューティング資源とその基盤となる技術的アーキテクチャ(例えばサーバ、記憶機構、ネットワーク)との間の抽象化を提供するコンピューティング能力であって、設定可能なコンピューティング資源の共有プールに必要時にネットワークを通じて利便にアクセスすることを可能にすることより、コンピューティング資源を最小限の管理労力やサービス・プロバイダの対話で迅速に準備し、提供するものであると定義することができる。したがって、クラウド・コンピューティングにより、ユーザは、コンピューティング資源を提供するために使用される基盤物理システム(またはそのシステムの場所)に関係なく、「クラウド」内の仮想コンピューティング資源(例えば、記憶領域、データ、アプリケーション、さらには完全な仮想化コンピューティング・システム)を利用することができる。
通例、クラウド・コンピューティング資源は従量課金方式でユーザに提供され、ユーザは、実際に使用したコンピューティング資源だけについて課金される(例えば、ユーザが利用した記憶空間の量や、ユーザがインスタンス化した仮想化システムの数等)。ユーザは、クラウド内にある資源にはいつでもインターネットを介してどこからでもアクセスすることができる。本発明の文脈では、ユーザは、サーバで運用または記憶されているクラウド内の利用可能なアプリケーションやそれに関連するデータにアクセスすることができる。例えば、クラウド内で仮想スイッチを実装しているサーバ上でアプリケーションを実行することができる。それにより、ユーザは、そのクラウドに接続されたネットワーク(例えばインターネット)に結合されたコンピューティング・システムであればどのコンピューティング・システムからでもその情報にアクセスできるようになる。
図1は、本発明の一実施形態による、仮想スイッチを含むシステム・アーキテクチャを示す図である。第1のサーバ105は、メモリ110に結合された少なくとも1つのプロセッサ109を備える。プロセッサ109は、1つもしくは複数のプロセッサ(例えばマイクロプロセッサ)またはマルチコア・プロセッサであってよい。メモリ110は、サーバ105の主記憶を構成するランダム・アクセス・メモリ(RAM)デバイス、ならびに補助レベルのメモリ、例えば、キャッシュ・メモリ、不揮発性メモリまたはバックアップ・メモリ(例えばプログラム可能メモリやフラッシュ・メモリ)、読取専用メモリ等であってよい。また、メモリ110は、サーバ105内に物理的に配置されているメモリ記憶領域、またはサーバ105に結合された別のコンピューティング・デバイス上に物理的に配置されているメモリ記憶領域を含むことができる。
サーバ105は、オペレーティング・システム107の制御下で動作し、仮想マシン111等の各種のコンピュータ・ソフトウェア・アプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、およびデータ構造を実行することができる。
サーバ105は、ネットワーク・アダプタ115(例えばコンバージド(converged)・ネットワーク・アダプタ)を含むことができる。コンバージド・ネットワーク・アダプタは、コンバージド・エンハンスド・イーサネット(CEE)に対応したペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)アダプタ等のシングル・ルートI/O仮想化(SR−IOV)アダプタを含むことができる。システム100の別の実施形態は、マルチルートI/O仮想化(MR−IOV)アダプタを含むことができる。ネットワーク・アダプタ115はさらに、ファイバー・チャネル・オーバー・イーサネット(FCoE)プロトコル、RDMAオーバー・イーサネット、インターネット・スモール・コンピュータ・システム・インターフェース(iSCSI)等を実装するためにも使用することができる。一般に、イーサネット(R)またはPCIに基づく通信方法を使用してデータを転送するネットワーク・アダプタ115は、仮想マシン111の1つまたは複数に結合することができる。また、アダプタは、仮想マシン111間での共用アクセスを容易にすることができる。図ではアダプタ115はサーバ105の内部に含まれているが、他の実施形態では、アダプタをサーバ105から切り離された物理的に別のデバイスとすることもできる。
一実施形態では、各ネットワーク・アダプタ115は、仮想マシン111へのアクセスを連携調整することでアダプタ115間のデータ転送を容易にするコンバージド・アダプタ仮想ブリッジ(図示せず)を含むものであってよい。各コンバージド・アダプタ仮想ブリッジは、自身のドメイン(すなわちアドレス指定可能な空間)内を流れるデータを認識することができる。認識されたドメイン・アドレスを、その特定のコンバージド・アダプタ仮想ブリッジのドメイン外にデータを送信することなく、直接ルーティングすることができる。
各ネットワーク・アダプタ115は、ブリッジ・エレメント120の1つに結合する1つまたは複数のイーサネット・ポートを備えることができる。また、PCIe通信を容易にするために、サーバがPCIホスト・ブリッジ117を有するようにしてもよい。そして、このPCIホスト・ブリッジが仮想スイッチ180中のスイッチ・エレメント上にあるアップストリームPCIポート122に接続する。そうすることにより、アップストリームPCIポート122と同じスイッチ・モジュール上または異なるスイッチ・モジュール上にある適切なダウンストリームPCIポート123に、スイッチング層130を介してデータがルーティングされる。その後、PCIデバイス150にデータを送信することができる。本明細書では、「仮想スイッチ」は、互いに接続され、その結果、スイッチ・エレメントの1つに接続するデバイスには1つのスイッチのように見える複数の分散型ハードウェア・スイッチ・エレメントの意味で使用される。
ブリッジ・エレメント120は、分散型仮想スイッチ180全体にデータ・フレームを送信するように構成することができる。例えば、2つの40ギガビット・イーサネット接続または1つの100ギガビット・イーサネット接続を使用して、ネットワーク・アダプタ115とブリッジ・エレメント120を接続することができる。ブリッジ・エレメント120は、ネットワーク・アダプタ115から送信されたデータ・フレームをスイッチング層130に転送する。ブリッジ・エレメント120は、受け取ったデータ・フレームを転送する際に使用されるアドレス・データを格納する参照テーブルを含むことができる。例えば、ブリッジ・エレメント120は、受け取ったデータ・フレームに関連付けられたアドレス・データを、参照テーブルに格納されたアドレス・データと比較することができる。そのため、ネットワーク・アダプタ115は、分散型仮想スイッチ180のネットワーク・トポロジを認識する必要がない。
分散型仮想スイッチ180は、一般に、独立しているが互いに接続された複数のハードウェア・コンポーネント上に配置されていて差し支えない複数のブリッジ・エレメント120を含む。ネットワーク・アダプタ115から見ると、仮想スイッチ180は、物理的には異なるコンポーネント上にある複数のスイッチから構成される場合があるにも関わらず、1つのスイッチのように動作する。スイッチ180を分散させることにより障害発生時に冗長性が得られ、1つの大きなスイッチに比べて高い費用効果で、より多くのサーバを相互接続するように拡張することができる。
各ブリッジ・エレメント120は、受け取ったデータ・フレームをスイッチング層130で使用されるプロトコルに変換する1つまたは複数のトランスポート層モジュール125に接続することができる。例えば、トランスポート層モジュール125は、イーサネット(R)またはPCI通信方法のどちらかを使用して受信したデータを、汎用的なフォーマットのパケット(すなわちセル)に変換し、そのパケットがスイッチング層130(すなわちセル・ファブリック)を介して送信される。したがって、スイッチ180から成るスイッチ・モジュールは、少なくとも2つの異なる通信プロトコル、例えばイーサネット(R)およびPCIe通信標準に対応している。すなわち、少なくとも1つのスイッチ・モジュールが、異なるプロトコルのペイロードを同じスイッチング層130上で転送するために必要なロジックを有する。
図1には示していないが、一実施形態では、スイッチング層130は、同じ筐体兼ラック内にあるブリッジ・エレメント120同士を接続するローカル・ラック相互接続と、他の筐体兼ラック内にあるブリッジ・エレメント120に接続するリンクとを備えるものであってよい。
セルのルーティング後、スイッチング層130はトランスポート層モジュール126と通信し、トランスポート層モジュール126は、セルを再変換して、該当する通信プロトコルに対応するデータ・フレームまたはメッセージにする。ブリッジ・エレメント120の一部は、LANまたはWAN(例えばインターネット)へのアクセスを提供するイーサネット・ネットワーク155との通信を容易にすることができる。さらに、PCIデータは、PCIeデバイス150に接続するダウンストリームPCIポート123にルーティングすることができる。PCIeデバイス150は、アドイン・ボード用の拡張カード・インターフェース等の受動バックプレーン相互接続、またはスイッチ180に接続されたどのサーバからでもアクセス可能な共通記憶領域とすることができる。
第2のサーバ106は、オペレーティング・システム107に接続されたプロセッサ109、および第1のサーバ105と同様の1つまたは複数の仮想マシン111を含むメモリ110を含むことができる。サーバ106のメモリ110は、仮想ブリッジ114を有するハイパーバイザ113をも含む。ハイパーバイザ113は、異なる仮想マシン111間で共有されるデータを管理する。具体的には、仮想ブリッジ114により、接続された仮想マシン111間の直接的な通信が可能となるので、仮想マシン111がブリッジ・エレメント120またはスイッチング層130を使用してハイパーバイザ113に通信可能に結合された他の仮想マシン111にデータを送信する必要はない。
入出力管理コントローラ(IOMC)140(すなわち専用プロセッサ)が、IOMC140をスイッチング層130にアクセスさせる少なくとも1つのブリッジ・エレメント120に結合される。IOMC140の機能の1つは、管理者からの指示を受け取って分散型仮想スイッチ180の異なるハードウェア要素を構成することである。一実施形態では、そのような指示を、別個のスイッチング・ネットワークからスイッチング層130を介して受け取ってもよい。
図には1つのIOMC140を示すが、システム100は複数のIOMC140を含んでよい。一実施形態では、そのようなIOMC140を階層化して、1つのIOMC140をマスタとして選択し、その他のIOMC140をメンバ(またはスレーブ)として選択することができる。
図2は、一実施形態によるシステム100のハードウェア・レベルの図である。サーバ210とサーバ212を物理的に同じ筐体205内に配置するが、筐体205は任意数のサーバを含んでよい。筐体205は、複数のスイッチ・モジュール250、251も含み、スイッチ・モジュール250、251は1つまたは複数のサブスイッチ254を含む。一実施形態では、スイッチ・モジュール250、251、252はハードウェア・コンポーネント(例えばPCB基板、FPGA基板、システム・オン・チップ等)であり、物理的な支持およびネットワーク・アダプタ115とブリッジ・エレメント120間の接続を提供する。一般に、スイッチ・モジュール250、251、252は、システム200内の異なる筐体205、207およびサーバ210、212、214を接続するハードウェアを含む。
スイッチ・モジュール250、251、252(すなわち筐体相互接続要素)は、1つまたは複数のサブスイッチ254およびIOMC255、256、257を含む。サブスイッチ254は、ブリッジ・エレメント120の論理的または物理的なグループ化を含むことができる。各ブリッジ・エレメント120は、物理的にサーバ210、212に接続することができる。例えば、ブリッジ・エレメント120は、イーサネット(R)またはPCI通信プロトコルを使用して送信されたデータを、スイッチング層130に接続された他のブリッジ・エレメント120にルーティングすることができる。ただし、一実施形態では、ネットワーク・アダプタ115からスイッチング層130に接続してPCIまたはPCIe通信を行うに当たって、ブリッジ・エレメント120は必要はない。
各スイッチ・モジュール250、251、252は、システム200内の種々のハードウェア資源を管理および構成するためのIOMC255、256、257を含む。一実施形態では、各スイッチ・モジュール250、251、252に対応するそれぞれのIOMCは、特定のスイッチ・モジュールのハードウェア資源を構成する役目を担うことができる。ただし、スイッチ・モジュール同士はスイッチング層130を使用して相互接続されているため、1つのスイッチ・モジュール上のIOMCが別のスイッチ・モジュール上のハードウェア資源を管理してもよい。
筐体205内の点線は、サーバ210、212とスイッチ・モジュール250、251間のミッドプレーン220を定義する。すなわち、ミッドプレーン220は、ネットワーク・アダプタ115とサブスイッチ254の間でデータを送信するデータ経路を含む。
各ブリッジ・エレメント120はスイッチング層130に接続する。また、ブリッジ・エレメント120は、ネットワーク・アダプタ115すなわちアップリンクにも接続することができる。本発明で使用するようなブリッジ・エレメント120のアップリンク・ポートは、システム200の接続性または機能を拡張するサービスを提供する。筐体207内に示すように、ブリッジ・エレメント120の1つは、イーサネット(R)またはPCIコネクタ260への接続を含む。イーサネット通信のために、コネクタ260を介してシステム200はLANまたはWAN(例えばインターネット)にアクセスすることができる。あるいは、ポート・コネクタ260を介してシステムがPCIe拡張スロット、例えばPCIeデバイス150に接続してもよい。デバイス150は、各サーバ210、212、214がスイッチング層130を介してアクセスすることができる追加の記憶領域またはメモリとすることができる。システム200が少なくとも2つの異なる通信方法に対応するネットワーク・デバイスを有するスイッチング層130にアクセスできることは有利である。
図示するように、サーバ210、212、214は、複数のネットワーク・アダプタ115を有することができる。これにより、アダプタ115の1つが故障した場合に冗長性が得られる。また、各アダプタ115は、ミッドプレーン220を介して異なるスイッチ・モジュール250、251、252に接続することができる。図示するように、サーバ210の一方のアダプタはスイッチ・モジュール250内のブリッジ・エレメント120に通信可能に結合され、他方のアダプタはスイッチ・モジュール251内のブリッジ・エレメント120に接続される。スイッチ・モジュール250、251のどちらかが故障した場合でも、サーバ210はもう1つのスイッチ・モジュールを介してスイッチング層130になおアクセス可能である。そして、故障したスイッチ・モジュールを交換(例えばホット・スワップ)することによって、IOMC255、256、257およびブリッジ・エレメント120は新しいスイッチ・モジュール上のハードウェア要素を含むべく、ルーティング・テーブルおよび参照テーブルを更新する。
図3は、本発明の一実施形態による仮想スイッチング層を示す図である。システム100および200内の各サブスイッチ254は、メッシュ接続方式を介してスイッチング層130およびブリッジ・エレメント120を使用して互いに接続される。すなわち、どのサブスイッチ254を用いるかに関わらず、セル(すなわちデータ・パケット)を他のスイッチ・モジュール250、251、252上にある他のサブスイッチ254にルーティングすることができる。これは、各サブスイッチ254を直接接続することによって実現してもよく、この場合には各サブスイッチ254がすべての他のサブスイッチ254への専用のデータ経路を有する。あるいは、スイッチング層130が茎−葉(spine-leaf)アーキテクチャを使用してもよく、この場合には各サブスイッチ254(すなわち葉ノード)が少なくとも1つの茎ノードに接続される。茎ノードは、サブスイッチ254から受け取ったセルを正しい送信先のサブスイッチ254にルーティングする。ただし、本発明は、サブスイッチ254を相互接続するどの特定の技術にも限定されるものではない。
VLANを実装するネットワーク・ファブリック
図4は、本発明の実施形態による、図2のシステム内での仮想ローカル・アクセス・ネットワークの使用を説明する図である。具体的には、図4は、サーバ210およびサブスイッチ254を含むように図2を簡略化した図である。ネットワーク・アダプタ115は、ミッドプレーン220を介してブリッジ・エレメント120に接続する。ただし、ミッドプレーン220は、ネットワーク・アダプタ115とブリッジ・エレメント120間のLANを構成する物理的接続の1つのみを示すように簡略化している。一実施形態では、各ネットワーク・アダプタ115は、それぞれのブリッジ・エレメント120への接続を1つまたは複数有する。
点線は、ネットワーク・アダプタ115と特定のブリッジ・エレメント120間の異なるVLANチャネル405A〜Cを定義する。ネットワーク・アダプタ115は、ブリッジ・エレメント120への物理的なイーサネット接続を1つだけ有しても2つ有してもよいが(例えば1つの100G/bit接続または2つの40G/bit接続)、それらの接続を論理的にVLANに分割することができ、VLANには2地点間通信のための1つまたは複数のVLANチャネルが含まれる。すなわち、ミッドプレーン220内の各物理的接続は、数百万とは言わないまでも数千の異なるVLANとそれぞれのVLANチャネルに分割することができる。さらに、VLANチャネルは、IEEE 802.1QinQで定義されるようにS−VLANまたはC−VLAN用のS−チャネルまたはC−チャネルとすることができる。VLANにパケットを割り当てることにより、より多様な粒度でLAN制御することが可能になる。例えば、管理者は、各VLANに異なるセキュリティ・プロトコルを割り当てたり、各VLANのパケットを異なる形で管理したりすることができる。
図4では、各ネットワーク・アダプタ115は、アダプタ115がミッドプレーン220を介してブリッジ・エレメント120に物理的に接続されている限り、ブリッジ・エレメント120への1つまたは複数のVLANチャネルを確立することができる。したがって、一番上のネットワーク・アダプタ115は、図示されたVLANチャネルに加えて、他のブリッジ・エレメント120へのVLANチャネルをも有することができる。システム400は、一意にアドレス指定可能なVLANの数だけVLANチャネルを割り当てることができる。IEEE 802.1Qの場合、これは4096個のS−VLANになる。VLANチャネルは、ミッドプレーン220の異なる物理的接続間に任意の態様で分散させることができる。802.1Qによるすべての物理的接続には、同じVLANチャネル(またはVLANチャネルのサブセット)を設定可能であることに留意されたい。
図5は、本発明の一実施形態によるVLAN IDに基づいてネットワーク・トラフィックを識別するためのデータ・フレームである。具体的には、データ・フレーム500は、IEEE 802.1QinQに対応するデータ・フレームの一部を示している。データ・フレーム500は、外側タグ(Sタグ)501と内側タグ(Cタグ)502の2つの異なる部分に分割される。外側タグ501は、最初にVLANをCEEネットワークに導入したIEEE 802.1Qで定義されるタグと同じである。しかしながら、管理者のLANの制御能力を高めるために、IEEE 802.1QinQでは内側タグ502を追加して二重タギングの考えを導入した。したがって、本明細書に開示される実施形態を使用すると、IEEE 802.1Qまたは802.1QinQに基づいて確立されたVLANをアドレス指定することができる。
タグ501、502は、イーサタイプ/サイズ505、優先度コード・ポイント(PCP)510、および基準フォーマット・インディケータ(CFI)515、ならびにS−VLAN ID520またはC−VLAN ID525を含む。イーサタイプ505は通例は16ビット(すなわち2バイト)のフィールドであり、そのデータ・パケットのペイロードにカプセル化されているプロトコルを示すために使用される。PCP510は、S−VLANまたはC−VLANにそれぞれ割り当てられた優先度またはトラフィック・クラス(すなわち優先度1〜優先度8)を参照する3ビットのフィールドである。CFI515は、MACアドレス(データ・フレーム500中の他の場所に格納される)が非正規フォーマットであるか否かを示す1ビットのフィールドである。
IEEE 802.1Qおよび802.1QinQの場合、S−VLAN ID520は12ビットであり、そのフレーム500が属するS−VLANを指定する。C−VLAN IDは、IEEE 802.1Q標準では定義されていないが、これも12ビットの長さであり、フレーム500が属するC−VLANを指定する。すなわち、IEEE 802.1QinQは、各S−VLANが最高で4096個の一意にアドレス指定可能なC−VLANを有し、それにより1600万を超えるアドレス指定可能なVLANを提供するべくIEEE 802.1Qを拡張したものである。ただし、IEEE 802.1Qのみで定義されたデータ・フレームには、部分505A、510A、515A、および520は含まれるが、部分505B、510B、515B、および525は含まれない。いずれの場合も、本明細書に開示される実施形態は、IEEE 802.1Qおよび802.1QinQに限定されず、これらの標準に関連する標準もしくは派生標準(例えばIEEE 802.1QatやIEEE 802.1ak)、または現在もしくは将来のVLAN生成に対応する他の標準で使用することができる。
一般に、データ・フレーム500は、送信元からネットワークを通じて宛先に送信されるより大きなデータ・フレーム(すなわちデータ・パケット)の一部である。データ・フレーム全体は他の区画をも含み、それらには例えばプリアンブル、送信元および宛先のアドレス、ペイロード、誤り訂正符号等が含まれる。
VLANチャネル内の帯域幅の割当
図6は、本発明の一実施形態による、図1のシステムにおいてVLANを使用するETSの強化バージョンを示す。図6は、ブリッジ・エレメント120、メモリ639、およびポート630を示す。メモリ639は、ランダム・アクセス・メモリ(RAM)デバイスから成るキャッシュ・メモリ、不揮発性またはバックアップ・メモリ(例えばプログラム可能メモリまたはフラッシュ・メモリ)、読取専用メモリ等を表す。メモリ639は、2つのコンピューティング・デバイス、例えば2つのブリッジ・エレメント120間の物理的接続に関連付けられた帯域幅を分割するETSスケジューラ640を含む。一実施形態では、ETSスケジューラ640はIEEE 802.1Qazに準拠するように構成される。
ブリッジ・エレメント120がポート630を使用することによって、コンピューティング・デバイスへの接続を確立する。例えば、ポート630は、イーサネット・ケーブルが接続される物理的なコネクタである。図示するように、ポート630は、その物理的接続を使用するVLANチャネルへの帯域幅の割当を表すように論理的に分割することができる。例えば、ETSスケジューラ640は、ファブリック内のVLANチャネルまたはVLANの数に応じて帯域幅を割り当てるように構成することができる。各VLANチャネルには、ポート630が利用できる帯域幅のある一定の割合を保証することができる。VLANチャネルの1つが割り当てられた帯域幅を現在使用していない場合、ETSスケジューラ640は、別のVLANチャネルに関連付けられたネットワーク・トラフィックがその帯域幅を使用することを一時的に許可することができる。
さらに、帯域幅をVLANチャネルのブロックまたはグループに割り当てることができる。すなわち、VLANチャネル1〜3に対してポートの帯域幅の2%を割り当てることができる。さらに、一実施形態では、ETSスケジューラ640は、ポート630を使用するVLANチャネルのサブセットに帯域幅を割り当てることができる。したがって、ポート630を使用するすべてのVLANチャネルにETSスケジューラ640によって帯域幅を割り当てなければならない、または保証しなければならないという訳ではない。
一実施形態では、ETSスケジューラ640は、仮想スイッチ180内の他の場所にあるメモリに配置することができる。
図7〜図8は、本発明の一実施形態によるETSスケジューラ階層を示す。1つのVLANチャネルまたはVLANチャネルのグループに対して帯域幅を割り当てることに専ら依拠するのではなく、ETSスケジューラは、VLAN内のトラフィック・クラスに対して帯域幅を割り当てることができる。図5のデータ・フレーム500で示すように、VLANに割り当てられる各フレームを、そのVLAN内の特定のトラフィック・クラス(すなわちPCP510で表される値)に割り当てることもできる。各データ・フレームをVLANに対して、そのVLANのVLAN ID(すなわちS−VLAN ID520またはC−VLAN ID525あるいはその両方)および特定のトラフィック・クラスに基づいて割り当てることができる。
メモリ739は、ETS VLANスケジューラ741およびETS優先度スケジューラ742から構成されるETSスケジューラ階層を含むことができる。ETS VLANスケジューラ741は、図6のETSスケジューラ640と同様の機能を実行することができる。すなわち、ETS VLANスケジューラ741は、出口ポート730を使用する1つまたは複数のVLANチャネルに帯域幅を割り当てることができる。VLANチャネル間で帯域幅を割り振るのに加えて、ETSスケジューラ階層のETS優先度スケジューラ742は、さらにトラフィック・クラス間で帯域幅を分割することができる。すなわち、ETS優先度スケジューラ742は、特定のVLANチャネルに割り当てられた帯域幅を、VLANチャネル内の異なるトラフィック・クラス(すなわち優先度1〜8)間でさらに分割することができる。
図8は、VLANチャネルまたはVLANに割り当てられた帯域幅をトラフィック・クラスに基づいて割り振る例を示す。図に示すように、ETS VLANスケジューラ741は、ポート730に関連付けられた帯域幅の15%を、VLANチャネル1に割り当てられたネットワーク・トラフィックに割り振っている。また、ETS優先度スケジューラ742はさらにこの15%分の割当を異なるトラフィック・クラス(すなわち優先度1〜8)間で分割している。その結果、優先度8がポート730の全帯域幅の6%を受け取るのに対し、優先度1は全帯域幅の1%しか受け取らない。したがって、VLANチャネル1の優先度8に割り当てられたネットワーク・トラフィックにはポートの帯域幅の少なくとも6%が保証されるのに対し、優先度1には1%が保証される。このようにして、ポート730の帯域幅を任意に分割して所望の配分を行うことができる。
さらに、複数のVLANチャネルを一緒にグループ化する場合に、ETSスケジューラ階層を使用して帯域幅を割り当ててもよい。例えば、ETS VLANスケジューラ741がポートの帯域幅の15%をVLANチャネル1〜3に割り当てる場合、ETS優先度スケジューラ742は、その帯域幅の一部を、VLANチャネルに関連付けられた各トラフィック・クラスに割り当てることができる。例えば、VLANチャネル1の優先度1とVLANチャネル2の優先度5がすべての帯域幅を受け取り、その他の優先度には帯域幅が割り当てられない。あるいは、ETS優先度スケジューラ742は、VLANチャネルそれぞれの各トラフィック・クラスを同じように扱ってもよい。その場合、帯域幅の配分は、配分が複数のVLANチャネルに対して適用される点を除いて図8に示す配分と同様になる。すなわち、各VLANチャネルの優先度1に対してグループとして全帯域幅の1%が割り当てられ、各VLANチャネルの優先度5に合計2%が割り当てられ、最終的に多数のVLANチャネルに対して15%分の割当が分散される。ただし、VLANと同様に、あるVLAN自体に帯域幅が割り振られる場合でも、当該VLANチャネル内のすべてのトラフィック・クラスに帯域幅を割り当てなければならない訳ではない。
図では別個の構成要素として示すが、一実施形態では、ETS VLANスケジューラ741とETS優先度スケジューラ742は一体化して1つの構成要素としてもよい。
図9は、図2に示すシステムを簡略化した図である。図9は、サーバとネットワーク・デバイス(すなわちブリッジ・エレメント120)との間、ネットワーク・デバイス同士の間、ネットワーク・デバイスと他のWANまたはLANとの間、およびネットワーク・デバイスと他のコンピューティング・デバイスとの間の接続を示している。
図に示すように、図9は、仮想マシン111を持つサーバ805を含み、仮想マシン111では2つの異なるアプリケーション810、815が実行されていてよい。各アプリケーション810、815は各々、別個のVLAN、より具体的には、アプリケーション810、815からのデータ・パケットを仮想スイッチ180内の少なくとも1つのブリッジ・エレメント120にルーティングするSチャネルに関連付けられる。図を分かりやすくするために、サーバ805とブリッジ・エレメント120間の物理的接続は省略している。さらに、VLANチャネル405Dおよび405Eは、同じ接続に関連付けても、異なる物理的接続に関連付けてもよい。
仮想スイッチ180は、入口ポート825、出口ポート830、835、838、およびETSスケジューラ840を含む複数のブリッジ・エレメント120A〜Cを含む。図には示さないが、サーバ805は、ETSスケジューラ、および、ネットワーク内のVLANに基づいて帯域幅を割り振るべく論理的に分割された出口ポートも含むことができる。
ブリッジ・エレメント120Aは、それぞれのVLANチャネルに割り当てられた2つのアプリケーション810、815からデータ・パケット(すなわちデータ・フレーム)を受け取る。キューを使用することにより、ブリッジ・エレメント120Aは、仮想スイッチ180内のメッシュ・ネットワークを使用して、出口ポート830を介して仮想スイッチ180内の異なるネットワーク・デバイスにパケットを転送することができる。アプリケーション815に関連付けられたデータ経路870は、VLANチャネル405Eに割り当てられたデータ・フレームを転送する。ブリッジ・エレメント120AのETSスケジューラ840は、このネットワーク・トラフィックと、VLANチャネル405Dおよび405Eをサーバ805に向かう方向に流れるデータ・トラフィックとの両方に対して、帯域幅を割り当てることができる。
ETSスケジューラ840がポート830についての帯域幅の割当を設定した後、ブリッジ・エレメント120Aがデータ・フレームを受け取ると、VLAN IDを調べてそのフレームが属するVLANを判定する。次いでパケットを転送するが、ブリッジ・エレメント120Aは、そのVLANについて利用可能な帯域幅の量を把握している。例えば、ETSスケジューラ840が帯域幅の4%を当該VLANに割り当てた場合は、対応するVLAN IDを有するデータ・フレームすべてに対して、対応するVLANチャネルを介して転送されるに当たって、少なくともそれだけの帯域幅が保証される。
ETSスケジューラ840がETSスケジューラ階層を有する場合、スケジューラ840は、VLANチャネル405Eを含むVLAN内のトラフィック・クラスに基づいて、割り当てられた帯域幅をさらに分割することができる。ETSスケジューラ840は、アプリケーション810のVLANチャネル405D(すなわちデータ経路875)についても同じ処理を実行することができる。ここで、受信したデータ・フレーム中の優先度コードとVLAN IDとの両方を使用して、正しい量の帯域幅を用いてパケットが転送されることを保証する。そのようにして、ETSスケジューラ840は、データ経路870および875のVLANおよびトラフィック・クラスが、ポート830の帯域幅の最小限の割合を利用できることを保証することができる。
一方、ブリッジ・エレメント120Bおよび120CのETSスケジューラ840は、データ経路870および875に対して異なる割合の帯域幅を割り当てることができる。すなわち、ブリッジ・エレメント120Aを通って流れるデータ経路870のネットワーク・トラフィックに与えられる帯域幅の割当は、例えば、ブリッジ・エレメント120Cを通って流れるデータ経路870のネットワーク・トラフィックに与えられる帯域幅の割当より多いか少ないかの何れであってもよい。あるいは、ブリッジ・エレメント120CのETSスケジューラ840は、データ経路870のデータ・フレームに対して帯域幅を割り当てない、または保証しなくてもよい。一般に、システム管理者は、特定のブリッジ・エレメント120の需要を満たすようにブリッジ・エレメント120A〜CのETSスケジューラ840を構成することができる。例えば、ブリッジ・エレメント120Bは異なるWANにデータ・トラフィックを送信する一方、ブリッジ・エレメント120Cは別のサーバや仮想スイッチ180に接続された記憶装置等であるコンピューティング・デバイスにデータ・トラフィックを転送するようにしてもよい。このような異なる構成により、管理者は異なるブリッジ・エレメント120に対して異なる態様で帯域幅を割り当てることができる。
IEEE 802.1Qazで定義されるETSでは、トラフィック・クラスのものを上回る粒度で物理的接続の帯域幅を割り当てる手段は提供されない。先述のように、IEEE 802.1Qでは、ネットワーク管理者は最大で4096個の異なるVLANを設定可能であるのに対し、IEEE 802.1QinQでは1600万を超えるVLANが提供される。トラフィック・クラスではなくVLANに基づいて帯域幅を割り当てることができると、ネットワーク管理者による帯域幅割当能力が向上する。本明細書に開示されるETSスケジューラ840は、アプリケーション810(すなわちVLANチャネル405D)とアプリケーション815(すなわちVLANチャネル405E)とに対して帯域幅の異なる部分を割り当てることができる。アプリケーション間で異なる態様で帯域幅を割り当てるためにVLANチャネル405D、Eを異なるトラフィック・クラスに割り当てるのではなく、特定のVLANへのデータ・フレームのメンバーシップに基づいて、帯域幅を受信したデータ・フレームに割り当てるようにETSスケジューラ840を構成することができる。
出口ポート830、835、838をVLAN ID(例えばS−VLANまたはC−VLAN)に基づいて分割して相異なる数千または数百万個に配分することができる。現在、ETSでは帯域幅の割当は1%刻みである(すなわち最大100個のVLANに対して帯域幅の1%ずつを割り当てることができる)が、本明細書に開示される実施形態は、それよりはるかに高い精度で帯域幅を割り当てることが可能な将来の帯域幅割振方式と共に使用することができる。将来のETSスケジューラ840の方式では、物理的接続の帯域幅を、IEEE 802.1QinQを使用する場合に現在可能である1600万個の異なるVLANの間での任意の組み合わせに分割できるようになる可能性がある。8つのトラフィック・クラスに基づいてVLANに割り当てられた帯域幅をさらに分割するETSスケジューラ階層を用いれば、その数をさらに増大させることができる。
結び
IEEE 802.1QおよびETSでは、特定の物理的接続(またはリンク)の帯域幅を制御するために使用できる異なるトラフィック・クラスは8つしか提供されない。それら8つのトラフィック・クラスのみに依拠して帯域幅を管理するのではなく、本明細書に記載された実施形態は、ネットワーク・デバイスにより個々のVLANに対して帯域幅を設定することを可能にする強化されたETSスケジューラの使用を開示する。VLAN IDに基づいてポート内の帯域幅を割り振ることにより、ネットワーク・デバイスによって、数百万個の一意のVLANに対して帯域幅を割り当てることができる。したがって、本発明の技術により、ネットワーク・ファブリック制御制御およびそのパフォーマンスを改善することができる。
図のフローチャートおよびブロック図は、本発明の各種実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を説明するものである。これに関して、フローチャートまたはブロック図の各ブロックは、指定された(1つまたは複数の)論理的機能を実施する1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すことができる。一部の代替的な実装では、ブロックに記された機能は図に記された順序と異なる順序で行ってよいことにも留意されたい。例えば、関係する機能に応じて、相次いで示す2つのブロックを実際には実質的に同時に実行してもよいし、または2つのブロックを時に逆の順序で実行してもよい。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組み合わせは、指定された機能もしくは動作、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェアを利用したシステムによって実施できることにも留意されたい。
前述の説明は本発明の実施形態を対象とするが、本発明の基本的な範囲から逸脱することなくその他のさらなる本発明の実施形態を考案することができ、本発明の範囲は添付の特許請求の範囲によって決定される。

Claims (9)

  1. 2つのコンピューティング・デバイスを接続する物理的接続を確立するステップであって、前記物理的接続内を流れるネットワーク・トラフィックが複数の仮想ローカル・エリア・ネットワーク(VLAN)チャネルに論理的に分割される、前記確立するステップと、
    前記物理的接続の帯域幅を、前記複数のVLANチャネルのうち少なくとも2つに割り振るステップと、
    前記複数のVLANチャネルの1つに割り振られた前記帯域幅を複数のトラフィック・クラス間でさらに分割して前記複数のトラフィック・クラスに割り当てるステップと
    を含む方法。
  2. 前記複数のVLANチャネルおよび前記複数のトラフィック・クラスは、IEEE 802.1QおよびIEEE 802.1Qの派生標準の少なくとも1つに基づいて構成される、請求項1に記載の方法。
  3. 前記複数のVLANチャネルの前記1つに割り当てられた前記ネットワーク・トラフィックが前記割り振られた帯域幅を現在使用しているかどうかを判定するステップと、
    使用していない場合、前記複数のVLANチャネルの前記1つに割り当てられた前記帯域幅の少なくとも一部を異なるVLANチャネルに割り振るステップと、
    前記帯域幅の前記一部を前記異なるVLANチャネルから前記複数のVLANチャネルの前記1つに再割り当てするステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記VLANチャネルはサービスVLAN(S−VLAN)に関連付けられている、請求項1に記載の方法。
  5. 前記VLANチャネルは、S−VLANに割り当てられているカスタマーVLAN(C−VLAN)に関連付けられる、請求項1に記載の方法。
  6. 前記S−VLANおよびC−VLANは、IEEE 802.1QinQおよびIEEE 802.1QinQの派生標準の少なくとも1つに基づいて構成される、請求項5に記載の方法。
  7. 前記物理的接続の前記複数のVLANチャネルのサブセットのみに帯域幅が割り振られる、請求項1に記載の方法。
  8. コンピュータ可読プログラム・コードが具現化されたコンピュータ可読記憶媒体を備えるコンピュータ・プログラムであって、前記コンピュータ可読プログラム・コードは、
    2つのコンピューティング・デバイスを接続する物理的接続を確立し、前記物理的接続内を流れるネットワーク・トラフィックが複数の仮想ローカル・エリア・ネットワーク(VLAN)チャネルに論理的に分割され、
    前記物理的接続の帯域幅を、前記複数のVLANチャネルのうち少なくとも2つに割り振り、
    前記複数のVLANチャネルの1つに割り振られた前記帯域幅を複数のトラフィック・クラス間でさらに分割して前記複数のトラフィック・クラスに割り当て
    ようにコンピュータを動作させる、コンピュータ・プログラム。
  9. 物理的接続を介してコンピューティング・デバイスに接続されるように構成されたポートであって、前記物理的接続内を流れるネットワーク・トラフィックが複数の仮想ローカル・エリア・ネットワーク(VLAN)チャネルに論理的に分割される、前記ポートと、
    前記ポートの帯域幅を、前記複数のVLANチャネルのうち少なくとも2つに割り振り、前記複数のVLANチャネルの1つに割り振られた前記帯域幅を複数のトラフィック・クラス間でさらに分割して前記複数のトラフィック・クラスに割り当てるように構成された帯域幅スケジューラと
    を備えるネットワーク・デバイス。
JP2014548281A 2011-12-22 2012-12-13 ネットワーク・ファブリックのための柔軟でスケーラブルな強化型伝送選択方法 Active JP5967633B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/334,306 US9860188B2 (en) 2011-12-22 2011-12-22 Flexible and scalable enhanced transmission selection method for network fabrics
US13/334,306 2011-12-22
PCT/IB2012/057282 WO2013093734A1 (en) 2011-12-22 2012-12-13 Flexible and scalable enhanced transmission selection method for network fabrics

Publications (2)

Publication Number Publication Date
JP2015502724A JP2015502724A (ja) 2015-01-22
JP5967633B2 true JP5967633B2 (ja) 2016-08-10

Family

ID=48654512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014548281A Active JP5967633B2 (ja) 2011-12-22 2012-12-13 ネットワーク・ファブリックのための柔軟でスケーラブルな強化型伝送選択方法

Country Status (7)

Country Link
US (3) US9860188B2 (ja)
JP (1) JP5967633B2 (ja)
CN (1) CN104012057B (ja)
DE (1) DE112012004957B4 (ja)
GB (1) GB2515643B (ja)
TW (1) TWI516039B (ja)
WO (1) WO2013093734A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860188B2 (en) * 2011-12-22 2018-01-02 International Business Machines Corporation Flexible and scalable enhanced transmission selection method for network fabrics
US9692706B2 (en) * 2013-04-15 2017-06-27 International Business Machines Corporation Virtual enhanced transmission selection (VETS) for lossless ethernet
JP5757540B2 (ja) * 2013-09-17 2015-07-29 日本電信電話株式会社 通信システム、ネットワーク制御装置およびそのプログラム、並びに通信方法
US9330433B2 (en) * 2014-06-30 2016-05-03 Intel Corporation Data distribution fabric in scalable GPUs
DE102014226994A1 (de) * 2014-12-29 2016-06-30 Robert Bosch Gmbh Kommunikationssystem zum Betreiben eines Datennetzwerks
US20190036843A1 (en) * 2016-06-30 2019-01-31 Hitachi, Ltd. Inter-switch communication management apparatus, inter-switch communication management method, and computer-readable storage medium
US20190089637A1 (en) * 2017-09-21 2019-03-21 Microsoft Technology Licensing, Llc Virtualizing dcb settings for virtual network adapters
US20190089640A1 (en) * 2017-09-21 2019-03-21 Microsoft Technology Licensing, Llc Virtualizing dcb settings for virtual network adapters
US10860358B2 (en) * 2017-09-21 2020-12-08 Microsoft Technology Licensing, Llc Virtualizing datacenter bridging settings for virtual network adapters
US10454698B1 (en) * 2017-10-24 2019-10-22 Cisco Technology, Inc. Methods and apparatus for non-blocking IP multicast delivery of media data using spine and leaf architectures
CN109726153B (zh) * 2017-10-27 2023-02-24 伊姆西Ip控股有限责任公司 用于存储设备的集成装置、相应存储设备及其制造方法
US11470021B2 (en) * 2018-10-26 2022-10-11 Cisco Technology, Inc. Managed midlay layers on a routed network
US10630554B1 (en) 2018-10-29 2020-04-21 International Business Machines Corporation Input/output (I/O) performance of hosts through bi-directional bandwidth feedback optimization
EP4236443A3 (en) * 2019-06-07 2023-09-20 Telefonaktiebolaget LM Ericsson (publ) Per-stream filtering and policing for ran scheduling optimization in 5gs virtual tsn

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001253630A1 (en) * 2000-04-17 2001-10-30 Adaptive Networks, Inc. Power line communication network
DE10123821A1 (de) * 2000-06-02 2001-12-20 Ibm Geschaltete Ethernet-Netzwerke
US20020110087A1 (en) * 2001-02-14 2002-08-15 David Zelig Efficient setup of label-switched connections
US7379857B2 (en) * 2002-05-10 2008-05-27 Lockheed Martin Corporation Method and system for simulating computer networks to facilitate testing of computer network security
US7113479B2 (en) 2002-05-31 2006-09-26 Broadcom Corporation Aggregated rate control method and system
US7702357B2 (en) * 2002-11-26 2010-04-20 Sony Corporation Wireless intelligent switch engine
CN1286297C (zh) * 2003-09-25 2006-11-22 华为技术有限公司 一种实现用户位置标识传递的方法
WO2005060208A1 (en) 2003-12-16 2005-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Ethernet dsl access multiplexer and method providing dynamic service selection and end-user configuration
US7764688B2 (en) * 2004-01-20 2010-07-27 Nortel Networks Limited Ethernet differentiated services
US7701948B2 (en) * 2004-01-20 2010-04-20 Nortel Networks Limited Metro ethernet service enhancements
US7457241B2 (en) * 2004-02-05 2008-11-25 International Business Machines Corporation Structure for scheduler pipeline design for hierarchical link sharing
US7418000B2 (en) * 2004-06-03 2008-08-26 Corrigent Systems Ltd. Automated weight calculation for packet networks
CN100581160C (zh) 2004-10-19 2010-01-13 华为技术有限公司 一种在虚交换体系中完成业务传输的系统及方法
CN100414905C (zh) 2004-12-30 2008-08-27 华为技术有限公司 保证业务QoS的宽带接入网络及其方法
US7936770B1 (en) * 2005-03-08 2011-05-03 Enterasys Networks, Inc. Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
EP3054630B1 (en) * 2005-04-15 2019-01-23 InterDigital CE Patent Holdings Remote management method of a device and corresponding device
US20090316705A1 (en) * 2005-06-20 2009-12-24 Wei Zhao Quality of Service in Vlan-Based Access Networks
US7760738B1 (en) * 2005-07-28 2010-07-20 Verizon Services Corp. Admission control for services
US7733891B2 (en) * 2005-09-12 2010-06-08 Zeugma Systems Inc. Methods and apparatus to support dynamic allocation of traffic management resources in a network element
US8451730B2 (en) 2006-01-26 2013-05-28 Broadcom Corporation Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology
CN101030917B (zh) 2007-03-31 2010-09-15 华为技术有限公司 一种在vlan接口上实现mpls te的方法及装置
US7852789B2 (en) * 2007-06-20 2010-12-14 At&T Intellectual Property Ii, L.P. Methods, systems, and/or devices for providing network access
US20090067437A1 (en) * 2007-09-11 2009-03-12 Tellabs Petaluma, Inc. Methods, systems and computer program products for managing atm ethernet flows
CN100531101C (zh) 2007-10-22 2009-08-19 华为技术有限公司 一种实现端到端的QinQ业务标签自动分配的方法和装置
US8284654B2 (en) * 2007-12-03 2012-10-09 Verizon Patent And Licensing Inc. Bandwidth admission control on link aggregation groups
JP5111092B2 (ja) * 2007-12-21 2012-12-26 株式会社日立製作所 ネットワークシステム及びolt
JP4663761B2 (ja) 2008-06-20 2011-04-06 アラクサラネットワークス株式会社 パケット中継装置
WO2010098701A1 (en) * 2009-02-24 2010-09-02 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic scheduling using pon bandwidth allocation on lower aggregation levels
CN101510855B (zh) 2009-04-10 2011-06-15 华为技术有限公司 一种QinQ报文的处理方法和装置
US8174984B2 (en) 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
US9256560B2 (en) 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
US8599850B2 (en) * 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
JP5271876B2 (ja) * 2009-11-12 2013-08-21 株式会社日立製作所 パケット振り分け機能を有する装置及びパケット振り分け方式
WO2011061796A1 (ja) * 2009-11-18 2011-05-26 株式会社アドバンテスト 受信装置、試験装置、受信方法、および試験方法
JP5504952B2 (ja) * 2010-02-17 2014-05-28 ソニー株式会社 通信装置及び通信方法、並びにコンピューター・プログラム
US8392571B2 (en) * 2010-04-30 2013-03-05 Hewlett-Packard Development Company, L.P. Method and system for allocating bandwidth
JP5752243B2 (ja) 2010-06-08 2015-07-22 ブロケード コミュニケーションズ システムズ インコーポレイテッド パケットを処理および/または転送するための方法および装置
US10033650B2 (en) * 2010-06-08 2018-07-24 Brocade Communication Systems Llc Preserving quality of service across trill networks
EP2599266B1 (en) * 2010-07-29 2015-10-21 Telefonaktiebolaget L M Ericsson (publ) Handling network traffic via a fixed access
US8630173B2 (en) * 2010-11-19 2014-01-14 Cisco Technology, Inc. Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment
US8953443B2 (en) * 2011-06-01 2015-02-10 At&T Intellectual Property I, L.P. Method and apparatus for providing congestion management for a wireless communication network
CN103444135B (zh) * 2011-06-02 2016-10-12 慧与发展有限责任合伙企业 网络虚拟化方法和虚拟化网络
US9294589B2 (en) * 2011-06-22 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Header compression with a code book
US9860188B2 (en) 2011-12-22 2018-01-02 International Business Machines Corporation Flexible and scalable enhanced transmission selection method for network fabrics
JP2015040795A (ja) * 2013-08-22 2015-03-02 住友電工デバイス・イノベーション株式会社 試験装置

Also Published As

Publication number Publication date
US11095571B2 (en) 2021-08-17
CN104012057B (zh) 2016-12-14
US20180145926A1 (en) 2018-05-24
US9621479B2 (en) 2017-04-11
CN104012057A (zh) 2014-08-27
GB201408988D0 (en) 2014-07-02
WO2013093734A1 (en) 2013-06-27
JP2015502724A (ja) 2015-01-22
TWI516039B (zh) 2016-01-01
DE112012004957B4 (de) 2021-12-16
US20130166753A1 (en) 2013-06-27
TW201338445A (zh) 2013-09-16
GB2515643B (en) 2019-10-23
GB2515643A (en) 2014-12-31
DE112012004957T5 (de) 2014-08-14
US9860188B2 (en) 2018-01-02
US20130163611A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
JP5967633B2 (ja) ネットワーク・ファブリックのための柔軟でスケーラブルな強化型伝送選択方法
US9077636B2 (en) Flexible and scalable data link layer flow control for network fabrics
US10630583B2 (en) System and method for supporting multiple lids for dual-port virtual routers in a high performance computing environment
US9426546B2 (en) Maintaining a fabric name across a distributed switch
US9148369B2 (en) Packet routing with analysis assist for embedded applications sharing a single network interface over multiple virtual networks
US9077659B2 (en) Packet routing for embedded applications sharing a single network interface over multiple virtual networks
US9282056B2 (en) Metrics and forwarding actions on logical switch partitions in a distributed network switch
US9282036B2 (en) Directed route load/store packets for distributed switch initialization
US9401873B2 (en) Fibre channel over ethernet (FCoE) zoning in a distributed ethernet switch
US20150138946A1 (en) Controlling switch mechanism for detecting fibre channel over ethernet data forwarder failure
US9686210B2 (en) Controller based fibre channel over ethernet (FCoE) fabric
US9473420B2 (en) Metrics and forwarding actions on logical switch partitions in a distributed network switch
US10341256B2 (en) Exchange switch protocol version in a distributed switch environment

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20151214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160606

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R150 Certificate of patent or registration of utility model

Ref document number: 5967633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150