JP2016525846A - データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム - Google Patents

データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2016525846A
JP2016525846A JP2016530322A JP2016530322A JP2016525846A JP 2016525846 A JP2016525846 A JP 2016525846A JP 2016530322 A JP2016530322 A JP 2016530322A JP 2016530322 A JP2016530322 A JP 2016530322A JP 2016525846 A JP2016525846 A JP 2016525846A
Authority
JP
Japan
Prior art keywords
flow
elephant
miss
processed
switch
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.)
Granted
Application number
JP2016530322A
Other languages
English (en)
Other versions
JP6814041B2 (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 JP2016525846A publication Critical patent/JP2016525846A/ja
Application granted granted Critical
Publication of JP6814041B2 publication Critical patent/JP6814041B2/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/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

【課題】データ・パケットを処理するための方法およびシステムを提供する。【解決手段】この方法は、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、分類するステップと、分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信するステップと、仮想スイッチでマイス・フローを処理し、エレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するステップと、ハードウェア・スイッチでエレファント・フローを処理し、受信したマイス・フローと処理されたエレファント・フローとを転送するステップとを含む。この方法およびシステムにより、ネットワーク性能が効果的に改善され得る。【選択図】図3

Description

本発明は、データ・ネットワークに関し、より詳細には、データ・ネットワークにおけるデータ・パケットを処理するための方法およびシステムに関する。
これまでのネットワーク規模の拡大とともに、ユーザがますます増え、仮想化などの技術が出現してきたことにより、多くのユーザがネットワークをより一層利用するようになる一方で、ネットワークの柔軟性に対する要件もより高まっている。多くのユーザのサポートには、ネットワーク・リソースを共有することが必要であり、また、セキュリティを確保するために多くのユーザ同士間で隔離を行うことが必要である。ソフトウェア・デファインド・ネットワーキング(Software Defined Networking)は、ネットワークに対するユーザの柔軟性要求を満たすことは可能であるが、一方、処理負荷がスイッチまたはサーバ側の両方で生じ、それによって、処理ボトルネックに直面するという理由から、ネットワーク性能の低下ももたらすことになる。
上記の問題に鑑みて、ネットワーク性能を改善するための解決策を提供する必要性がある。
本発明の1つの実施形態によれば、データ・パケットを処理するための方法が提供される。方法は、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、分類するステップと、分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信するステップと、仮想スイッチでマイス・フローを処理するステップと、エレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するステップであって、それにより、ハードウェア・スイッチは、エレファント・フローを処理し、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送することができる、送信するステップとを含む。
本発明の1つの実施形態によれば、データ・パケットを処理するための方法が提供される。方法は、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、分類するステップと、分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信するステップと、仮想スイッチでマイス・フローを処理し、エレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するステップと、ハードウェア・スイッチでエレファント・フローを処理し、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送するステップとを含む。
本発明の1つの実施形態によれば、サーバにおけるデータ・パケットを処理するためのシステムが提供される。システムは、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、それらを仮想スイッチに送信するように構成されている分類器であって、エレファント・フローは、マイス・フローより多くのデータ・パケットを含んでいる、分類器と、分類器からのマイス・フローを処理し、受信したエレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するように構成されている仮想スイッチであって、それにより、ハードウェア・スイッチは、エレファント・フローを処理し、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送することができる、仮想スイッチとを備える。
本発明の1つの実施形態によれば、サーバにおけるデータ・パケットを処理するためのシステムが提供される。システムは、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、それらを仮想スイッチに送信するように構成されている、サーバにおける分類器であって、エレファント・フローは、マイス・フローより多くのデータ・パケットを含んでいる、分類器と、分類器からのマイス・フローを処理し、受信したエレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するように構成されている、サーバにおける仮想スイッチと、エレファント・フローを処理し、次いで、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送するように構成されている、ネットワークにおけるハードウェア・スイッチとを備える。
こうして、単に、より少ないデータ・パケットを含んでいるマイス・フローをサーバの仮想スイッチで処理し、より多くのデータ・パケットを含んでいるエレファント・フローをネットワークにおけるハードウェア・スイッチに送信して処理することによって、サーバ側でのCPUに対する要件が抑えられ、それによって、CPU処理能力におけるボトルネックに起因する転送遅延を回避することができる。
添付の図面における本開示のいくつかの実施形態のより詳細な説明を通じて、本開示の上記ならびに他の目的、特徴、および利点は、より明らかになろうが、ここで、同じ参照番号は、全体的に、本開示の実施形態における同じコンポーネントを示す。
本発明の実施形態を実施するのに適用可能な例示的なコンピュータ・システム/サーバ12のブロック図である。 例示的なデータ・センタ・ネットワークのアーキテクチャ図である。 本発明の1つの実施形態によるデータ・パケットを処理するための方法のフローチャートである。 本発明の別の実施形態によるデータ・パケットを処理するための方法のフローチャートである。 本発明の1つの実施形態によるデータ・パケットを処理するためのシステムのブロック図である。 本発明の別の実施形態によるデータ・パケットを処理するためのシステムのブロック図である。
本開示の好ましい実施形態が例示されている添付の図面を参照して、いくつかの好ましい実施形態が、より詳細に説明されることになる。しかしながら、本開示は、様々な形で実施可能であり、したがって、本明細書に記載の実施形態に限定されるように解釈すべきではない。それどころか、それらの実施形態は、本開示の徹底的かつ完全な理解のために、および本開示の範囲を当業者に完全に伝えるために提供される。
当業者には理解されることになるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として実装され得る。したがって、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは本明細書で「回路(circuit)」、「モジュール(module)」、または「システム(system)」とすべて大まかに呼ばれることがあるソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態を取ることができる。さらには、本発明の態様は、コンピュータ可読プログラム・コードを実装した1つまたは複数のコンピュータ可読媒体(複数可)で実装されるコンピュータ・プログラム製品の形態を取ることもできる。
1つまたは複数のコンピュータ可読媒体(複数可)の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体であっても、またはコンピュータ可読ストレージ媒体であってもよい。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、またはデバイス、あるいは前述の任意の適した組合せとすることができるが、それらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例(非包括的なリスト)には、以下、すなわち、1つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはFlashメモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取り専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述の任意の適した組合せが含まれることになる。本文献の文脈では、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって、あるいは命令実行システム、装置、またはデバイスに関連して使用するためのプログラムを収容する、または記憶することが可能な任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、例えば、ベースバンドで、または搬送波の一部として、コンピュータ可読プログラム・コードが実装されている伝播データ信号を含むことができる。そのような伝播信号は、電磁気、光学、またはそれらの任意の適した組合せを含むが、それらに限定されない多様な形態のうちのいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなくて、かつ命令実行システム、装置、またはデバイスによって、あるいは命令実行システム、装置、またはデバイスに関連して使用するためのプログラムを伝え、伝播し、または輸送することが可能な、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体において実装されるプログラム・コードは、ワイヤレス、ワイヤライン、光ファイバ・ケーブル、RFなど、または前述の任意の適した組合せを含むが、それらに限定されない任意の適切な媒体を使用して送信され得る。
本発明の態様の動作を遂行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、またはC++などのオブジェクト指向のプログラミング言語、および「C」プログラミング言語など、従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語、あるいは類似のプログラミング言語の任意の組合せで書くことができる。プログラム・コードは、ユーザのコンピュータにおいて全体的に、ユーザのコンピュータにおいて部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータにおいて部分的にかつリモート・コンピュータにおいて部分的に、あるいはリモート・コンピュータまたはサーバにおいて全体的に実行することが可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続可能であり、あるいは接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータとなされてもよい。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図、またはブロック図、あるいはその両方を参照して後述される。フローチャート図、またはブロック図、あるいはその両方の各ブロック、およびフローチャート図、またはブロック図、あるいはその両方におけるブロックの組合せが、コンピュータ・プログラム命令によって実施され得ることは理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャート、またはブロック図、あるいはその両方のブロックまたは複数のブロックにおいて指定される機能/行為を実施するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを創出するものであってよい。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶される命令が、フローチャート、またはブロック図、あるいはその両方のブロックまたは複数のブロックにおいて指定される機能/行為を実施する命令を含む製造品を創出するように、コンピュータ可読媒体に記憶され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の形で機能するように指図するものであってよい。
コンピュータ・プログラム命令はまた、コンピュータ、または他のプログラマブル装置において実行する命令が、フローチャート、またはブロック図、あるいはその両方のブロックまたは複数のブロックにおいて指定される機能/行為を実施するためのプロセスを提供するように、コンピュータ実施プロセスを創出するべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせるものであってよい。
次に、図1を参照すると、本発明の実施形態を実施するのに適用可能な例示的なコンピュータ・システム/サーバ12のブロック図がその中に示されている。コンピュータ・システム/サーバ12のみが図示されているが、本明細書に説明される本発明の実施形態の使用、または機能性の範囲に関して限定を示唆する意図は全くない。
図1に示されるように、コンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサもしくはプロセッシング・ユニット16、システム・メモリ28、およびシステム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に連結するバス18を含むことができるが、それらに限定されない。
バス18は、メモリ・バスまたはメモリ・コントローラ、周辺機器バス、アクセラレイティッド・グラフィックス・ポート、および多様なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかのうちの1つまたは複数を表す。限定ではなく、例として、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、および周辺機器コンポーネント相互接続(PCI)バスが含まれる。
典型的には、コンピュータ・システム/サーバ12は、多様なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12がアクセスできる任意の入手可能な媒体であってよく、揮発性および不揮発性の媒体、リムーバブルおよび非リムーバブルの媒体の両方を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30、またはキャッシュ・メモリ32、あるいはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12が、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでもよい。ほんの一例として、ストレージ・システム34が、(図示されていない、通常、「ハード・ドライブ」と呼ばれる)非リムーバブル、不揮発性の磁気媒体との読出しおよび書込みのために設けられてよい。図示されていないが、リムーバブル、不揮発性の磁気ディスク(例えば、「フロッピ・ディスク」)との読出しおよび書込みのために磁気ディスク・ドライブが、ならびにCD−ROM、DVD−ROM、または他の光媒体など、リムーバブル、不揮発性の光ディスクとの読出しまたは書込みのために光ディスク・ドライブが、設けられてもよい。そのような例では、それぞれが、1つまたは複数のデータ媒体インターフェースによってバス18に接続され得る。以下にさらに示され、説明されることになるように、メモリ28は、本発明の実施形態の機能を遂行するように構成されているプログラム・モジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
例として、プログラム・モジュール42の組(少なくとも1つ)を有するプログラム/ユーティリティ40が、メモリ28に記憶され得、限定ではないが、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも同様である。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはそれらの何らかの組合せのそれぞれは、ネットワーキング環境の実装形態を含むことができる。プログラム・モジュール42は、概して、本明細書に記載される本発明の実施形態の機能、または方法論、あるいはその両方を遂行する。
コンピュータ・システム/サーバ12はまた、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と相互作用できるようにする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはそれらのすべてと通信することもできる。そのような通信は、Input/Output(I/O)インターフェース22を介して行われ得る。さらになお、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、一般広域ネットワーク(WAN)、またはネットワーク・アダプタ20を介した公衆ネットワーク(例えば、インターネット)、あるいはそれらのすべてなどの1つまたは複数のネットワークとも通信することができる。示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネント、またはソフトウェア・コンポーネント、あるいはその両方が、コンピュータ・システム/サーバ12とともに使用可能になることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが含まれるが、それらに限定されない。
図2は、例示的なデータ・センタ・ネットワークのアーキテクチャの図を示している。データ・センタ・ネットワークが本発明の様々な実施形態を説明するための例として挙げられているが、本発明は、データ・センタ・ネットワークに限定されるのではなく、本発明は、任意のタイプのネットワークに適用できることに留意されたい。図2に示されるように、データ・センタ・ネットワークは、複数のハードウェア・スイッチ210を含むことができ、ここでは、ハードウェア・スイッチは、複数のネットワーク・ノード間で相互接続するためのネットワーク信号転送デバイスを示す。複数のハードウェア・スイッチ210を介して、サーバ220が、データ・センタ・ネットワークに接続される。ここでは、サーバ220は、複数の仮想マシンが実現されるサーバであっても、または任意の他の物理サーバであってもよい。サーバ220は、その内部に仮想スイッチvSwitch、すなわち、サーバ内で実現されるソフトウェア・スイッチを含んでおり、その仮想スイッチは、サーバにおける複数の仮想マシンを相互接続するために使用され得る。
データ・パケットは、サーバ、およびデータ・センタ・ネットワーク内でフローの形態で送信される。ここでは、フローは、同じクインテット(送信元IP、送信先IP、送信元MAC、送信先MAC、およびポート番号)を有するデータ・パケットの群を示し、概して、同じフロー内のデータ・パケットは、それらの相互間の関連性を有し、典型的には、1つのネットワーク・アプリケーションに属する。
本発明の発明者は、図2に示されるデータ・センタ・ネットワークのアーキテクチャの下、サーバ側で、入力負荷が増加すると、サーバのCPUに対する処理要件が比例的に増加し、それにより、CPUは、処理する際にボトルネックになることを見出した。CPUの追加の消費は、計算リソースを浪費することになり、それにより、テナントの経費も浪費されることになる。
その一方で、ハードウェア・スイッチ側では、フロー・テーブルは、サイズが限定されている。フロー・ルールのタイムアウト期間は、35秒より長いなど、比較的長く設定され、その場合、記憶されるのに必要なフロー・エントリのサイズは、2kを超えることになり、そのことは、スイッチのフロー・テーブルをオーバーフローにし、結果的に、スイッチ側での処理ボトルネックをもたらすことになる。
本発明の発明者は、データ・センタ・ネットワークのトラフィック内には、エレファント・フローとマイス・フローとがあり、ここで、エレファント・フローそのものの数は、比較的少なく、しかしながら、各エレファント・フローは、大量のデータ・パケットを含んでおり、その一方、マイス・フローそのものの数は、比較的多く、しかしながら、それらは、エレファント・フローと比較すると、はるかに少ないデータ・パケットを含んでいることに気付いている。
サーバ側では、多くのCPU時間がエレファント・フローのデータ・パケットを処理することによって消費され、エレファント・フローのパケット処理時間は、マイス・フローのパケット処理時間よりはるかに大きい。これは、仮想スイッチにおけるデータ・パケットの処理が、一般CPUを消費することになり、より多くのデータ・パケットを含んでいるエレファント・フローが、より多くのCPUリソースを消費することになるという事実に起因する。その一方で、別の避けられないシステム・オーバーヘッドは、データ・パケットを転送するためのネットワークI/Oであり、エレファント・フローを転送するためにネットワークI/Oによって消費されるCPUもまた、マイス・フローを転送するためにネットワークI/Oによって消費されるCPUよりはるかに大きい。
一方、スイッチ側では、フローをバッファリングするためのフロー・エントリに関しては、エレファント・フローをバッファリングするためのフロー・エントリに対する必要性は、フローをすべてバッファリングするためのものよりはるかに小さく、より安定している。例えば、キャッシュについてのタイムアウト期間が30秒に設定される場合には、平均して56のフロー・エントリ、および最大で300のフロー・エントリが1つのエレファント・フローをバッファリングするのに必要になり、それは、現在、一般に使用されるスイッチによって容易に実現可能である。フローすべてが、バッファリングされることになる場合には、平均して1741のフロー・エントリが必要になり、かなりの変動が存在することになる。
上述の観察に基づいて、本発明の様々な実施形態によるデータ・パケットを処理するための方法およびシステムを提案する。
図3は、本発明の1つの実施形態によるデータ・パケットを処理するための方法のフローチャートを示している。
ステップS310では、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類する。ここで、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる。本発明の実施形態によれば、仮想マシンの文脈では、フローは、それぞれの仮想マシンから生じ得る。
本発明の実施形態によれば、特定の分類パラメータは、閾値とすることができる。各フローのデータ・パケットの数は記録され、フローにおけるデータ・パケットの数が閾値未満の場合、そのフローはマイス・フローとして分類され、その数が閾値以上の場合、そのフローはエレファント・フローとして分類される。
本発明の実施形態によれば、分類されたフローは、識別され得る。識別は、エレファント・フローのみにおいて、またはマイス・フローのみにおいて行うことができ、あるいはエレファント・フローとマイス・フローの両方それぞれにおいて行うことができる。例えば、識別は、データ・パケットにおける既存のタグ・ビット(VLAN、TOSなど)を利用することによって、または新規ロケーションを付加することによって行うことができる。
ステップS320では、分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信する。
ステップS330では、仮想スイッチでマイス・フローを処理する。
本発明の実施形態によれば、フローがマイス・フローであるかどうかがデータ・パケットにおけるタグをチェックすることによって判断され得る。マイス・フローである場合には、処理動作がマイス・フローにおいて行われ、この処理動作は、フロー情報をバッファリングすること、パケット・ヘッダを置き換えること、カプセル化すること、カプセル化解除することなどの動作を含むことができる。
ステップS340では、エレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信し、それにより、ハードウェア・スイッチは、エレファント・フローを処理し、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送することができる。
ここで、ハードウェア・スイッチは、データ・パケットにおけるタグをチェックすることによって、エレファント・フローとマイス・フローとを区別する。エレファント・フローである場合には、エレファント・フローにおける処理動作では、フロー情報をバッファリングすること、パケット・ヘッダを置き換えること、カプセル化することなどが行われる。エレファント・フローでない場合、処理は何も行われず、フローは直接、コア・ネットワークに、または送信先側のハードウェア・スイッチに転送される。
こうして、単に、より少ないデータ・パケットを含んでいるマイス・フローをサーバの仮想スイッチで処理し、より多いデータ・パケットを含んでいるエレファント・フローをネットワークにおけるハードウェア・スイッチに送信して処理することによって、サーバ側でのCPUに対する要件が抑えられ、それによって、CPU処理能力におけるボトルネックに起因する転送遅延を回避することができる。
本発明の実施形態によれば、特定の分類パラメータは、仮想スイッチおよびハードウェア・スイッチの負荷関連の情報に基づいて、動的に調整され得る。
例えば、負荷状況は、ネットワークにおけるモニタに定期的にフィードバックされ得る。モニタは、定期的に、仮想スイッチおよびハードウェア・スイッチにおける負荷データを収集し、またはスイッチは、定期的に、負荷パラメータをモニタにフィードバックすることができる。モニタは、仮想スイッチとハードウェア・スイッチとの間の負荷を平衡させるように、モニタリング・データに基づいて適正な分類閾値を割り当てる。例えば、モニタは、仮想スイッチおよびハードウェア・スイッチにおける必要な負荷データ、CPU占有率、メモリ占有率などを収集し、様々なデータ指標を総合的に考慮することによって、負荷占有率を計算することができる。例えば、最高占有率を有する値、すなわち、システム・ボトルネックは、負荷占有率として選択され得、次いで、エレファント・フローおよびマイス・フローの分類パラメータは、仮想スイッチおよびハードウェア・スイッチの負荷状態に基づいて調整される。仮想スイッチの負荷が高い場合、パラメータは、より多くの負荷をハードウェア・スイッチに割り当てるように調整される(例えば、エレファント・フローのようにより多くのフローを分類するには、分類閾値を10%だけ抑える)。逆に、ハードウェア・スイッチの負荷が高い場合、閾値は、10%だけ増加する。負荷同士が近接している(差が10%以内である)場合、負荷は、バランスが取れていると見なされ、分類パラメータは、調整されないことになる。
図4は、本発明の1つの実施形態によるネットワークにおけるサーバおよびスイッチによって実現されるデータ・パケットを一緒に処理するための方法のフローチャートを示している。
ステップS410では、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類する。ここで、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる。
ステップS420では、分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信する。
ステップS430では、仮想スイッチでマイス・フローを処理し、エレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信する。
ステップS440では、ハードウェア・スイッチでエレファント・フローを処理し、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送する。
データ・パケットを送信するとき、データ・パケットは、まず、サーバ上の仮想スイッチ(送信側でのアクセス・スイッチ)を通過してから、ネットワークにおけるハードウェア・スイッチに達する。データ・パケットを受信する順序が正反対であるときには、データ・パケットは、まず、ネットワーク上のハードウェア・スイッチ(受信側でのアクセス・スイッチ)を通過してから、送信先サーバ上の仮想スイッチに達し、最終的には、受信するパーティに達する。
対称的な動作を必要とするいくつかのアプリケーションの場合には、例えば、パケットは、送信する側から送信された後にカプセル化される必要があり、受信する側に達する前にカプセル化解除される必要があり、受信する側はまた、逆の順序で処理を実施する必要がある、つまり、エレファント・フローが、まず、ハードウェア・スイッチによって処理され、次いで、マイス・フローが、仮想スイッチによって処理される。セキュリティ検出など、受信する側で処理される必要がない動作の場合には、パケットは、送信する側から送信された後に処理されるだけで十分であり、受信する側は、それが仮想スイッチであるか、ハードウェア・スイッチであるかにかかわらず、直接、パケットを転送することになる(処理命令がヌルであることと等しい)。
したがって、本発明の1つの実施形態によれば、図4は、ステップS450、すなわち、ネットワークにおけるハードウェア・スイッチにおいて、データ・パケットを含んでいるフローを受信し、エレファント・フローを認識し、エレファント・フローを処理し、マイス・フローと処理されたエレファント・フローとをサーバにおける仮想スイッチに送信することをさらに含むことができる。
本発明の1つの実施形態によれば、ステップS450では、ハードウェア・スイッチは、フローにおけるデータ・パケットに含まれている識別子に基づいて、エレファント・フローを認識することができる。代替として、ハードウェア・スイッチはまた、現在の負荷状態に従って、エレファント・フローとマイス・フローとを再分類することができ、例えば、上述の方法を用いて、フローを、特定の分類パラメータに基づいて、エレファント・フローとマイス・フローとに分類し、ここで、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる。
次いで、ステップS460では、仮想スイッチによってマイス・フローを処理し、処理されたマイス・フローと受信した処理済みのエレファント・フローとを転送する。
本発明の1つの実施形態によれば、仮想スイッチは、送信する側のスイッチのみならず、受信する側のスイッチでもある。これは、送信する側と受信する側の両方が、同じ物理サーバ上(可能性として、種々の仮想マシン、または種々の方法)にあることを意味する。この例では、データ・パケットは、ハードウェア・スイッチを通過することはなく、したがって、それらはすべて、仮想スイッチにおいて処理される。本発明の1つの実施形態によれば、仮想スイッチは、それの受信したフローがローカルに転送されるかどうかをさらに判断することができる。例えば、仮想スイッチは、データ・パケットがそのMACアドレスに基づいてローカルに転送されるかどうかを判断することができる。はい、ならば、フローはすべて、仮想スイッチにおいて処理される。
本発明の1つの実施形態によれば、ハードウェア・スイッチは、送信する側のスイッチのみならず、受信する側のスイッチでもあり、例えば、送信するパーティと受信するパーティの両方が同じハードウェア・スイッチに接続される場合には、ハードウェア・スイッチは、送信する側の処理を完了した後に、直接、受信する側の処理を行うことになる。(カプセル化およびカプセル化解除などの)対称的なアプリケーションの場合、処理は行われず、これは具体的なアプリケーションによって決まる。
図5は、本発明の1つの実施形態によるサーバ側でデータ・パケットを処理するためのシステムのブロック図を示している。システムは、分類器510、および仮想スイッチ520を備える。分類器510は、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、それらを仮想スイッチ520に送信するように構成されている。ここで、エレファント・フローは、マイス・フローより多くのデータ・パケットを含んでいる。仮想スイッチ520は、分類器からのマイス・フローを処理し、受信したエレファント・フローと処理されたマイス・フローとをハードウェア・スイッチに送信するように構成され、それにより、ハードウェア・スイッチは、エレファント・フローを処理し、処理されたエレファント・フローとそれの受信した処理済みのマイス・フローとを転送することができる。
ここで、分類器510は、分類されたフローを識別するようにさらに構成されている。
本発明の1つの実施形態によれば、特定の分類パラメータは、仮想スイッチおよびハードウェア・スイッチの負荷関連の情報に基づいて、動的に調整され得る。特定の分類パラメータは、閾値とすることができ、分類器510は、各フローのデータ・パケットの数を記録し、その数が閾値未満のフローをマイス・フローとして分類し、その数が閾値以上のフローをエレファント・フローとして分類することができる。
図6は、本発明の1つの実施形態によるデータ・パケットを処理するためのシステムのブロック図を示している。システムは、分類器610、サーバ側での仮想スイッチ620、およびネットワークにおけるハードウェア・スイッチ630を備える。分類器610は、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、それらを仮想スイッチ620に送信するように構成されている。ここで、エレファント・フローは、マイス・フローより多くのデータ・パケットを含んでいる。仮想スイッチ620は、分類器からのマイス・フローを処理し、受信したエレファント・フローと処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチ630に送信するように構成されている。ハードウェア・スイッチ630は、エレファント・フローを処理し、次いで、処理されたエレファント・フローと受信した処理済みのマイス・フローとを転送するように構成されている。
本発明の1つの実施形態によれば、システム600は、仮想スイッチ620およびハードウェア・スイッチ630の負荷関連の情報に基づいて、特定の分類パラメータを動的に調整するように構成されたモニタ640をさらに備える。
データ・パケットを送信するとき、データ・パケットは、まず、サーバにおける仮想スイッチ(送信する側でのアクセス・スイッチ)を通過してから、ネットワークにおけるハードウェア・スイッチに達する。データ・パケットを受信する順序が正反対であるときには、データ・パケットは、まず、ネットワークにおけるハードウェア・スイッチ(受信する側でのアクセス・スイッチ)を通過してから、送信先サーバにおけるソフト・スイッチに達し、最終的には、受信するパーティに達する。
本発明の1つの実施形態によれば、ハードウェア・スイッチは、送信する側のスイッチのみならず、受信する側のスイッチでもある。受信する側のスイッチである場合には、ハードウェア・スイッチ630は、データ・パケットを含んでいるフローを受信し、エレファント・フローを認識し、エレファント・フローを処理し、マイス・フローと処理されたエレファント・フローとをサーバにおける仮想スイッチに送信するようにさらに構成可能であり、仮想スイッチ610は、マイス・フローを処理し、受信したエレファント・フローと処理されたマイス・フローとを転送するように構成されている。
本発明の1つの実施形態によれば、ハードウェア・スイッチ630は、フロー内のデータ・パケットに含まれている識別子に基づいて、エレファント・フローを認識することができる。代替として、ハードウェア・スイッチ630はまた、現在の負荷状態に従って、エレファント・フローとマイス・フローとを再分類することができ、例えば、上述の方法を用いて、フローを、特定の分類パラメータに基づいて、エレファント・フローとマイス・フローとに分類し、ここで、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャート、またはブロック図における各ブロックは、指定された論理的な機能(複数可)を実装するための1つまたは複数の実行可能な命令を含むコードのモジュール、コードのセグメント、またはコードの一部分を表すことができる。いくつかの代替の実装形態においては、ブロックにおいて注記された機能は、図に注記された順序から外れて行われ得ることにもまた留意されたい。例えば、連続して示された2つのブロックは、実際、実質的に同時に実行可能であり、またはブロックは、時として、必要とされる機能性に応じて、逆順序で実行可能である。ブロック図、またはフローチャート図、あるいはその両方の各ブロック、およびブロック図、またはフローチャート図、あるいはその両方におけるブロックの組合せは、指定された機能または行為を行う専用ハードウェアベースのシステム、あるいは専用ハードウェアとコンピュータ命令の組合せによって実装され得ることに留意されることにもなろう。
本発明の様々な実施形態の説明は、例示目的のために表されており、開示される実施形態を包括するようにも、それらに限定するようにも意図していない。多くの変更形態、および変形形態が、説明された実施形態の範囲および趣旨から逸脱することなしに当業者には明らかになろう。本明細書に使用される専門用語は、実施形態の原理、実際の適用例、または市場に見出される技術にわたる技術的な改良を最良に説明するために、あるいは本明細書に開示される実施形態を他の当業者が理解できるようにするために選択されたものである。

Claims (21)

  1. データ・パケットを処理するための方法であって、
    データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、前記分類するステップと、
    前記分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信するステップと、
    前記仮想スイッチで前記マイス・フローを処理するステップと、
    前記エレファント・フローと前記処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するステップであって、それにより、前記ハードウェア・スイッチは、前記エレファント・フローを処理し、前記処理されたエレファント・フローと前記受信した処理済みのマイス・フローとを転送することができる、前記送信するステップと
    を含む方法。
  2. 前記分類されたフローを識別するステップをさらに含む、請求項1に記載の方法。
  3. 前記特定の分類パラメータは、前記仮想スイッチおよび前記ハードウェア・スイッチの負荷関連の情報に基づいて、動的に調整され得る、請求項1に記載の方法。
  4. 前記特定の分類パラメータは閾値であり、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類する前記ステップは、各フローのデータ・パケットの数を記録するステップ、前記数が前記閾値未満である前記フローをマイス・フローとして分類するステップ、および前記数が前記閾値以上である前記フローをエレファント・フローとして分類するステップを含む、請求項1に記載の方法。
  5. 前記処理するステップは、フロー情報をバッファリングするステップ、パケット・ヘッダを置き換えるステップ、カプセル化するステップ、およびカプセル化解除するステップのうちの1つまたは複数を含む、請求項1に記載の方法。
  6. データ・パケットを処理するための方法であって、
    データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、前記分類するステップと、
    前記分類されたエレファント・フローとマイス・フローとをサーバにおける仮想スイッチに送信するステップと、
    前記仮想スイッチで前記マイス・フローを処理し、前記エレファント・フローと前記処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するステップと、
    前記ハードウェア・スイッチで前記エレファント・フローを処理し、前記処理されたエレファント・フローと前記受信した処理済みのマイス・フローとを転送するステップと
    を含む方法。
  7. 前記分類されたフローを識別するステップをさらに含む、請求項6に記載の方法。
  8. 前記仮想スイッチおよび前記ハードウェア・スイッチの負荷関連の情報に基づいて、前記特定の分類パラメータを動的に調整するステップ
    をさらに含む、請求項6に記載の方法。
  9. 前記特定の分類パラメータは閾値であり、データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類する前記ステップは、各フローのデータ・パケットの数を記録するステップ、前記数が前記閾値未満である前記フローをマイス・フローとして分類するステップ、および前記数が前記閾値以上である前記フローをエレファント・フローとして分類するステップを含む、請求項6に記載の方法。
  10. 前記処理するステップは、フロー情報をバッファリングするステップ、パケット・ヘッダを置き換えるステップ、カプセル化するステップ、およびカプセル化解除するステップのうちの1つまたは複数を含む、請求項6に記載の方法。
  11. 前記ハードウェア・スイッチで、
    データ・パケットを含んでいるフローを受信するステップと、
    エレファント・フローを認識するステップと、
    前記エレファント・フローを処理するステップと、
    前記受信したマイス・フローと前記処理されたエレファント・フローとを前記サーバにおける仮想スイッチに送信するステップと、
    前記仮想スイッチによって前記マイス・フローを処理し、前記処理されたマイス・フローと前記受信した処理済みのエレファント・フローとを転送するステップと
    をさらに含む、請求項6に記載の方法。
  12. 前記ハードウェア・スイッチで、エレファント・フローを認識する前記ステップは、前記フロー内のデータ・パケットに含まれている識別子に基づいて、前記エレファント・フローを認識するステップを含む、請求項11に記載の方法。
  13. 前記ハードウェア・スイッチで、エレファント・フローを認識する前記ステップは、前記フローを、前記特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するステップであって、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、前記分類するステップを含む、請求項11に記載の方法。
  14. サーバにおけるデータ・パケットを処理するためのシステムであって、
    データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、前記エレファント・フローと前記マイス・フローとを仮想スイッチに送信するように構成されている分類器であって、前記エレファント・フローは、前記マイス・フローより多くのデータ・パケットを含んでいる、前記分類器と、
    前記分類器からの前記マイス・フローを処理し、前記受信したエレファント・フローと前記処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するように構成されている仮想スイッチであって、それにより、前記ハードウェア・スイッチは、前記エレファント・フローを処理し、前記処理されたエレファント・フローと前記受信した処理済みのマイス・フローとを転送することができる、前記仮想スイッチと
    を備えるシステム。
  15. 前記特定の分類パラメータは、前記仮想スイッチおよび前記ハードウェア・スイッチの負荷関連の情報に基づいて、動的に調整され得る、請求項14に記載のシステム。
  16. データ・パケットを処理するためのシステムであって、
    データ・パケットを含んでいるフローを、特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類し、前記エレファント・フローと前記マイス・フローとを仮想スイッチに送信するように構成されている、サーバにおける分類器であって、前記エレファント・フローは、前記マイス・フローより多くのデータ・パケットを含んでいる、前記分類器と、
    前記分類器からの前記マイス・フローを処理し、前記受信したエレファント・フローと前記処理されたマイス・フローとをネットワークにおけるハードウェア・スイッチに送信するように構成されている、前記サーバにおける仮想スイッチと、
    前記エレファント・フローを処理し、次いで、前記処理されたエレファント・フローと前記受信した処理済みのマイス・フローとを転送するように構成されている、前記ネットワークにおけるハードウェア・スイッチと
    を備えるシステム。
  17. 前記仮想スイッチおよび前記ハードウェア・スイッチの負荷関連の情報に基づいて、前記特定の分類パラメータを動的に調整するように構成されているモニタをさらに備える、請求項16に記載のシステム。
  18. 前記ハードウェア・スイッチは、
    データ・パケットを含んでいるフローを受信し、
    エレファント・フローを認識し、
    前記エレファント・フローを処理し、
    前記受信したマイス・フローと前記処理されたエレファント・フローとを前記サーバにおける前記仮想スイッチに送信する
    ようにさらに構成され、
    前記仮想スイッチは、前記マイス・フローを処理し、前記処理されたマイス・フローと前記受信した処理済みのエレファント・フローとを転送するように構成されている、
    請求項16に記載のシステム。
  19. 前記ハードウェア・スイッチは、前記フロー内のデータ・パケットに含まれている識別子に基づいて、前記エレファント・フローを認識するように構成されている、請求項18に記載のシステム。
  20. 前記ハードウェア・スイッチは、前記フローを、前記特定の分類パラメータに従って、エレファント・フローとマイス・フローとに分類するように構成され、1つのエレファント・フローは、1つのマイス・フローより多くのデータ・パケットを含んでいる、請求項18に記載のシステム。
  21. コンピュータにおいて動作すると、請求項1ないし13のいずれかに記載の方法ステップを実行するようになされたプログラム・コードを備えるコンピュータ・プログラム。
JP2016530322A 2013-07-31 2014-07-09 データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム Active JP6814041B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310328512.6 2013-07-31
CN201310328512.6A CN104348740B (zh) 2013-07-31 2013-07-31 数据包处理方法和系统
PCT/CN2014/081875 WO2015014198A1 (en) 2013-07-31 2014-07-09 Data packet processing

Publications (2)

Publication Number Publication Date
JP2016525846A true JP2016525846A (ja) 2016-08-25
JP6814041B2 JP6814041B2 (ja) 2021-01-13

Family

ID=52430968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016530322A Active JP6814041B2 (ja) 2013-07-31 2014-07-09 データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム

Country Status (5)

Country Link
US (1) US9860176B2 (ja)
EP (1) EP3028417B1 (ja)
JP (1) JP6814041B2 (ja)
CN (1) CN104348740B (ja)
WO (1) WO2015014198A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020031996A1 (ja) * 2018-08-07 2020-02-13 日本電信電話株式会社 負荷分散システム及び負荷分散方法
WO2020162185A1 (ja) * 2019-02-05 2020-08-13 日本電信電話株式会社 負荷分散システム及び負荷分散方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505849B1 (en) 2015-07-02 2019-12-10 Cisco Technology, Inc. Network traffic load balancing
KR102167686B1 (ko) * 2015-11-25 2020-10-19 에스케이텔레콤 주식회사 트래픽 분배를 제어하는 장치 및 방법
CN105915286B (zh) * 2016-04-14 2018-06-05 北京锐安科技有限公司 数据分流方法及分流器
US10601714B2 (en) * 2016-06-28 2020-03-24 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
CN106487676A (zh) * 2016-10-27 2017-03-08 盛科网络(苏州)有限公司 一种基于大象流的动态ecmp芯片实现方法
US10263883B2 (en) 2016-12-14 2019-04-16 International Business Machines Corporation Data flow configuration in hybrid system of silicon and micro-electro-mechanical-switch (MEMS) elements
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
TWI654857B (zh) * 2017-12-25 2019-03-21 中華電信股份有限公司 用於流量交換之緩衝排程方法
KR20200105539A (ko) 2018-01-26 2020-09-07 오팡가 네트웍스, 인크. 데이터 패킷 네트워크들에서 후보 흐름들을 식별하기 위한 시스템들 및 방법들
JP6888566B2 (ja) * 2018-02-23 2021-06-16 日本電信電話株式会社 負荷分散システム及び負荷分散方法
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
US20210224138A1 (en) * 2020-01-21 2021-07-22 Vmware, Inc. Packet processing with load imbalance handling
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
CN115868148A (zh) * 2020-07-01 2023-03-28 安捷伦科技有限公司 仪器监测系统
CN113225267B (zh) * 2021-04-13 2022-06-28 南京熊猫汉达科技有限公司 一种流量智能分发方法和装置
CN113381945B (zh) * 2021-05-17 2022-08-30 中国人民解放军国防科技大学 基于冷热分离的流量处理方法及系统
CN113839835B (zh) * 2021-09-27 2023-09-26 长沙理工大学 一种基于小流过滤的Top-k流精确监控系统
CN114024758B (zh) * 2021-11-09 2022-12-23 清华大学 流量特征提取方法、系统、存储介质及电子设备
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114398A1 (en) * 2011-02-24 2012-08-30 Nec Corporation Network system, controller, and flow control method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020122228A1 (en) 2001-03-01 2002-09-05 Yigal Rappaport Network and method for propagating data packets across a network
US7768919B1 (en) 2003-04-28 2010-08-03 Verizon Laboratories Inc. Selective packet discard apparatus and method
CN101296114B (zh) * 2007-04-29 2011-04-20 国际商业机器公司 基于流的并行模式匹配方法和系统
JP5403061B2 (ja) * 2009-09-24 2014-01-29 日本電気株式会社 仮想サーバ間通信識別システム、及び仮想サーバ間通信識別方法
JP5720577B2 (ja) * 2009-12-04 2015-05-20 日本電気株式会社 サーバ及びフロー制御プログラム
JP5637148B2 (ja) * 2010-01-05 2014-12-10 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
US9667570B2 (en) * 2010-03-11 2017-05-30 Ciena Corporation Fabric extra traffic
US8879397B2 (en) * 2011-05-13 2014-11-04 Polytechnic Institute Of New York University Balancing load in a network, such as a data center network, using flow based routing
US8761187B2 (en) * 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
US8831000B2 (en) * 2012-10-10 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service join process for MPLS-based virtual private cloud networking
US9270754B2 (en) * 2013-06-06 2016-02-23 Cisco Technology, Inc. Software defined networking for storage area networks
US9503378B2 (en) * 2013-06-07 2016-11-22 The Florida International University Board Of Trustees Load-balancing algorithms for data center networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114398A1 (en) * 2011-02-24 2012-08-30 Nec Corporation Network system, controller, and flow control method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020031996A1 (ja) * 2018-08-07 2020-02-13 日本電信電話株式会社 負荷分散システム及び負荷分散方法
JP2020025202A (ja) * 2018-08-07 2020-02-13 日本電信電話株式会社 負荷分散システム及び負荷分散方法
JP7003873B2 (ja) 2018-08-07 2022-01-21 日本電信電話株式会社 負荷分散システム及び負荷分散方法
WO2020162185A1 (ja) * 2019-02-05 2020-08-13 日本電信電話株式会社 負荷分散システム及び負荷分散方法
JP2020127153A (ja) * 2019-02-05 2020-08-20 日本電信電話株式会社 負荷分散システム及び負荷分散方法
JP7120059B2 (ja) 2019-02-05 2022-08-17 日本電信電話株式会社 負荷分散システム及び負荷分散方法

Also Published As

Publication number Publication date
EP3028417A4 (en) 2016-08-10
JP6814041B2 (ja) 2021-01-13
EP3028417B1 (en) 2018-06-27
CN104348740A (zh) 2015-02-11
CN104348740B (zh) 2018-04-10
WO2015014198A1 (en) 2015-02-05
US20160191392A1 (en) 2016-06-30
EP3028417A1 (en) 2016-06-08
US9860176B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
JP6814041B2 (ja) データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム
US10594606B2 (en) Wired data-connection aggregation
TWI510030B (zh) 用於在客戶端裝置上利用封包服務分類執行封包佇列的系統及方法
US9253287B2 (en) Speculation based approach for reliable message communications
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US20140071987A1 (en) Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge
US20150163145A1 (en) Reporting elephant flows to a network controller
US20130346531A1 (en) Systems and methods for input/output virtualization
US9014005B2 (en) Low-latency lossless switch fabric for use in a data center
US20120207026A1 (en) Computer-readable medium storing communication control program, information processing device, and packet communication method
CN103281257B (zh) 一种协议报文处理方法和设备
TWI712876B (zh) 管理儲存子系統之電力消耗的電腦實現方法與電腦系統
US10200293B2 (en) Dynamically offloading flows from a service chain
CN102611620A (zh) 拥塞控制方法和报文处理设备
CN111352889A (zh) 一种基于mctp协议的设备管理方法、设备、装置和介质
US10153986B2 (en) Port monitoring system
US20160043910A1 (en) System and Method for Obtaining Deterministic Performance in Virtual Desktop System
US20080062960A1 (en) Systems and methods for packet forward control
US9203895B1 (en) System and method for lateral connection between interface devices with bypass of external network
JP5957318B2 (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
US10887234B1 (en) Programmatic selection of load balancing output amongst forwarding paths
US11218394B1 (en) Dynamic modifications to directional capacity of networking device interfaces
JP5674179B1 (ja) 効率的なネットワークアドレス変換およびアプリケーションレベルゲートウェイ処理のための装置および方法
WO2019165855A1 (zh) 一种报文传输的方法及装置
JP2011091711A (ja) ノード及び送信フレーム振り分け方法並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191017

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20191017

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20191024

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20191029

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20191108

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20191112

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200825

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201013

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201110

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20201215

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201218

R150 Certificate of patent or registration of utility model

Ref document number: 6814041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150