JP6926953B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6926953B2
JP6926953B2 JP2017210990A JP2017210990A JP6926953B2 JP 6926953 B2 JP6926953 B2 JP 6926953B2 JP 2017210990 A JP2017210990 A JP 2017210990A JP 2017210990 A JP2017210990 A JP 2017210990A JP 6926953 B2 JP6926953 B2 JP 6926953B2
Authority
JP
Japan
Prior art keywords
flow
storage unit
stage
packet
information
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
JP2017210990A
Other languages
English (en)
Other versions
JP2019083469A (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 JP2017210990A priority Critical patent/JP6926953B2/ja
Priority to US16/149,793 priority patent/US10791061B2/en
Publication of JP2019083469A publication Critical patent/JP2019083469A/ja
Application granted granted Critical
Publication of JP6926953B2 publication Critical patent/JP6926953B2/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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • 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
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、NFV(Network Function Virtualization)の利用が進んでいる。NFVは、従来専用装置で実現されていたネットワーク機能を汎用の情報処理装置上のソフトウェアで実装する技術である。NFVは、情報処理装置の仮想化技術を用いて複数の仮想ネットワーク機能(VNF:Virtual Network Function)を単一の情報処理装置内で動作させ、仮想スイッチ等でVNF間、外部NW(ネットワーク)とVNFの間を接続する。
仮想マシン(VM:Virtual Machine)は通信の端点として動作することが一般的である。しかしながら、VM上でVNFが動作する場合には、VNFは入力したパケット群を処理して再度ネットワークに送信する中間ノードとして動作するため、VNFが動作するVMの通信挙動はアプリケーションが動作するVMの通信挙動と異なる。
特に、あるフローを複数のVNFで処理するサービスチェインにより、アプリケーションが動作するVMと比較してVM(VNF)間通信が発生しやすい。ここで、フローとは、通信の起点と通信の終点で特定されるパケット群の流れである。通信の起点及び終点は、例えば、情報処理装置とアプリケーションの組合せで特定される。
なお、他の装置から受信した送信停止命令に基づいて、出力ポートへのフレームの送信を一時的に停止することで、フレームの破棄を防止する技術がある。また、ネットワークに向けた通信の帯域制御が行われる仮想マシンのMAC(Media Access Control)アドレスを格納したPAUSEフレーム(送信停止命令)を生成して仮想マシンが稼働する仮想マシンサーバに送出する技術がある。この技術によれば、仮想マシンサーバに高い負荷をかけることなく、帯域制御対象の仮想マシンを特定することに寄与することができる。
特開2012−244524号公報 特開2014−86891号公報
VNFが動作する情報処理装置の出口で、あるフローの送信レート制御を行っている場合、情報処理装置内でPAUSE伝播が発生する。ここで、PAUSEとは、送信側への送信抑制指示である。送信抑制指示には、PAUSE以外にバックプレッシャ、輻輳通知(Congestion Notification)等がある。図12は、PAUSE伝播により発生する問題を説明するための図である。図12において、NFV装置91は、VNF#1〜VNF#3で表される3つのVNF30及び仮想スイッチ92が動作する情報処理装置である。
NFV装置91は、pP#1及びpP#2で表される2つの物理ポート10を有する。仮想スイッチ92は、vP#1〜vP#8で表される8つの仮想ポート21を有する。VNF30は、vNIC#1及びvNIC#2で表される2つの仮想ネットワークインタフェースカード31を有する。NW−A及びNW−Bは外部ネットワーク2である。
NW−Aから、pP#1、vP#1、vP#3、vNIC#1、VNF#1、vNIC#2、vP#4、vP#5、vNIC#1、VNF#2、vNIC#2、vP#6、vP#2、pP#2を経由してフローAがNW−Bに流れる。また、NW−Aから、pP#1、vP#1、vP#7、vNIC#1、VNF#3、vNIC#2、vP#8、vP#2、pP#2を経由してフローBがNW−Bに流れる。
vP#2でフローAの輻輳が発生すると、仮想スイッチ92からVNF#2へPAUSEが送信され、VNF#2から仮想スイッチ92へPAUSEが送信され、仮想スイッチ92からVNF#1へPAUSEが送信され、PAUSE伝播が発生する。PAUSEを受信したVNF30及び仮想スイッチ92は、送信を抑制し、抑制した送信レート以上の受信があると、パケットをバッファに退避する。バッファがフルになるとパケットは廃棄される。
このように、フローAの輻輳によるPAUSE伝播が発生すると、フローAに沿う経路のバッファがフローAで占拠され、バッファとして使われる資源が有効に活用されないという問題がある。また、VNF#1のようにPAUSE非対応のVNF30があると、バッファがフルになり、パケット廃棄を回避することができない。
本発明は、1つの側面では、バッファとして使われる資源を有効に活用することを目的とする。
1つの態様では、情報処理装置は、第1記憶部と第2記憶部と登録部と特定部とを有する。前記第1記憶部は、フローと、該フローの出力ポートと、該フローの存在期間との対応を示す情報を記憶する。前記第2記憶部は、出力ポート毎に、フローと、該フローの入力ポートと、該フローの前段フローとの対応を示す情報を記憶する。前記登録部は、受信パケットについてのフローに関する情報が前記第1記憶部に登録される際に、前記第1記憶部及び前記第2記憶部に基づいて、該フローの前段フローを特定し、特定した前段フローを含む情報を前記第2記憶部に登録する。前記特定部は、パケットが送信される際にパケットが送信される出力ポートが輻輳状態にあるとき、前記第2記憶部に基づいて、送信されるパケットについてのフローの大本のフローを特定する。
1つの側面では、本発明は、バッファとして使われる資源を有効に活用することができる。
図1は、実施例に係るNFV装置による送信抑制指示を説明するための図である。 図2Aは、VNFにおけるパケット変換例を示す図である。 図2Bは、VNFにおける他のパケット変換例を示す図である。 図3は、仮想スイッチの機能構成を示す図である。 図4は、高速中継部と低速中継部を説明するための図である。 図5Aは、フローの例を示す図である。 図5Bは、フローキャッシュ及び対応付テーブルの例を示す図である。 図6は、ポート・グループ対応表の例を示す図である。 図7は、仮想スイッチによる受信処理のフローを示すフローチャートである。 図8は、対応付テーブル処理のフローを示すフローチャートである。 図9は、送信処理のフローを示すフローチャートである。 図10は、Trace(E)の処理のフローを示すフローチャートである。 図11は、仮想スイッチプログラムを実行するコンピュータのハードウェア構成を示す図である。 図12は、PAUSE伝播により発生する問題を説明するための図である。
以下に、本願の開示する情報処理装置、情報処理方法及びプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係るNFV装置による送信抑制指示について説明する。図1は、実施例に係るNFV装置による送信抑制指示を説明するための図である。図1において、NFV装置1は、VNF#1〜VNF#3で表される3つのVNF30及び仮想スイッチ20が動作する情報処理装置である。
NFV装置1は、pP#1及びpP#2で表される2つの物理ポート10を有する。仮想スイッチ20は、vP#1〜vP#8で表される8つの仮想ポート21を有する。VNF30は、vNIC#1及びvNIC#2で表される2つの仮想ネットワークインタフェースカード31を有する。NW−A及びNW−Bは外部ネットワーク2である。
NW−Aから、pP#1、vP#1、vP#3、vNIC#1、VNF#1、vNIC#2、vP#4、vP#5、vNIC#1、VNF#2、vNIC#2、vP#6、vP#2、pP#2を経由してフローAがNW−Bに流れる。また、NW−Aから、pP#1、vP#1、vP#7、vNIC#1、VNF#3、vNIC#2、vP#8、vP#2、pP#2を経由してフローBがNW−Bに流れる。
仮想スイッチ20の出口ポートvP#2でフローの輻輳が発生すると、仮想スイッチ20は、大本のフローを特定し、特定した大本のフローについて、vP#1からPAUSEをNW−Aに送出する。ここで、大本のフローとは、入口ポートvP#1において、出口ポートvP#2のフローと同じフローである。
したがって、仮想スイッチ20は、NFV装置1内でのPAUSE伝播を防ぐことでバッファの使用量を減らすことができ、バッファとして使われる資源を有効に活用することができる。また、仮想スイッチ20は、VNF30がPAUSEに対応していない場合でも、バッファフルによるパケット廃棄を回避することができる。
なお、図1において、vP#2において出力フローAの輻輳が発生すると、仮想スイッチ20は、vP#1における入力フローAを特定する。入力フローAのパケットと出力フローAのパケットのヘッダ情報が同じであれば、出力フローAから簡単に入力フローAを特定することができる。しかしながら、VNF30は、入力したパケットのヘッダ情報を変換してパケットを出力する場合があり、vP#2における出力フローAのヘッダ情報とvP#1における入力フローAのヘッダ情報は異なる場合がある。
図2Aは、VNF30におけるパケット変換例を示す図である。図2Aは、VNF30がNAPT(NAT(Network Address Translation)&PAT(Port Address Translation))の場合を示す。図2Aにおいて、PC#A〜PC#Cは、内部ネットワークで接続されたPC(Personal Computer)であり、NAPT対応ルータ3及びインターネット4を介してPC#Dに接続される。また、NAPT対応ルータ3が有するNAPTテーブルにおいて、例えば、PC#Aの内部IP(Internet Protocol)アドレス「PIP_A」が外部IPアドレス「GIP_R」に対応付けられ、内部ポート番号「1024」が外部ポート番号「5000」に対応付けられる。
PC#AからPC#DのWebサーバ(宛先ポート番号=80)にアクセスする場合、NAPT対応ルータ3は、NAPTテーブルを用いて送信パケットの送信元IPを「PIP_A」から「GIP−R」に変換し、送信元ポート番号を「1024」から「5000」に変換する。
このように、VNF30がNAPTの場合、送信パケットの送信元IPと送信元ポート番号が変換される。なお、図2Aにおいて、宛先MAC及び送信元MACは、ルータ機能で変換される。MAC_NHはルータで解決されたネクストホップのMACアドレスであり、MAC_GRはGIP_Rに対応するMACアドレスである。
図2Bは、VNF30における他のパケット変換例を示す図である。図2Bは、VNF30がVxLAN(Virtual eXtensibe Local Area Network)ゲートウェイの場合を示す。VxLANは、カプセル化によりL2ネットワークをルータを越えて延伸可能とするネットワーク仮想化技術の一つである。
VxLANではOS(Operating System)が送信するオリジナルパケットがUDP(User Datagram Protocol)でカプセル化される。すなわち、オリジナルパケットは外部ヘッダが付加されてL2/L3ネットワークで転送される。カプセル化及びカプセル解除は、VxLAN対応のエンドポイント(VTEP:Virtual Tunnel End Point)やゲートウェイ(GW)で行われる。
カプセル化では、オリジナルパケットの宛先に応じて送信先のVTEP又はGWのアドレス解決が実施され、自VTEP又はGWアドレスを送信元とする外部ヘッダが付加される。外部ヘッダには、宛先VTEPMAC、送信元VTEPMAC、宛先VTEPIP、送信元VTEPIP、UDPヘッダ、VxLANヘッダが含まれる。
このように、VNF30がVxLANゲートウェイの場合、オリジナルパケットに宛先VTEPMAC、送信元VTEPMAC、宛先VTEPIP、送信元VTEPIP、UDPヘッダ、VxLANヘッダが付加される。
次に、仮想スイッチ20の機能構成について説明する。図3は、仮想スイッチ20の機能構成を示す図である。図3に示すように、仮想スイッチ20は、vP#1〜vP#5で表される5つの仮想ポート21と、フローテーブル群22と、フローキャッシュ23と、高速中継部24と、低速中継部25と、対応付テーブル26と、フローキャッシュ制御部27とを有する。なお、図3では、説明の便宜上、図1に示した8つの仮想ポート21のうち5つだけを示す。また、仮想ポート21の数は8つ未満でも9つ以上でもよい。
仮想ポート21は、パケットの入力及び出力に用いられるインタフェースである。vP#1はpP#1で表される物理ポート10に接続され、vP#2はpP#2で表される物理ポート10に接続される。pP#1及びpP#2は、NIC10aに含まれる。
フローテーブル群22は、フローに対するアクションを定義する一連のフローテーブルである。アクションとしては、例えば、いずれかの仮想ポート21からのパケットの出力、次に使用するフローテーブルの指定がある。フローに対するアクションは、フローテーブルのチェインを用いて特定される。フローキャッシュ23は、フローテーブル群22のキャッシュである。なお、フローは受信パケットから特定される。したがって、フローテーブル群22は、受信パケットに対するアクションを定義する一連のテーブルといえる。
高速中継部24は、パケットを受信すると、フローキャッシュ23を用いてパケットに対するアクションを決定して実行する。パケットに対するアクションがフローキャッシュ23に登録されていない場合には、高速中継部24は、低速中継部25にパケットを渡してアクションの決定を依頼する。低速中継部25は、フローテーブル群22を用いて、パケットに対するアクションを決定する。
図4は、高速中継部24と低速中継部25を説明するための図である。図4に示すように、低速中継部25では、複数のブリッジ(論理スイッチ)を含む仮想トポロジが用いられ、ブリッジ毎に一連のフローテーブルが用いられる。低速中継部25は、フローテーブルのチェインであるフローパイプラインを用いてフローに対するアクションを決定することで、仮想スイッチ20の柔軟なトポロジ構成に対応することができる。
一方、高速中継部24は、フローパイプラインを用いて決定されたアクションとフローとの関係を単一フローテーブルとして表すフローキャッシュ23を用いることで、仮想スイッチ20を単一のブリッジとみなし、高速にアクションを決定することができる。
低速中継部25は、決定したアクションに関する情報を高速中継部24に渡す。高速中継部24は、決定されたアクションを実行するとともに、フロー及びアクションの情報をフローキャッシュ23に登録する。
対応付テーブル26は、前後のフローの対応関係を管理するテーブルである。対応付テーブル26には、フローに関する情報とフローの前段フロー候補についての情報が登録される。ここで、前段フロー候補とは、フローの入力ポートを出力ポートとし、フローキャッシュ23での存在期間が閾値以下のフローであり、フローの前段のフローである可能性があるフロー群である。フロー群に含まれるフローには優先度が付けられる。
フローキャッシュ制御部27は、フローキャッシュ23と対応付テーブル26を用いて、NFV装置1の出口ポートで輻輳が発生したフローにNFV装置1の入口ポートにおいて対応するフローを特定する。フローキャッシュ制御部27は、登録部27aと探索部27bを有する。
登録部27aは、高速中継部24がフローキャッシュ23にフローの情報を登録する際に、フローキャッシュ23と対応付テーブル26に基づいて、フローの情報と前段フロー候補情報を対応付テーブル26に登録する。
探索部27bは、外部出力ポートで輻輳が発生したフローについて、対応付テーブル26の前段フローを優先度に基づいて順に辿ることによって、大本のフローを特定し、大本のフローの外部入力ポートから大本のフローの送信抑制指示を送信する。
そして、探索部27bは、送信抑制指示により抑制フローの流量が下がった場合には、対応付テーブル26において辿られた前段フローの関係が正しいと判断し、前段フロー候補から他の候補を削除する。一方、送信抑制指示により抑制フローの流量が下がらなかった場合には、探索部27bは、対応付テーブル26において辿られた前段フローの関係が正しくないと判断し、送信抑制指示を解除した上で、次の優先度の候補を用いて大本のフローを特定する。
図5A及び図5Bは、フローキャッシュ制御部27による処理の例を示す図である。図5Aはフローの例を示し、図5Bはフローキャッシュ23及び対応付テーブル26の例を示す。図5Bにおいて、管理テーブルトップ及び出力ポート番号毎の管理テーブルが対応付テーブル26である。
図5Aに示すように、外部から入力されてVNF#1で処理されるフローAが、VNF#1で処理されて外部へ送信されるフローA’に変換される。このとき、フローキャッシュ制御部27はフローA’の大本フローがフローAである対応関係を作成する。フローAの入力ポートはvP#1であり、出力ポートはvP#3である。フローA’の入力ポートはvP#3であり、出力ポートはvP#2である。
図5Bに示すように、フローキャッシュ23には、番地、ルール、アクション、存在期間、統計値及びポインタがフロー毎に登録される。番地は、フローが登録される位置を示す。ルールは、受信パケットからフローを識別するために用いられるマッチングルールである。図5Bでは、説明の便宜上、フローA、フローA’のようにルールから識別されたフローの名前が示されている。
アクションは、フローに対するアクションを示す。例えば、「Output:3」は、番号#3のポート(vP#3)からパケットを送信することを示す。存在期間は、フローがフローキャッシュ23に登録されてから経過した時間である。単位は、例えばミリ秒である。統計値は、フローのパケット数、バイト数、パケット数の単位時間あたりの増加量、バイト数の単位時間あたりの増加量である。ポインタは、出力ポート番号に対応する管理テーブルでのフローの登録位置へのポインタである。
管理テーブルトップは、番地と管理テーブルへのポインタを対応付ける。番地はポート番号であるので、管理テーブルトップは、ポート番号と管理テーブルへのポインタを対応付ける。
管理テーブルは、出力ポート番号毎に設けられる。各管理テーブルには、番地、入力ポート番号、フロー情報、統計値、前段候補リスト、ポインタがフロー毎に登録される。番地は、フローが登録される位置を示す。入力ポート番号は、フローが入力する仮想ポート21の番号である。フロー情報は、フローキャッシュ23のルールである。
統計値は、フローキャッシュ23の統計値である。フローキャッシュ23の統計値は、一定間隔、又は、フローキャッシュ23からエージングによりフローが削除される際に管理テーブルに反映される。前段候補リストは、前段フロー候補が登録された管理テーブルへのポインタ群である。ポインタは、フローのフローキャッシュ23での位置を示すポインタである。
図5Aは、フローAに関する情報がフローキャッシュ23と管理テーブルに登録されており、フローA’に関する情報をフローキャッシュ23に登録する場合を示す。フローAの出力ポート番号は「3」であるので、出力ポート番号#3に対応する管理テーブルにフローAの情報が登録されている。
フローA’がフローキャッシュ23に登録されると、登録部27aは、フローA’の出力ポート番号が「2」であるので、出力ポート番号#2に対応する管理テーブルにフローA’の情報を登録する。このとき、登録部27aは、フローA’の入力ポート番号が「3」であるので、フローキャッシュ23から出力ポート番号が「3」で存在期間が閾値以下のフローを前段フロー候補として抽出する。
閾値を「5」とすると、フローBは存在期間が「15」であるため除外され、フローAが前段フロー候補として抽出される。そして、登録部27aは、出力ポート番号#2に対応する管理テーブルのフローA’の前段候補リストに出力ポート番号#3に対応する管理テーブルのフローAへのポインタを設定する。
このように、フローがフローキャッシュ23に登録される際に、登録部27aが前段フロー候補を特定し、フローの情報を管理テーブルに登録することで、探索部27bは輻輳出力フローから大本の入力フローを辿ることができる。
なお、VNF30は、入力したパケットのヘッダ情報を変換してパケットを出力する場合があるため、同じフローのパケットでもヘッダ情報が異なる。したがって、パケットのヘッダ情報から特定されたフローに関する情報が登録されるフローキャッシュ23及び対応付テーブル26では、図5Aに示したフローAとフローA’のように、同じフローが異なるフローとして登録される。
また、登録部27aは、前段フロー候補が複数の場合に、各前段フロー候補に所定のアルゴリズムに従って優先度を付加する。例えば、VNF30で変換される前後で、前段フローと後段フローには統計値に関して類似性があることが期待できるので、登録部27aは、統計値が管理テーブルに反映されたときに統計値の類似性に基づいて各前段フロー候補に優先度を付加する。
また、ルータやロードバランサ等、ヘッダ情報の一部(宛先アドレス等)のみ変換するVNF30があり、ヘッダ情報のその他の部分の類似性に基づき前段フローと後段フローの対応関係を把握できる可能性が高い。そこで、登録部27aは、ヘッダ情報の類似性に基づいて各前段フロー候補に優先度を付加してもよい。
また、VxLANやNVGRE(Network Virtualization using Generic Routing Encapsulation)等、オーバーレイネットワーク技術では元々のパケットをIPパケット等でカプセル化し、変換前のパケットのヘッダ情報がペイロード先頭に存在するプロトコルがある。したがって、変換前後のヘッダ情報とペイロード先頭の同一性に基づき前段フローと後段フローの対応関係を把握することができる。そこで、登録部27aは、前段フローのヘッダ情報と後段フローのペイロードの同一性に基づいて各前段フロー候補に優先度を付加してもよい。
あるいは、登録部27aは、以上の組合せに基づいて各前段フロー候補に優先度を付加してもよい。
なお、図5Aでは、VNF30は仮想スイッチ20と1つの仮想ポート21で接続されるが、VNF30は仮想スイッチ20と複数の仮想ポート21で接続されてもよい。このような場合、フローキャッシュ制御部27は、1個以上の仮想ポート21からなるポートグループを用いて対応付テーブル26を管理する。フローキャッシュ制御部27は、同一VNF30に接続される仮想ポート21は同一グループとなるようにグループ化を行う。
そして、フローキャッシュ制御部27は、仮想ポート21の番号とグループ番号を対応付けたポート・グループ対応表を記憶する。そして、フローキャッシュ制御部27は、入力ポートと出力ポートの対応関係を検査する際にポート・グループ対応表からグループ番号を取得し、グループ番号で比較を行うことで、VNF30で変換する前後のフローの対応関係を作成することができる。対応付テーブル26では、仮想ポート21の番号の代わりにグループ番号が用いられる。
図6は、ポート・グループ対応表の例を示す図である。図6では、vP#1〜vP#6が4つのグループにグループ化される。グループ#1にはvP#1が含まれ、グループ#2にはvP#2が含まれ、グループ#3にはvP#3とvP#4が含まれ、グループ#4にはvP#5とvP#6が含まれる。
ポート・グループ対応表では、ポート番号「1」がグループ番号「1」に対応付けられ、ポート番号「2」がグループ番号「2」に対応付けられる。また、ポート番号「3」及び「4」がグループ番号「3」に対応付けられ、ポート番号「5」及び「6」がグループ番号「4」に対応付けられる。
次に、仮想スイッチ20による処理のフローについて図7〜図11を用いて説明する。図7は、仮想スイッチ20による受信処理のフローを示すフローチャートである。図7に示すように、仮想スイッチ20は、仮想ポート21に受信パケットがあるか否かを判定し(ステップS1)、受信パケットがない間はステップS1の処理を繰り返す。
一方、仮想ポート21に受信パケットがある場合には、仮想スイッチ20は、受信パケットのヘッダ情報に基づきフローキャッシュ23を検索する(ステップS2)。そして、フローキャッシュ23にヒットした場合には、仮想スイッチ20は、フローキャッシュ23の該当エントリのアクションを適用し(ステップS3)、受信パケットを送信する送信処理を行う(ステップS4)。そして、仮想スイッチ20は、ステップS1へ戻る。
一方、ステップS2においてフローキャッシュ23にヒットしなかった場合には、仮想スイッチ20は、フローパイプライン処理を実行し、最終的なアクションを取得する(ステップS5)。そして、フローパイプライン処理でマッチがあり、最終的なアクションを取得した場合には、仮想スイッチ20は、取得アクションを適用し(ステップS6)、送信処理を行う(ステップS7)。そして、仮想スイッチ20は、受信パケットに対応するルール及びアクションをフローキャッシュ23に登録し(ステップS8)、対応付テーブル26に情報を登録する対応付テーブル処理を行う(ステップS9)。そして、仮想スイッチ20は、ステップS1へ戻る。
一方、フローパイプライン処理でマッチがない場合には、仮想スイッチ20は、受信パケットを廃棄し(ステップS10)、ステップS1へ戻る。
このように、仮想スイッチ20は、ルール及びアクションをフローキャッシュ23に登録する際に対応付テーブル26に情報を登録することで、出力フローに輻輳が発生した場合に、大本の入力フローを特定することができる。
図8は、対応付テーブル処理のフローを示すフローチャートである。図8に示すように、登録部27aは、処理中パケットの入力ポート番号Piと出力ポート番号Poを取得し(ステップS21)、Piは外部ポートの番号か否かを判定する(ステップS22)。
そして、Piが外部ポートの番号でない場合には、登録部27aは、フローキャッシュ23から存在期間が指定閾値以下かつ出力ポート番号がPiのエントリEを全て取得する(ステップS23)。そして、登録部27aは、取得エントリ群のポインタフィールドの値を前段候補リストに設定し(ステップS24)、所定のアルゴリズムに従って前段候補リストを優先度順に並べ替える(ステップS25)。一方、Piが外部ポートの番号である場合には、登録部27aは、前段候補リストに外部ポートを示す値を設定する(ステップS26)。
そして、登録部27aは、対応付テーブル26の管理テーブルトップからPoに対応する管理テーブルを取得し(ステップS27)、取得した管理テーブルにEのルール、Pi、前段候補リスト、Eへのポインタを含むエントリを登録する(ステップS28)。
このように、登録部27aが、フローキャッシュ23から前段フローの候補を取り出し、前段フローの候補に関する情報を対応付テーブル26に前段候補リストとして登録することで、探索部27bは、大本の入力フローを特定することができる。
図9は、送信処理のフローを示すフローチャートである。図9に示すように、仮想スイッチ20は、処理中パケットの入力ポート番号Piと出力ポート番号Poを取得し(ステップS41)、フローの情報及び送信制御設定情報から当該フローの出力キューを決定する(ステップS42)。
そして、仮想スイッチ20は、出力キューがフルか否かを判定し(ステップS43)、フルの場合には、当該受信パケットを廃棄する(ステップS44)。一方、出力キューがフルでない場合には、仮想スイッチ20は、出力キューの使用量が指定の閾値以上であるか否かを判定し(ステップS45)、指定の閾値以上でない場合には、処理中パケットを出力キューに追加する(ステップS46)。
一方、出力キューの使用量が指定の閾値以上である場合には、仮想スイッチ20は、対応付テーブル26の管理テーブルトップからPoに対応する管理テーブルを取得する(ステップS47)。そして、仮想スイッチ20は、取得した管理テーブルからPi、当該フローの情報を用いて処理中パケットに対応するフローのエントリを取得し(ステップS48)、取得したエントリをEとしてTrace(E)を別スレッドで起動する(ステップS49)。ここで、Trace(E)は、探索部27bが対応付テーブル26の前段フローを優先度に基づいて順に辿ることによって、Eのフローの大本のフローを特定し、大本のフローの外部入力ポートから大本のフローの送信抑制指示を送信する処理である。
図10は、Trace(E)の処理のフローを示すフローチャートである。図10に示すように、探索部27bは、エントリEのフロー情報Fと入力ポート番号Pを抽出し(ステップS51)、エントリEの前段候補リストが空か否かを判定する(ステップS52)。そして、エントリEの前段候補リストが空の場合には、探索部27bは、戻り値をFALSEとし(ステップS53)、処理を終了する。
一方、エントリEの前段候補リストが空でない場合には、探索部27bは、エントリEの前段候補リストから最も優先度の高いエントリの情報を取り出しEnとする(ステップS54)。そして、探索部27bは、Enが外部ポートを示す値であるか否かを判定し(ステップS55)、外部ポートを示す値でない場合には、Trace(En)を再帰呼び出しで実行する(ステップS56)。
そして、探索部27bは、Trace(En)の戻り値がTRUEであるか否かを判定し(ステップS57)、TRUEである場合には、フローFの流量を確認する(ステップS58)。そして、探索部27bは、フローFの流量が減少しているか否かを判定し(ステップS59)、減少していない場合には、フローFrの送信抑制の解除指示パケットを仮想ポートPrから送信する(ステップS60)。そして、探索部27bは、エントリEの前段候補リストからEnを削除し(ステップS61)、ステップS52へ戻る。
一方、フローFの流量が減少している場合には、探索部27bは、エントリEの前段候補リストからEn以外の要素を全て削除し(ステップS62)、戻り値をTRUEとし(ステップS63)、処理を終了する。また、ステップS57において、Trace(En)の戻り値がTRUEでない場合には、探索部27bは、ステップS61へ移動する。
また、ステップS55において、Enが外部ポートを示す値である場合には、探索部27bは、グローバル変数FrにFをグローバル変数PrにPを代入し、仮想ポートPからフローFの送信抑制指示パケットを送信する(ステップS64)。そして、探索部27bは、戻り値をTRUEとし(ステップS63)、処理を終了する。
このように、探索部27bは、優先度に基づいて前段候補リストを大本のフローまで辿り、大本のフローの入力ポートから大本のフローの送信促成指示パケットを送信することで、送信抑制指示が仮想スイッチ20内で伝播することを防ぐことができる。
上述してきたように、実施例では、受信パケットについてのフローの情報を仮想スイッチ20がフローキャッシュ23に登録する際に、登録部27aが、フローキャッシュ23及び対応付テーブル26に基づいて、当該フローの前段フローを特定する。そして、登録部27aは、特定した前段フローを含む情報を対応付テーブル26に登録する。そして、探索部27bが、仮想スイッチ20がパケットを送信する際にパケットを送信する出力ポートが輻輳状態にあるとき、対応付テーブル26に基づいて、送信するパケットについてのフローの大本のフローを特定する。そして、探索部27bは、大本のフローについて送信抑制指示を送信する。
したがって、仮想スイッチ20は、送信抑制指示が仮想スイッチ20内で伝播することを防ぐことができ、バッファとして使われる資源を有効に活用することができる。また、送信抑制指示非対応のVNF30がNFV装置1で動作する場合にも、仮想スイッチ20は、出力ポートの輻輳に対応することができる。
また、実施例では、登録部27aは、受信パケットについてのフローの入力ポートを出力ポートとし、存在期間が所定の閾値以下であるフローをフローキャッシュ23を参照して特定する。そして、登録部27aは、特定したフローの出力ポート及び該特定したフローに対応付けられたエントリを対応付テーブル26から前段フローとして特定し、特定した前段フローと出力ポートを入力ポートとして含むエントリを作成し、対応付テーブル26に登録する。そして、探索部27bは、送信パケットについてのフローに対応する前段フローを対応付テーブル26を参照して特定し、特定した前段フローが外部からのフローとなるまで対応付テーブル26において前段フローを辿ることで大本のフローを特定する。したがって、探索部27bは、大本のフローを正確に特定することができる。
また、実施例では、対応付テーブル26の前段候補リストには前段フローの候補が優先付されて並べられ、登録部27aは、前段候補リストに含まれる各前段フローの候補に優先度を付加し、前段候補リストを優先度で並べ替えて対応付テーブル26に登録する。そして、探索部27bは、優先度の高い前段フローから前段フローを辿る。したがって、探索部27bは、大本のフローを効率良く特定することができる。
また、実施例では、探索部27bは、大本のフローの入力ポートから対向装置に対して大本のフローの送信抑制指示を送信して大本のフローの流量が減少したか否かを判定する。そして、探索部27bは、大本のフローの流量が減少した場合には、前段候補リストから大本のフローの特定に使用した前段フロー以外を削除する。一方、大本のフローの流量が減少しなかった場合には、探索部27bは、送信抑制指示を解除し、前段フロー群の中で次に優先度の高い前段フローを辿ることで別の大本のフローを特定する。したがって、探索部27bは、大本のフローを確実に特定することができる。
また、実施例では、仮想スイッチ20は、複数のVNF30との間でパケットの送受信を行うため、VM上で別のアプリケーションが動作する場合と比較して、通信量が多く、より多くのバッファを使用する。したがって、仮想スイッチ20は、仮想スイッチ20内での送信抑制指示の伝播をなくすことで、バッファとして使われる資源をより有効に活用することができる。
また、実施例では、仮想スイッチ20は、管理テーブルトップと複数の管理テーブルを用いて対応付テーブル26を実現するので、効率良く対応付テーブル26を実現することができる。
また、実施例では、仮想スイッチ20は、仮想ポート21をグループ化し、ポート番号とグループ番号の対応を示すポート・グループ対応表を有してもよいので、1つのVNF30と複数の仮想ポート21で接続することができる。
また、実施例では、登録部27aは、例えば、フローのパケット数、バイト数、単位時間あたりの該パケット数の増加量、単位時間あたりの該バイト数の増加量を含む統計値に基づいて優先度を各前段フローに付加するので、適切な優先度を付加することができる。
また、実施例では、登録部27aは、例えば、対応付テーブル26に登録するフローに対応するパケットと前段フローに対応するパケットの間のヘッダ情報の類似性に基づいて優先度を各前段フローに付加するので、適切な優先度を付加することができる。
また、実施例では、登録部27aは、例えば、対応付テーブル26に登録するフローに対応するパケットに含まれるペイロードの先頭と前段フローに対応するパケットのヘッダ情報との類似性に基づいて優先度を各前段フローに付加する。したがって、登録部27aは、適切な優先度を付加することができる。
なお、実施例では、仮想スイッチ20について説明したが、仮想スイッチ20は、同様の機能を有する仮想スイッチプログラムにより実現される。そこで、仮想スイッチプログラムを実行するコンピュータについて説明する。
図11は、仮想スイッチプログラムを実行するコンピュータのハードウェア構成を示す図である。図11に示すように、コンピュータ50は、メインメモリ51と、CPU(Central Processing Unit)52と、LANインタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行される仮想スイッチプログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるDVDに記憶され、ODD57によってDVDから読み出されてコンピュータ50にインストールされる。あるいは、仮想スイッチプログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされた仮想スイッチプログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
1 NFV装置
2 外部ネットワーク
3 NAPT対応ルータ
4 インターネット
10 物理ポート
10a NIC
20 仮想スイッチ
21 仮想ポート
22 フローテーブル群
23 フローキャッシュ
24 高速中継部
25 低速中継部
26 対応付テーブル
27 フローキャッシュ制御部
27a 登録部
27b 探索部
30 VNF
31 仮想ネットワークインタフェースカード
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD

Claims (12)

  1. フローと、該フローの出力ポートと、該フローの存在期間との対応を示す情報を記憶する第1記憶部と、
    出力ポート毎に、フローと、該フローの入力ポートと、該フローの前段フローとの対応を示す情報を記憶する第2記憶部と、
    受信パケットについてのフローに関する情報が前記第1記憶部に登録される際に、前記第1記憶部及び前記第2記憶部に基づいて、該フローの前段フローを特定し、特定した前段フローを含む情報を前記第2記憶部に登録する登録部と、
    パケットが送信される際にパケットが送信される出力ポートが輻輳状態にあるとき、前記第2記憶部に基づいて、送信されるパケットについてのフローの大本のフローを特定する特定部と
    を有することを特徴とする情報処理装置。
  2. 前記登録部は、受信パケットについてのフローの入力ポートを出力ポートとするとともに前記存在期間が所定の閾値以下であるフローを前記第1記憶部を参照して特定し、特定したフローの出力ポート及び該特定したフローに対応付けられたエントリを前記第2記憶部から前段フローとして特定し、特定した前段フローと前記出力ポートを入力ポートとして含むエントリを作成して前記第2記憶部に登録し、
    前記特定部は、送信するパケットについてのフローに対応する前段フローを前記第2記憶部を参照して特定し、特定した前段フローが外部からのフローとなるまで前記第2記憶部において前段フローを辿ることで前記大本のフローを特定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2記憶部は、優先度が付加された複数の前段フローを前段フロー群として記憶し、
    前記登録部は、前段フロー群を含むエントリを作成する際に前記優先度を各前段フローに付加し、前段フロー群を優先度順に並べ替え、
    前記特定部は、前記優先度の高い前段フローから前段フローを辿ることを特徴とする請求項2に記載の情報処理装置。
  4. 前記特定部は、前記大本のフローの入力ポートから対向装置に対して該大本のフローの送信抑制指示を送信して前記大本のフローの流量が減少したか否かを判定し、減少した場合には、前段フロー群から前記大本のフローの特定に使用した前段フロー以外を削除し、減少しなかった場合には、前記送信抑制指示を解除し、前段フロー群の中で次に優先度の高い前段フローを辿ることで別の大本のフローを特定することを特徴とする請求項3に記載の情報処理装置。
  5. ネットワーク専用装置の機能をそれぞれ実現する複数の仮想ネットワーク機能部と、
    前記複数の仮想ネットワーク機能部とパケットの送受信を行う中継部と
    をさらに有することを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
  6. 前記第2記憶部は、フローと、該フローの入力ポートと、該フローの前段フローとの対応を示す管理テーブルを出力ポート番号毎に記憶し、ポート番号と管理テーブルへのポインタを対応付ける管理テーブルトップを記憶することを特徴とする請求項1〜5のいずれか1つに記載の情報処理装置。
  7. ポートをグループ化し、ポート番号とグループ番号の対応を示す第3記憶部をさらに有し、ポート番号の代わりにグループ番号を用いてポートを識別することを特徴とする請求項1〜6のいずれか1つに記載の情報処理装置。
  8. 前記登録部は、フローのパケット数、バイト数、単位時間あたりの該パケット数の増加量、単位時間あたりの該バイト数の増加量を含む統計値に基づいて前記優先度を各前段フローに付加することを特徴とする請求項3に記載の情報処理装置。
  9. 前記登録部は、前記第2記憶部に登録するエントリに対応するパケットと前記前段フローに対応するパケットの間のヘッダ情報の類似性に基づいて前記優先度を各前段フローに付加することを特徴とする請求項3に記載の情報処理装置。
  10. 前記登録部は、前記第2記憶部に登録するエントリに対応するパケットに含まれるペイロードの先頭と前記前段フローに対応するパケットのヘッダ情報との類似性に基づいて前記優先度を各前段フローに付加することを特徴とする請求項3に記載の情報処理装置。
  11. コンピュータが、
    フローと、該フローの出力ポートと、該フローの存在期間との対応を示す情報を第1記憶部に記憶し、
    出力ポート毎に、フローと、該フローの入力ポートと、該フローの前段フローとの対応を示す情報を第2記憶部に記憶し、
    受信パケットについてのフローに関する情報が前記第1記憶部に登録される際に、前記第1記憶部及び前記第2記憶部に基づいて、該フローの前段フローを特定し、特定した前段フローを含む情報を前記第2記憶部に登録し、
    パケットが送信される際にパケットが送信される出力ポートが輻輳状態にあるとき、前記第2記憶部に基づいて、送信されるパケットについてのフローの大本のフローを特定する
    処理を実行することを特徴とする情報処理方法。
  12. コンピュータに、
    フローと、該フローの出力ポートと、該フローの存在期間との対応を示す情報を第1記憶部に記憶し、
    出力ポート毎に、フローと、該フローの入力ポートと、該フローの前段フローとの対応を示す情報を第2記憶部に記憶し、
    受信パケットについてのフローに関する情報が前記第1記憶部に登録される際に、前記第1記憶部及び前記第2記憶部に基づいて、該フローの前段フローを特定し、特定した前段フローを含む情報を前記第2記憶部に登録し、
    パケットが送信される際にパケットが送信される出力ポートが輻輳状態にあるとき、前記第2記憶部に基づいて、送信されるパケットについてのフローの大本のフローを特定する
    処理を実行させることを特徴とするプログラム。
JP2017210990A 2017-10-31 2017-10-31 情報処理装置、情報処理方法及びプログラム Active JP6926953B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017210990A JP6926953B2 (ja) 2017-10-31 2017-10-31 情報処理装置、情報処理方法及びプログラム
US16/149,793 US10791061B2 (en) 2017-10-31 2018-10-02 Communication control device and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017210990A JP6926953B2 (ja) 2017-10-31 2017-10-31 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019083469A JP2019083469A (ja) 2019-05-30
JP6926953B2 true JP6926953B2 (ja) 2021-08-25

Family

ID=66244548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017210990A Active JP6926953B2 (ja) 2017-10-31 2017-10-31 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10791061B2 (ja)
JP (1) JP6926953B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771989B2 (en) * 2018-12-20 2020-09-08 The Boeing Company Adaptive self-optimizing network using closed-loop feedback
US11533259B2 (en) * 2019-07-24 2022-12-20 Vmware, Inc. Building a platform to scale control and data plane for virtual network functions
CN112787921B (zh) * 2019-11-08 2023-05-19 华为技术有限公司 报文传输方法、代理节点及存储介质
JP2022022059A (ja) * 2020-07-22 2022-02-03 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196737A1 (en) * 2001-06-12 2002-12-26 Qosient Llc Capture and use of service identifiers and service labels in flow activity to determine provisioned service for datagrams in the captured flow activity
JP2012244524A (ja) 2011-05-23 2012-12-10 Hitachi Cable Ltd フレーム中継装置、ネットワークシステム及びフレーム中継方法
JP6051771B2 (ja) 2012-10-24 2016-12-27 日本電気株式会社 通信中継装置、仮想マシンサーバ、帯域制御システム、帯域制御方法およびプログラム
US9467464B2 (en) * 2013-03-15 2016-10-11 Tenable Network Security, Inc. System and method for correlating log data to discover network vulnerabilities and assets
US9578050B1 (en) * 2016-01-29 2017-02-21 International Business Machines Corporation Service delivery controller for learning network security services
GB2553784B (en) * 2016-09-13 2019-02-06 Advanced Risc Mach Ltd Management of log data in electronic systems
CN108243116B (zh) * 2016-12-23 2021-09-14 华为技术有限公司 一种流量控制方法及交换设备
JP6897434B2 (ja) * 2017-08-31 2021-06-30 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
JP2019083469A (ja) 2019-05-30
US20190132252A1 (en) 2019-05-02
US10791061B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
JP6926953B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6016984B2 (ja) ソフトウェア確定ネットワークにおける仮想マシンと仮想化コンテナを用いたローカルサービスチェーン
US9495479B2 (en) Traversal with arc configuration information
US9634938B2 (en) Adaptive scheduling of data flows in data center networks for efficient resource utilization
RU2584449C2 (ru) Система управления связью, коммутационный узел и способ управления связью
JP5714497B2 (ja) 異なるデータセットの識別を可能とするシステムおよび方法
JP5323021B2 (ja) 動的に拡張可能な仮想スイッチの装置および方法
US8176300B2 (en) Method and apparatus for content based searching
WO2011078108A1 (ja) マルチプロセッサ環境におけるパターンマッチング方法、及び装置
US10757039B2 (en) Apparatus and method for routing data in a switch
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
CN104636185A (zh) 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
JP2016149698A (ja) パケット通信装置およびパケット受信処理方法
JPWO2015092973A1 (ja) 情報処理装置及びトラフィック制御方法
RU2584471C1 (ru) УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
JP2016139256A (ja) 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム
JP6204407B2 (ja) サービス提供システム、サービス提供方法、およびサービス提供プログラム
US8559430B2 (en) Network connection device, switching circuit device, and method for learning address
US20160364244A1 (en) Method or Apparatus for Flexible Firmware Image Management in Microserver
JP6816824B2 (ja) 分散システム、データ管理装置、データ管理方法、及びプログラム
JP2018056739A (ja) スイッチ、および通信方法
JP2016015672A (ja) ネットワーク制御装置、及びネットワーク設定システム
WO2018096609A1 (ja) 計算機、通信制御方法、及びプログラム
JP4638851B2 (ja) パケット処理装置
JP5950811B2 (ja) 条件テーブルからクエリエントリに一致する条件エントリを検索する検索装置、フロースイッチ装置、プログラム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210719

R150 Certificate of patent or registration of utility model

Ref document number: 6926953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150