JP6958440B2 - 情報処理装置、情報処理システム及びプログラム - Google Patents

情報処理装置、情報処理システム及びプログラム Download PDF

Info

Publication number
JP6958440B2
JP6958440B2 JP2018042242A JP2018042242A JP6958440B2 JP 6958440 B2 JP6958440 B2 JP 6958440B2 JP 2018042242 A JP2018042242 A JP 2018042242A JP 2018042242 A JP2018042242 A JP 2018042242A JP 6958440 B2 JP6958440 B2 JP 6958440B2
Authority
JP
Japan
Prior art keywords
port
virtual port
virtual
unit
information processing
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
JP2018042242A
Other languages
English (en)
Other versions
JP2019161319A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018042242A priority Critical patent/JP6958440B2/ja
Priority to US16/275,390 priority patent/US10944677B2/en
Publication of JP2019161319A publication Critical patent/JP2019161319A/ja
Application granted granted Critical
Publication of JP6958440B2 publication Critical patent/JP6958440B2/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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix

Landscapes

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

Description

本発明は、情報処理装置、情報処理システム及びプログラムに関する。
近年、NFV(Network Function Virtualization)の利用が進んでいる。NFVは、従来専用装置で実現されていたネットワーク機能を汎用の情報処理装置上のソフトウェアで実装する技術である。NFVは、情報処理装置の仮想化技術を用いて複数の仮想ネットワーク機能(VNF:Virtual Network Function)を単一の情報処理装置内で動作させ、仮想スイッチ等でVNF間、外部NW(ネットワーク)とVNFの間を接続する。
しかしながら、ソフトウェアで実現される仮想スイッチは、処理遅延が大きく、処理時間のばらつきも大きいので、NFVで要求される性能を満たすことが困難である。また、ソフトウェアで実現される仮想スイッチは、パケット中継に多大なCPU(Central Processing Unit)能力を必要とし、アプリケーションに対して提供すべきCPUを浪費する。
このため、仮想スイッチの中継機能をFPGA(Field Programmable Gate Array)−NIC(Network Interface Card)、スマートNIC等にオフロードすることが行われる。ここで、NICは通信装置である。また、FPGA−NICは、FPGAを搭載したNICであり、仮想スイッチの中継機能をFPGAにより実現する。また、スマートNICは、プログラマブルなNICであり、仮想スイッチの中継機能をプログラムにより実現する。
図12は、仮想スイッチのオフロードを説明するための図である。図12において、VM(Virtual Machine)#1及びVM#2で表されるVM5は、仮想マシンである。VM5は、vnic5aを有する。vnic5aは、仮想NICである。図12(a)は、仮想スイッチ6の中継部62がオフロードされない場合を示し、図12(b)は、仮想スイッチ6の中継部62がNIC9にオフロードされた場合を示す。
図12(a)に示すように、仮想スイッチ6は、制御部61と中継部62を有する。制御部61は、仮想スイッチ6を制御する。中継部62は、VM5間で転送されるパケットを中継する。中継部62は、4つのvport64を有する。vport64は、仮想ポートである。中継部62は、4つ以外のvport64を有してもよい。
vnic5aはvport64と接続される。vnic5aに接続されない2つのvport64はNIC#71及びNIC#72で表される2つのNIC7の物理ポート77とそれぞれ接続される。VM5は、仮想スイッチ6及びNIC7を介して他の情報処理装置で動作するVM5と通信する。
図12(b)に示すように、NIC9は、オフロードされたオフロード中継部96を有する。オフロード中継部96は2つのvport94を有する。一方のvport94はvnic5aに接続し、他方のvport94は物理ポート97に接続する。
仮想スイッチ6の中継部62がNIC#91及びNIC#92で表される2つのNIC9にオフロードされることで、制御部61の機能が変更される。仮想スイッチ制御部81は、変更後の制御部61である。仮想スイッチ6の中継部62が複数のNIC9にオフロードされると、1つの中継部62として管理するために、複数のNIC9が協調動作するような仕組み及び制御が必要になる。
なお、複数のハイパバイザから、複数のNICのハードウェアオフロード機能の設定に関する設定情報を取得し、VMを配置するハイパバイザを、設定情報に基づいて選択することで、ハードウェアオフロード機能の設定を考慮してVMを配置する従来技術がある。
また、NICが、通信の接続をポート番号で識別し、ポート毎の接続状態を主記憶上に設けたポートコンテキストにより管理し、該ポートコンテキストを、主記憶上に設けられたポートテーブルにより管理する従来技術がある。この従来技術によれば、通信接続の確立・切断処理をNICにオフロードし、通信接続の管理を主記憶上で行うことで、プロセッサの通信処理の負荷を低減でき、かつ、維持可能な通信接続数をより多くすることができる。
特開2017−174301号公報 特開2010−183450号公報
仮想スイッチ6を図12に示すようにオフロードし、複数のオフロード中継部96を協調動作させる場合、I/Oバス折り返しによりI/Oバス帯域の浪費が発生するという問題がある。図13は、I/Oバス折り返しによるI/Oバス帯域の浪費を説明するための図である。図13は、VM#1がVM#2へデータを転送する場合を示す。VM#1のvnic5aはオフロード中継部#1に接続し、VM#2のvnic5aはオフロード中継部#2に接続する。
図13に示すように、CPU52は、メモリコントローラ52aと、I/Oコントローラ#1及びI/Oコントローラ#2で表されるI/Oコントローラ52bを有する。CPU52で実行されるVM#1は、送信するデータをメモリ4のリングバッファ4aに書き込む。リングバッファ4aに書き込まれたデータは、CPU52のメモリコントローラ52a、I/Oコントローラ#1、I/Oバス#1を介してオフロード中継部#1により読み出される。
そして、オフロード中継部#1は、I/Oバス#1、I/Oコントローラ#1、I/Oコントローラ#2、I/Oバス#2を介してオフロード中継部#2へデータを転送する。そして、オフロード中継部#2は、I/Oバス#2、I/Oコントローラ#2、メモリコントローラ52aを介してリングバッファ4bへデータを書き込む。そして、CPU52で実行されるVM#2は、リングバッファ4bからデータを読み出す。
このように、異なるNIC9に接続されるVM5間の通信では、I/Oバス29上で複数の折り返しが発生し、貴重なI/Oバス帯域が浪費される。また、異なるNIC9に接続されるVM5間の通信では、スループットが低下する。
本発明は、1つの側面では、複数のオフロード中継部を協調動作させる場合に発生するI/Oバス帯域の浪費を防ぐことを目的とする。
1つの態様では、情報処理装置は、仮想スイッチの中継処理をオフロードして実行するオフロードデバイスを複数備え、前記オフロードデバイスは、ポート変換表と、第1変換部と、検索部と、第2変換部とを備える。前記ポート変換表は、前記情報処理装置で実行される仮想マシンが接続する仮想ポートがオフロードデバイス間で移動された場合の移動前後の仮想ポートを識別する仮想ポート識別子を対応付ける。前記第1変換部は、パケットが入力された入力仮想ポートを識別する入力仮想ポート識別子を前記ポート変換表に基づいて変換する。前記検索部は、前記パケットの出力仮想ポートを識別する出力仮想ポート識別子を前記第1変換部により変換された入力仮想ポート識別子を用いて検索する。前記第2変換部は、前記検索部により検索された出力仮想ポート識別子を前記ポート変換表に基づいて変換する。
1つの側面では、本発明は、複数のオフロード中継部を協調動作させる場合に発生するI/Oバス帯域の浪費を防ぐことができる。
図1は、実施例に係る情報処理装置の構成を示す図である。 図2は、他のPIDの例を示す図である。 図3は、仮想ポートの交換例を示す図である。 図4は、移動管理表の例を示す図である。 図5は、NIC間転送時の後段NICにおける検索部のスキップを説明するための図である。 図6は、NIC間転送を記録する処理のフローを示すフローチャートである。 図7は、制御アプリによる片寄処理のフローを示すフローチャートである。 図8は、中継処理のフローを示すフローチャートである。 図9Aは、入力側のNIC間転送処理のフローを示すフローチャートである。 図9Bは、出力側のNIC間転送処理のフローを示すフローチャートである。 図10は、制御アプリを実行する点に焦点をあてた情報処理装置の構成を示す図である。 図11は、NUMA構成の情報処理装置における仮想ポートの片寄を説明するための図である。 図12は、仮想スイッチのオフロードを説明するための図である。 図13は、I/Oバス折り返しによるI/Oバス帯域の浪費を説明するための図である。
以下に、本願の開示する情報処理装置、情報処理システム及びプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係る情報処理装置の構成について説明する。図1は、実施例に係る情報処理装置の構成を示す図である。図1に示すように、実施例に係る情報処理装置1は、NIC#1及びNIC#2で表される2台のNIC2aと、仮想スイッチ制御部2bとを有する。なお、情報処理装置1は、3台以上のNIC2aを有してもよい。情報処理装置1のCPUではVM(仮想マシン)5が動作する。
NIC2aは、通信を行う装置であり、例えばスマートNIC、FPGA−NICである。NIC2aには、仮想スイッチ6がオフロードされる。NIC2aは、I/Oバス・DMA(Direct Memory Access)コントローラ31と、仮想ポート処理部32と、DMAメモリ情報テーブル33と、仮想ポート#1及び仮想ポート#2で表される仮想ポート34と、NIC間転送処理部35とを有する。また、NIC2aは、中継部36と、物理ポート37と、NIC間転送記憶部38と、分類部39とを有する。
I/Oバス・DMAコントローラ31は、I/Oバス29を制御するI/Oバスコントローラと、VM5のメモリ領域へのDMAを制御するDMAコントローラである。
仮想ポート処理部32は、仮想ポート34に対応するDMAメモリ情報を用いてI/Oバス・DMAコントローラ31を介してVM5のメモリ領域にアクセスし、データの送受信を実行する。DMAメモリ情報は、仮想ポート34に対応するVM5のメモリ領域へのDMAを行う場合に用いられる情報である。DMAメモリ情報テーブル33は、仮想ポート34毎にDMAメモリ情報を記憶するテーブルである。
また、仮想ポート処理部32は、受信パケットに入力仮想ポート34の番号を要素とするメタデータを付与する。また、仮想ポート処理部32は、パケットを送信する際にメタデータを削除する。
仮想ポート34は、VM5との通信に用いられる仮想的なポートである。NIC#1の2つの仮想ポート34のPID(Port Identifier)は、それぞれ1及び2であり、NIC#2の2つの仮想ポート34のPIDは、それぞれ11及び12である。ここで、PIDは、仮想ポート34を識別する番号である。
PIDは、情報処理装置1が複数のNIC2aを有する場合にも情報処理装置内で一意になるように各仮想ポート34に設定される。図1では、PIDの10の位をNIC−ID(NIC2aのID)とし、1の位をNIC内のポートIDとしている。NIC#1のNIC−IDは1であり、NIC#2のNIC−IDは2である。
図2は、他のPIDの例を示す図である。図2では、8ビットのPIDのうち上位2ビットがNIC−IDを示し、下位6ビットがNIC2a内のポートIDを示す。この例では、64ポート×4NIC=256ポートが一意に識別される。また、PIDの一部をNIC2aを識別するためのNIC−IDとすることで、宛先ポートに応じたNIC2aを各NIC2aの中継部36が判別することができる。
NIC間転送処理部35は、I/Oバス・DMAコントローラ31を介して他のNIC2aとのパケット送受信を実行する。中継部36は、仮想スイッチ6の中継機能がオフロードされたオフロード中継部である。中継部36は、入力パケット情報に対応するアクション(宛先ポートへの出力を含む)を検索し、アクションを実行する。
物理ポート37は、外部との通信に用いられるポートである。NIC間転送記憶部38は、入力仮想ポート34と出力仮想ポート34の組に対応付けてNIC間の転送回数を記憶する。分類部39は、受信パケットのヘッダ情報を分析し、仮想ポート処理部32によって受信パケットに付与されたメタデータにヘッダ情報を追加する。メタデータは、中継部36で用いられる。
情報処理装置1は、CPUで動作する2つのVM間の通信において、2つのVM5の接続先のNIC2aが異なり、VM間の通信が頻繁に行われる場合に、VM5の接続先を一方のNIC2aに片寄する。すなわち、情報処理装置1は、2つのVM5が接続する仮想ポート34が同じNIC2aになるように、一方のVM5が接続する仮想ポート34を移動する。あるいは、移動先のNIC2aに空きの仮想ポート34がない場合には、情報処理装置1は、仮想ポート34を交換する。情報処理装置1は、通信する2つのVM5の接続先を一方のNIC2aに片寄することで、I/Oバス29の帯域の浪費を防ぐことができる。
中継部36は、ポート変換表36aと、入力ポート番号変換部36bと、検索部36cと、出力ポート番号変換部36dと、クロスバースイッチ36eとを有する。
ポート変換表36aは、仮想ポート34の移動(交換)前後のPIDを記憶する。中継部36は、VM再接続(仮想ポート34の移動又は交換)後も検索のルール及びクロスバースイッチ36eの出力先の整合性を保つためにポート変換表36aに基づき移動(交換)前と移動(交換)後のPIDの変換を行う。
図3は、仮想ポート34の交換例を示す図である。図3は、NIC#2の仮想ポート#2(PID=12)をNIC#1の仮想ポート#2(PID=2)と交換する場合を示す。図3に示すように、ポート変換表36aには、入力ポート変換表と出力ポート変換表がある。入力ポート変換表は、パケットの入力仮想ポート34のPIDを変換する場合に用いられる。出力ポート変換表は、パケットの出力仮想ポート34のPIDを変換する場合に用いられる。
VM5の再接続前は、PIDの変換は必要ない。このため、NIC#1及びNIC#2の入力ポート変換表及び出力ポート変換表のいずれにおいても、変換前と変換後のPIDは同じである。なお、図3は、NIC#1及びNIC#2がそれぞれ3つの仮想ポート34を有する場合を示す。
VM5の再接続後は、NIC#1及びNIC#2の入力ポート変換表及び出力ポート変換表のいずれにおいても、PID=2はPID=12に変換され、PID=12はPID=2に変換される。
また、仮想ポート34が交換された場合、DMAメモリ情報も交換される。VM5の再接続前は、PID=1の仮想ポート34はVM#1と接続されるため、PID=1はVM#1の情報と対応付けられ、PID=12の仮想ポート34はVM#2と接続されるため、PID=12はVM#2の情報と対応付けられる。なお、n/aは、仮想ポート34がVM5に接続されていないことを示す。また、TXQ情報は送信バッファに関する情報であり、RXQ情報は受信バッファに関する情報であり、マップ情報は仮想記憶と物理記憶をマッピングする情報である。VM5の再接続後は、PID=2の仮想ポート34はVM#2と接続されるため、PID=2はVM#2の情報と対応付けられ、PID=12はn/aと対応付けられる。
図1に戻って、入力ポート番号変換部36bは、VM5の再接続が行われた場合に検索のルールを変更せずにパケットを中継できるように、移動(交換)後の入力仮想ポート34のPIDを移動(交換)前の入力仮想ポート34のPIDに入力ポート変換表を用いて変換する。
検索部36cは、設定済のルールに基づき受信パケットに対応するアクション情報を検索し、受信パケットに対するアクションを決定する。ルールには入力仮想ポート34のPID、ヘッダ情報等が指定される。入力仮想ポート34のPIDとしては、入力ポート番号変換部36bにより変換されたPIDが用いられる。
出力ポート番号変換部36dは、VM5の再接続が行われた場合に検索のルールを変更せずに通信できるように、移動(交換)前の出力仮想ポート34のPIDを移動(交換)後の出力仮想ポート34のPIDに出力ポート変換表を用いて変換する。
クロスバースイッチ36eは、パケットを出力仮想ポート34へ転送する。出力仮想ポート34のPIDとしては、出力ポート番号変換部36dにより変換されたPIDが用いられる。
仮想スイッチ制御部2bは、中継部36を制御する。具体的には、仮想スイッチ制御部2bは、入力仮想ポート34と出力仮想ポート34の組に対して片寄するか否かを決定する。例えば、仮想スイッチ制御部2bは、未使用仮想ポート34の状況やNIC2a毎のトラフィック量に基づいて、片寄するか否かを決定する。そして、片寄すると決定すると、仮想スイッチ制御部2bは、移動管理表21を更新し、更新した移動管理表21に基づいて各NIC2aのポート変換表36aを設定する。移動管理表21は、仮想ポート34の移動(交換)の管理に用いられる。
図4は、移動管理表21の例を示す図である。図4に示すように、移動管理表21は、PIDとF−PID(Floating PID)を対応付ける。PIDが仮想ポート34に固定で割り振られる番号であるのに対して、F−PIDは、VM5の接続移動後も検索部36cで使用されるルール等で継続使用されるPIDである。
仮想スイッチ制御部2bは、VM5の接続移動時に、移動管理表21の移動元PID及び移動先PID(交換される2つのPID)に対応するエントリのF−PIDを入れ替える。仮想スイッチ制御部2bは、入力ポート変換表にはPIDをF−PIDに変換する情報を設定し、出力ポート変換表にはF−PIDをPIDに変換する情報を設定する。このように、移動管理表21を用いることで、複数回のPIDの移動(交換)が発生しても、仮想スイッチ制御部2bは、検索部36cのルール等で用いられるF−PIDと移動(交換)後のPIDとを正しく対応付けることができる。
図4(a)では、PID=12とPID=2が交換され、移動管理表21のPID=2とPID=12に対応するエントリのF−PIDが入れ替えられる。その結果、移動管理表21のPID=2に対応するエントリのF−PIDは12となり、移動管理表21のPID=12に対応するエントリのF−PIDは2となる。入力ポート変換表では、変換前のPID=2に対応する変換後のPIDが12に更新され、変換前のPID=12に対応する変換後のPIDが2に更新される。出力ポート変換表では、変換前のPID=2に対応する変換後のPIDが12に更新され、変換前のPID=12に対応する変換後のPIDが2に更新される。
図4(b)では、さらにPID=1とPID=12が交換され、移動管理表21のPID=1とPID=12に対応するエントリのF−PIDが入れ替えられる。その結果、移動管理表21のPID=1に対応するエントリのF−PIDは2となり、移動管理表21のPID=12に対応するエントリのF−PIDは1となる。入力ポート変換表では、変換前のPID=1に対応する変換後のPIDが2に更新され、変換前のPID=12に対応する変換後のPIDが1に更新される。出力ポート変換表では、変換前のPID=2に対応する変換後のPIDが1に更新され、変換前のPID=1に対応する変換後のPIDが12に更新される。
なお、図1では、仮想スイッチ制御部2bが移動管理表21を有する場合を示すが、NIC2aが移動管理表21を有してもよい。また、仮想スイッチ制御部2bは、情報処理装置1が有するCPUが後述する制御アプリを実行することで実現される。
次に、仮想ポート34の片寄に関する情報処理装置1の動作について説明する。NIC間転送処理部35は、NIC間転送を検出し、入力仮想ポート34と出力仮想ポート34の組に対して転送回数を記録する。そして、仮想スイッチ制御部2bは、所定頻度(例えば、回数/単位時間)を超えた入力・出力仮想ポート34の組合せに対して片寄を試みる。仮想スイッチ制御部2bは、空き仮想ポート34の状況や各NIC2aの負荷状況等に応じて移動可否の判定及び片寄するNIC2aの選択を行う。
例えば、入力仮想ポート34(PID=1)と出力仮想ポート34(PID=12)の組に対して出力仮想ポート34(PID=12)の接続をPID=2の仮想ポート34に移動する。すると、仮想スイッチ制御部2bは、NIC#2の仮想ポート#2(PID=12)のDMAメモリ情報とNIC#1の仮想ポート#2(PID=2)のDMAメモリ情報を交換する。
そして、検索部36cのルールを変更せずに通信を継続できるようにするために、仮想スイッチ制御部2bは、接続移動後の仮想ポート34のPIDから接続移動前の仮想ポート34のPIDに変換する情報を入力ポート変換表に設定する。同様に、仮想スイッチ制御部2bは、検索部36cでヒットした宛先PID(接続移動前の仮想ポート34のPID)を接続移動後の仮想ポート34のPIDに変換する情報を出力ポート変換表に設定する。
入力ポート番号変換部36bにより接続移動後の仮想ポート34から入力されたパケットは、検索部36cにおいて接続移動前の仮想ポート34から入力されたものとして扱われ、適切な宛先が取得される。また、出力ポート番号変換部36dによりアクション適用で取得された宛先が接続移動後の仮想ポート番号に変換され、クロスバースイッチ36eでパケットが適切に移動後の仮想ポート34に転送される。
次に、NIC間転送時の後段NIC2aにおける検索部36cのスキップについて説明する。図5は、NIC間転送時の後段NIC2aにおける検索部36cのスキップを説明するための図である。
図5において、仮想ポート受信処理部32aは、仮想ポート処理部32の受信処理を行う部分であり、仮想ポート送信処理部32bは、仮想ポート処理部32の送信処理を行う部分である。NIC間転送受信部35aは、NIC間転送処理部35の受信処理を行う部分であり、NIC間転送送信部35bは、NIC間転送処理部35の送信処理を行う部分である。
受信ポート#1及び受信ポート#2は、パケットを受信する仮想ポート34である。受信ポート#3は、パケットを受信する物理ポート37である。送信ポート#1及び送信ポート#2は、パケットを送信する仮想ポート34である。送信ポート#3は、パケットを送信する物理ポート37である。外部I/F40は、外部と通信するインタフェースである。
情報処理装置1は、装置内で一意の仮想ポート番号を有する。また、NIC間転送が行われる場合、入力側NIC2aが出力側NIC2aの宛先まで解決する。このため、図5に示すように、NIC間転送受信部35aは、他のNIC2aから受信したパケットを検索部36cをスキップして直接クロスバースイッチ36eへ渡す。したがって、後段NIC2aは、パケットを高速に処理するとができる。
次に、情報処理装置1による処理のフローについて図6〜図9Bを用いて説明する。図6は、NIC間転送を記録する処理のフローを示すフローチャートである。図6に示すように、NIC間転送処理部35は、受信パケットの入力ポート番号Piと出力ポート番号Poを取得する(ステップS1)。ここで、入力ポート番号Piは、入力仮想ポート34の番号であり、出力ポート番号Poは、出力仮想ポート34の番号である。
そして、NIC間転送処理部35は、PiとPoの組に対応するエントリをNIC間転送記憶部38から取得し(ステップS2)、取得したエントリの転送回数をインクリメントする(ステップS3)。そして、NIC間転送処理部35は、転送回数が指定閾値を超えたか否かを判定し(ステップS4)、転送回数が指定閾値を超えた場合には、PiとPoの組を制御アプリに通知する(ステップS5)。
そして、NIC間転送処理部35は、タイマが一定時間経過したか否かを判定し(ステップS6)、タイマが一定時間経過した場合には、NIC間転送記憶部38の全エントリの転送回数をリセットする(ステップS7)。
このように、NIC間転送処理部35が、NIC間転送の転送回数をPiとPoの組毎にカウントし、転送回数が指定閾値を超えたPiとPoの組を制御アプリに通知するので、制御アプリは仮想ポート34の片寄を行うことができる。
図7は、制御アプリによる片寄処理のフローを示すフローチャートである。図7に示すように、制御アプリは、NIC間転送の転送回数が指定閾値を超えたポート番号の組をNIC間転送処理部35から受信する(ステップS11)。そして、制御アプリは、受信したポート番号の組に基づいて、片寄するNIC2a及び移動先ポートを決定する(ステップS12)。ここで、移動先ポートは、移動先の仮想ポート34である。
そして、制御アプリは、移動管理表21の移動元ポートと移動先ポートのポート番号に対応するエントリのF−PIDの値を入れ替える(ステップS13)。ここで、移動元ポートは、移動元の仮想ポート34である。そして、制御アプリは、移動元ポートと移動先ポートのDMAメモリ情報を入れ替えて各NIC2aに設定する(ステップS14)。
そして、制御アプリは、F−PIDの値を入れ替えたPIDについて、各NIC2aの入力ポート変換表にPIDからF−PIDに変換する情報を設定する(ステップS15)。そして、制御アプリは、F−PIDの値を入れ替えたPIDについて、各NIC2aの出力ポート変換表にF−PIDからPIDに変換する情報を設定する(ステップS16)。
このように、制御アプリが移動管理表21、DMAメモリ情報テーブル33及びポート変換表36aを更新するので、中継部36は仮想ポート34が片寄された場合にも正しい中継を行うことができる。
図8は、中継処理のフローを示すフローチャートである。図8に示すように、NIC2aは、受信ポートに受信パケットがあるか否かを判定し(ステップS21)、ない場合には処理を終了する。ここで、受信ポートは、仮想ポート34である。
一方、受信ポートに受信パケットがある場合には、NIC2aは、受信ポート番号Piを取得し(ステップS22)、受信パケットにIn_port=Piを要素とするメタデータMを付与する(ステップS23)。ここで、In_portは、メタデータMの中で受信ポート番号を示す場所である。また、ステップS21〜ステップS23の処理は仮想ポート処理部32により行われる。
そして、NIC2aは、受信パケットのヘッダ情報を分析し、メタデータMにヘッダ情報を追加する(ステップS24)。なお、ステップS24の処理は分類部39により行われる。そして、NIC2aは、入力ポート変換表からメタデータMのIn_port:Piに対応するエントリのF−PID(変換後のPID)であるFPiを取得し(ステップS25)、メタデータMのIn_portをFPiで更新する(ステップS26)。なお、ステップS25及びステップS25の処理は入力ポート番号変換部36bにより行われる。
そして、NIC2aは、メタデータMを用いて検索を実施し、検索がヒットしたか否かを判定する(ステップS27)。そして、検索がミスした場合には、NIC2aは、制御アプリに受信パケットを転送し(ステップS28)、処理を終了する。一方、検索がヒットした場合には、NIC2aは、ヒットしたエントリのアクション情報をメタデータMに追加する(ステップS29)。なお、アクション情報には出力ポート番号FPoが含まれる。
そして、NIC2aは、アクション情報に含まれるポート出力以外のアクションを実行する(ステップS30)。アクションには、ヘッダ情報の書換え等がある。そして、NIC2aは、アクションがドロップか否かを判定し(ステップS31)、アクションがドロップである場合には、受信パケットを廃棄し(ステップS32)、処理を終了する。一方、アクションがドロップでない場合には、NIC2aは、ステップS33へ移動する。なお、ステップS27〜ステップS32の処理は検索部36cにより行われる。
そして、NIC2aは、出力ポート変換表からメタデータMのOut_port:FPoに対応するエントリのPID(変換後のPID)であるPoを取得する(ステップS33)。そして、NIC2aは、出力ポート変換表からメタデータMのIn_port:FPiに対応するエントリのPID(変換後のPID)であるPiを取得する(ステップS34)。そして、NIC2aは、メタデータMのIn_port、Out_portをそれぞれPi、Poで更新し、クロスバースイッチ36eに出力する(ステップS35)。なお、ステップS33〜ステップS35の処理は出力ポート番号変換部36dにより行われる。
そして、NIC2aは、PoのNIC−IDが自NIC2aを示すか否かを判定し(ステップS36)、自NIC2aを示す場合には、メタデータMを削除し、PoのNIC内ポートIDに応じた仮想ポート34に受信パケットを出力する(ステップS37)。一方、PoのNIC−IDが自NIC2aを示さない場合には、NIC2aは、NIC−IDで特定されるNIC2aへ受信パケットを転送する(ステップS38)。なお、ステップS36の処理は中継部36により行われ、ステップS37の処理は仮想ポート処理部32により行われ、ステップS38の処理はNIC間転送処理部35により行われる。
このように、入力ポート番号変換部36bが受信ポート番号を変換し、出力ポート番号変換部36dが検索部3cにより検索された出力ポート番号を変換する。したがって、NIC2aは、仮想ポート34の片寄が行われた場合にも、検索部3cのルールを変更することなく、パケットの中継を正しく行うことができる。
図9Aは、入力側のNIC間転送処理のフローを示すフローチャートである。図9Aに示すように、入力側のNIC間転送処理部35は、NIC間転送を記録する(ステップS42)。そして、入力側のNIC間転送処理部35は、出力ポート番号PoからNIC−IDを抽出し(ステップS42)、NIC−IDで識別されるNIC2aに受信パケットをメタデータ付で出力する(ステップS43)。
このように、入力側のNIC間転送処理部35は、NIC間転送を記録することによって、NIC2a間の転送が頻繁に行われているか否かを判定することができる。
図9Bは、出力側のNIC間転送処理のフローを示すフローチャートである。図9Bに示すように、出力側のNIC間転送処理部35は、メタデータ付パケットを受信し(ステップS51)、受信パケットをクロスバースイッチ36eに出力する(ステップS52)。
なお、クロスバースイッチ36eに出力された受信パケットは、仮想ポート処理部32に転送され、仮想ポート処理部32が、メタデータMを削除し、PoのNIC内ポートIDに応じた仮想ポート34に出力する。
このように、NIC間転送において、出力側のNIC間転送処理部35が受信パケットをクロスバースイッチ36eに出力するので、出力側の中継部36は検索部36cをスキップすることができ、パケットの中継を高速に行うことができる。
なお、図1では、NIC2aの構成に焦点をあてて情報処理装置1の構成について説明したが、図1の仮想スイッチ制御部2bは制御アプリをCPUで実行することによって実現される。そこで、制御アプリを実行する点に焦点をあてた情報処理装置1の構成について説明する。図10は、制御アプリを実行する点に焦点をあてた情報処理装置1の構成を示す図である。
図10に示すように、情報処理装置1は、メモリ51と、CPU52と、2台のNIC2aとを有する。また、情報処理装置1は、HDD(Hard Disk Drive)54と、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メモリ51は、プログラムやプログラムの実行途中結果などを記憶するRAM(Random Access Memory)である。CPU52は、メモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラ52aと、I/Oコントローラ52bを有する。
HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。
NIC2aは、I/Oバス29によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、情報処理装置1において実行される制御アプリは、情報処理装置1により読み出し可能な記録媒体の一例であるDVDに記憶され、ODD57によってDVDから読み出されて情報処理装置1にインストールされる。あるいは、制御アプリは、NIC2aを介して接続された他の情報処理装置のデータベース等に記憶され、これらのデータベースから読み出されて情報処理装置1にインストールされる。そして、インストールされた制御アプリは、HDD54に記憶され、メモリ51に読み出されてCPU52によって実行される。
なお、図10では、情報処理装置1は1台のCPU52を有するが、情報処理装置1は複数のCPU52を有してもよい。複数のCPU52を有する情報処理装置1としては、例えば、NUMA(Non-Uniform Memory Access)構成の情報処理装置1がある。
図11は、NUMA構成の情報処理装置1における仮想ポート34の片寄を説明するための図である。図11では、情報処理装置1は、CPU#1及びCPU#2で表される2つのCPU52を有する。CPU#1はメモリ#1で表されるメモリ4及びNIC#1で表されるNIC2aに接続し、CPU#2はメモリ#2で表されるメモリ4及びNIC#2で表されるNIC2aに接続する。CPU#1とCPU#2はCPU間リンク25で接続される。
CPU#1はメモリコントローラ#1で表されるメモリコントローラ52aとI/Oコントローラ#1で表されるI/Oコントローラ52bを有する。CPU#2はメモリコントローラ#2で表されるメモリコントローラ52aとI/Oコントローラ#2で表されるI/Oコントローラ52bを有する。CPU#1とNIC#1はI/Oバス#1で表されるI/Oバス29により接続され、CPU#2とNIC#2はI/Oバス#2で表されるI/Oバス29により接続される。
NIC#1では中継部#1で表される中継部36が動作し、NIC#2では中継部#2で表される中継部36が動作する。VM#1はCPU#1で動作し、VM#2はCPU#2で動作する。VM#1が使用するリングバッファ4aはメモリ#1に確保され、VM#2が使用するリングバッファ4bはメモリ#2に確保される。VM#1のvnic5aは中継部#1に接続し、VM#2のvnic5aは中継部#2に接続する。
VM#1は、送信するデータをメモリ#1のリングバッファ4aに書き込む。リングバッファ4aに書き込まれたデータは、メモリコントローラ#1、I/Oコントローラ#1、I/Oバス#1を介して中継部#1により読み出される。
そして、中継部#1は、I/Oバス#1、I/Oコントローラ#1、CPU間リンク25、I/Oコントローラ#2、I/Oバス#2を介して中継部#2へデータを転送する。そして、中継部#2は、I/Oバス#2、I/Oコントローラ#2、メモリコントローラ#2を介してリングバッファ4bへデータを書き込む。そして、VM#2は、リングバッファ4bからデータを読み出す。
このように、NUMA構成の情報処理装置1でも、CPU52が1台の場合と同様に、I/Oバス29上で複数の折り返しが発生する。したがって、VM#1及びVM#2に接続する仮想ポート34をいずれかの中継部36に片寄することで、I/Oバス帯域の浪費を防ぐことができる。
なお、CPU52とメモリ4とNIC2aとを有する情報処理装置を複数有する情報処理システムも、異なるCPU52で動作するVM5がそれぞれ接続する仮想ポート34を片寄することで、I/Oバス帯域の浪費を防ぐことができる。
上述してきたように、実施例では、仮想ポート34が片寄された場合の片寄前後のPIDを対応付けて入力ポート変換表及び出力ポート変換表に記憶する。そして、入力ポート番号変換部36bが、入力ポート変換表を用いて片寄後の入力仮想ポート34のPIDを片寄前のPIDに変換する。そして、検索部36cが、入力ポート番号変換部36bにより変換されたPIDを用いてルールを検索し、出力仮想ポート34のPIDを特定する。そして、出力ポート番号変換部36dが、検索部36cにより特定されたPIDを出力ポート変換表を用いて片寄後のPIDに変換する。
したがって、情報処理装置1は、検索部36cにより検索されるルールを変更することなく、VM5に接続された仮想ポート34を同じNIC2aに片寄することができ、I/Oバス帯域の浪費を防ぐことができる。片寄によりポート変換表36aの設定が必要になるが、検索部36cにより検索される数多くのルールの変更と比較して、仮想スイッチ制御部2bは少ない時間でポート変換表36aを設定することができる。
また、実施例では、NIC間転送処理部35が入力仮想ポート34と出力仮想ポート34の組についてNIC間転送回数を数え、NIC間転送回数が指定閾値を超えると仮想スイッチ制御部2bに入力仮想ポート34及び出力仮想ポート34のPIDを通知する。そして、仮想スイッチ制御部2bが、片寄するNIC2a及び移動先の仮想ポート34を決定し、各NIC2aのポート変換表36aを更新する。したがって、NIC2aは、ポート変換表36aを用いてPIDを正しく変換することができる。
また、実施例では、仮想スイッチ制御部2bは、仮想ポート34の移動(交換)を移動管理表21を用いて管理し、移動管理表21に基づいてポート変換表36aを更新する。したがって、仮想スイッチ制御部2bは、VM5に接続する仮想ポート34の移動(交換)が複数回行われた場合にも、ポート変換表36aを正しく更新することができる。
また、実施例では、NIC間転送処理部35は、他のNIC2aからパケットを受信すると、受信したパケットを検索部36cをスキップしてクロスバースイッチ36eに転送する。したがって、後段のNIC2aは、ルールの検索が不要になり、パケットの中継を高速に行うことができる。
なお、NUMA構成の情報処理装置1のように複数のCPU52を有する情報処理装置1も、異なるCPU52で動作するVM5がそれぞれ接続する仮想ポート34を片寄することで、I/Oバス帯域の浪費を防ぐことができる。
また、実施例では、NIC2aが入力仮想ポート34で受信したパケットにメタデータを付与し、メタデータに含まれる仮想ポート番号を変換する場合について説明したが、NIC2aはメタデータを用いることなく仮想ポート番号を変換してもよい。
また、実施例では、ポート変換表36aが入力ポート変換表と出力ポート変換表を有する場合について説明したが、入力ポート番号変換部36bが入力ポート変換表を有し、出力ポート番号変換部36dが出力ポート変換表を有してもよい。
また、実施例では、ポート変換表36aが入力ポート変換表と出力ポート変換表を有する場合について説明したが、ポート変換表36aは出力ポート変換表だけを有してもよい。
また、実施例では、NIC2aに仮想スイッチ6の中継部62をオフロードする場合について説明したが、他の通信装置等のオフロードデバイスに仮想スイッチ6の中継部62をオフロードする場合にも本発明を同様に適用することができる。
なお、NIC2aがスマートNICのようにプロセッサ及びRAMを有する場合、図1に示した中継部36等のNIC2aの構成の一部をプロセッサで実行されるプログラムにより実現してもよい。プログラムは、例えば、ROM(Read Only Memory)、フラッシュメモリ等の不揮発性記憶装置に記憶され、RAMに読み出される。そして、プログラムは、プロセッサによりRAMから読み出されて実行される。
1 情報処理装置
2a,7,9 NIC
2b,81 仮想スイッチ制御部
4 メモリ
4a,4b リングバッファ
5 VM
5a vnic
6 仮想スイッチ
21 移動管理表
25 CPU間リンク
29 I/Oバス
31 I/Oバス・DMAコントローラ
32 仮想ポート処理部
32a 仮想ポート受信処理部
32b 仮想ポート送信処理部
33 DMAメモリ情報テーブル
34 仮想ポート
35 NIC間転送処理部
35a NIC間転送受信部
35b NIC間転送送信部
36 中継部
36a ポート変換表
36b 入力ポート番号変換部
36c 検索部
36d 出力ポート番号変換部
36e クロスバースイッチ
37,77,97 物理ポート
38 NIC間転送記憶部
39 分類部
40 外部I/F
51 メモリ
52 CPU
52a メモリコントローラ
52b I/Oコントローラ
54 HDD
55 スーパーIO
56 DVI
57 ODD
61 制御部
62 中継部
64,94 vport
96 オフロード中継部

Claims (7)

  1. 仮想スイッチの中継処理をオフロードして実行するオフロードデバイスを複数備える情報処理装置において、
    前記オフロードデバイスは、
    前記情報処理装置で実行される仮想マシンが接続する仮想ポートがオフロードデバイス間で移動された場合の移動前後の仮想ポートを識別する仮想ポート識別子を対応付けるポート変換表と、
    パケットが入力された入力仮想ポートを識別する入力仮想ポート識別子を前記ポート変換表に基づいて変換する第1変換部と、
    前記パケットの出力仮想ポートを識別する出力仮想ポート識別子を前記第1変換部により変換された入力仮想ポート識別子を用いて検索する検索部と、
    前記検索部により検索された出力仮想ポート識別子を前記ポート変換表に基づいて変換する第2変換部と
    を備えることを特徴とする情報処理装置。
  2. 前記オフロードデバイスは、オフロードデバイス間のパケットの転送回数を入力仮想ポート識別子と出力仮想ポート識別子の組に対応させて計数する計数部をさらに備え、
    前記計数部が計数した転送回数が所定の閾値を超えた場合に、入力仮想ポートと出力仮想ポートを片寄するオフロードデバイス及び移動先の仮想ポートを決定し、移動先の仮想ポートに基づいて前記ポート変換表を更新する制御部を更に備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御部は、前記仮想ポート識別子と前記検索部で使用される仮想ポート識別子を対応付ける移動管理表を用いて前記ポート変換表を更新することを特徴とする請求項2に記載の情報処理装置。
  4. 前記オフロードデバイスは、
    前記第2変換部により変換された出力仮想ポート識別子により識別される出力仮想ポートへ前記パケットを出力するクロスバースイッチと、
    他のオフロードデバイスから受信したパケットを前記クロスバースイッチに渡す転送受信部と
    をさらに備えることを特徴とする請求項1、2又は3に記載の情報処理装置。
  5. 複数のCPUを有し、
    前記ポート変換表は、異なるCPUでそれぞれ実行される送信側の仮想マシンと受信側の仮想マシンがそれぞれ接続する仮想ポートの一方が他方の仮想ポートを有するオフロードデバイスへ移動された場合の移動前後の仮想ポート識別子を対応付けることを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
  6. 仮想スイッチの中継処理をオフロードして実行するオフロードデバイスとプロセッサとメモリとを有する情報処理装置を複数備える情報処理システムにおいて、
    前記オフロードデバイスは、
    オフロードデバイス間のパケットの転送回数を入力仮想ポート識別子と出力仮想ポート識別子の組に対応させて計数する計数部と、
    前記プロセッサで実行される仮想マシンが接続する仮想ポートがオフロードデバイス間で移動された場合の移動前後の仮想ポートを識別する仮想ポート識別子を対応付けるポート変換表と、
    パケットが入力された入力仮想ポートを識別する入力仮想ポート識別子を前記ポート変換表に基づいて変換する第1変換部と、
    前記パケットの出力仮想ポートを識別する出力仮想ポート識別子を前記第1変換部により変換された入力仮想ポート識別子を用いて検索する検索部と、
    前記検索部により検索された出力仮想ポート識別子を前記ポート変換表に基づいて変換する第2変換部とを備え、
    前記計数部が計数した転送回数が所定の閾値を超えた場合に、入力仮想ポートと出力仮想ポートを片寄するオフロードデバイス及び移動先の仮想ポートを決定し、移動先の仮想ポートに基づいて前記ポート変換表を更新する制御プログラムをいずれかのプロセッサで実行させることを特徴とする情報処理システム。
  7. 仮想スイッチの中継処理をオフロードして実行するオフロードデバイスが有するコンピュータで実行されるプログラムにおいて、
    前記オフロードデバイスを有する情報処理装置で実行される仮想マシンが接続する仮想ポートがオフロードデバイス間で移動された場合の移動前後の仮想ポートを識別する仮想ポート識別子を対応付けるポート変換表を記憶し、
    パケットが入力された入力仮想ポートを識別する入力仮想ポート識別子を前記ポート変換表に基づいて変換し、
    前記パケットの出力仮想ポートを識別する出力仮想ポート識別子を前記ポート変換表に基づいて変換された入力仮想ポート識別子を用いて検索し、
    検索した出力仮想ポート識別子を前記ポート変換表に基づいて変換する
    処理を前記コンピュータに実行させることを特徴とするプログラム。
JP2018042242A 2018-03-08 2018-03-08 情報処理装置、情報処理システム及びプログラム Active JP6958440B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018042242A JP6958440B2 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理システム及びプログラム
US16/275,390 US10944677B2 (en) 2018-03-08 2019-02-14 Information processing apparatus and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018042242A JP6958440B2 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2019161319A JP2019161319A (ja) 2019-09-19
JP6958440B2 true JP6958440B2 (ja) 2021-11-02

Family

ID=67843614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018042242A Active JP6958440B2 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US10944677B2 (ja)
JP (1) JP6958440B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912825B (zh) * 2018-09-18 2022-08-02 阿里巴巴集团控股有限公司 一种报文的转发方法、装置、设备及系统
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
JP2022022059A (ja) 2020-07-22 2022-02-03 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
US12021759B2 (en) * 2020-09-28 2024-06-25 VMware LLC Packet processing with hardware offload units
US11824931B2 (en) 2020-09-28 2023-11-21 Vmware, Inc. Using physical and virtual functions associated with a NIC to access an external storage through network fabric driver
US11606310B2 (en) * 2020-09-28 2023-03-14 Vmware, Inc. Flow processing offload using virtual port identifiers
US11636053B2 (en) 2020-09-28 2023-04-25 Vmware, Inc. Emulating a local storage by accessing an external storage through a shared port of a NIC
US11829793B2 (en) 2020-09-28 2023-11-28 Vmware, Inc. Unified management of virtual machines and bare metal computers
US11593278B2 (en) 2020-09-28 2023-02-28 Vmware, Inc. Using machine executing on a NIC to access a third party storage not supported by a NIC or host
CN114389733B (zh) * 2020-10-21 2023-07-21 大唐移动通信设备有限公司 Ptp主时钟设备、时钟同步方法及存储介质
US20240007362A1 (en) * 2020-11-30 2024-01-04 Nippon Telegraph And Telephone Corporation NFV System
JP2023007160A (ja) * 2021-07-01 2023-01-18 富士通株式会社 情報処理装置,制御方法および制御プログラム
US11863376B2 (en) 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
US11995024B2 (en) 2021-12-22 2024-05-28 VMware LLC State sharing between smart NICs
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4481518B2 (ja) * 2001-03-19 2010-06-16 株式会社日立製作所 情報中継装置及び転送方法
JP4121255B2 (ja) * 2001-06-12 2008-07-23 株式会社日立製作所 クラスタ構成記憶システム
US20040139236A1 (en) * 2003-01-09 2004-07-15 Pankaj Mehra Virtual switch
JP5353278B2 (ja) 2009-02-06 2013-11-27 富士通株式会社 通信装置
US8639783B1 (en) * 2009-08-28 2014-01-28 Cisco Technology, Inc. Policy based configuration of interfaces in a virtual machine environment
US8989201B2 (en) * 2009-10-08 2015-03-24 Brocade Communications Systems, Inc. Mapping logical ports of a network switch to physical ports
CN102648455B (zh) * 2009-12-04 2015-11-25 日本电气株式会社 服务器和流控制程序
US9240923B2 (en) * 2010-03-23 2016-01-19 Juniper Networks, Inc. Methods and apparatus for automatically provisioning resources within a distributed control plane of a switch
JP5585219B2 (ja) * 2010-06-03 2014-09-10 富士通株式会社 スイッチング装置および仮想lan構築方法
US8761187B2 (en) * 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
US20140226523A1 (en) * 2013-02-14 2014-08-14 Cisco Technology, Inc. Mechanism to dynamically apply configuration settings to interfaces using a port-profile
WO2015152435A1 (ko) * 2014-03-31 2015-10-08 쿨클라우드㈜ Sdn 기반의 분할 계층적 네트워크 시스템
JP2016100739A (ja) * 2014-11-21 2016-05-30 株式会社日立製作所 ネットワークシステム、ネットワークシステムの管理方法及びゲートウェイ装置
US9535737B2 (en) * 2015-01-30 2017-01-03 Bladelogic, Inc. Dynamic virtual port provisioning
WO2017031126A1 (en) * 2015-08-17 2017-02-23 Brocade Communications Systems, Inc. Pci express connected network switch
JP2017174301A (ja) * 2016-03-25 2017-09-28 日本電気株式会社 仮想マシン配置装置、仮想マシン配置方法および仮想マシン配置プログラム
US10225233B2 (en) * 2017-06-07 2019-03-05 Nicira, Inc. Media access control (MAC) address learning in virtualized computing environments
US20190273718A1 (en) * 2018-03-01 2019-09-05 ShieldX Networks, Inc. Intercepting network traffic routed by virtual switches for selective security processing

Also Published As

Publication number Publication date
JP2019161319A (ja) 2019-09-19
US10944677B2 (en) 2021-03-09
US20190280980A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
JP6958440B2 (ja) 情報処理装置、情報処理システム及びプログラム
US9742671B2 (en) Switching method
US8412863B2 (en) Storage apparatus and virtual port migration method for storage apparatus
CN102648455B (zh) 服务器和流控制程序
CN101140497B (zh) 存储系统及其控制方法
WO2012073304A1 (ja) 計算機システム、それに使用されるスイッチ及びパケット転送制御方法
US20160342510A1 (en) Remote management of data planes and configuration of networking devices
JP6855906B2 (ja) スイッチプログラム、スイッチング方法及び情報処理装置
US7502876B1 (en) Background memory manager that determines if data structures fits in memory with memory state transactions map
RU2658884C1 (ru) Способ управления процессором и многопроцессорной системой
CN113472624A (zh) 一种基于vDPA实现虚拟网络数据包转发的方法及应用
US10097658B2 (en) Traffic control of packet transfer
JP4474356B2 (ja) コンピュータシステムおよびストレージ仮想化装置
JP5995279B2 (ja) ネットワーク機器、方法、及びプログラム
JP5437556B2 (ja) 情報処理装置およびプロセッサ機能変更方法
US10732872B2 (en) Storage system and storage control method
JP2010211458A (ja) 計算機システム及びi/o制御方法
JP5876425B2 (ja) 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
JP2022125786A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JPWO2010064661A1 (ja) 並列計算システム、その方法及びそのプログラム
JP2020198007A (ja) 情報処理装置、情報処理システムおよび情報処理プログラム
JP7381882B2 (ja) 通信制御装置、通信制御システム、通信制御方法およびプログラム
US11606313B2 (en) Network switch, non-transitory computer-readable storage medium, and control method
KR20010009353A (ko) 언매니지드 이더넷 스위치의 자동 맥 주소 관리 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

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: 20210907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210920

R150 Certificate of patent or registration of utility model

Ref document number: 6958440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150