JP2015231137A - 転送制御装置、計算機システム及び管理装置 - Google Patents

転送制御装置、計算機システム及び管理装置 Download PDF

Info

Publication number
JP2015231137A
JP2015231137A JP2014116523A JP2014116523A JP2015231137A JP 2015231137 A JP2015231137 A JP 2015231137A JP 2014116523 A JP2014116523 A JP 2014116523A JP 2014116523 A JP2014116523 A JP 2014116523A JP 2015231137 A JP2015231137 A JP 2015231137A
Authority
JP
Japan
Prior art keywords
buffer
delay
information
time
port
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.)
Pending
Application number
JP2014116523A
Other languages
English (en)
Inventor
和洋 前多
Kazuhiro Maeta
和洋 前多
高田 治
Osamu Takada
治 高田
佑介 西
Yusuke Nishi
佑介 西
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014116523A priority Critical patent/JP2015231137A/ja
Publication of JP2015231137A publication Critical patent/JP2015231137A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】ネットワークの遅延時間の監視と遅延の要因を推定する。【解決手段】入力ポートで受信した信号を解析して宛先を判定し、宛先に対応する出力ポートに当該信号を転送する入力処理部と、出力ポートにそれぞれ接続されて、転送された信号を一時的に格納するバッファと、バッファに格納された信号を前記出力ポートから出力する出力処理部と、入力ポートで受信した信号を解析して通信の種別を示す識別子を付与し、当該識別子毎に信号のデータ量を所定時間毎に測定して前記所定時間毎のフロー情報を生成するフロー情報生成部と、所定時間毎にバッファに蓄積されたデータ量を測定し、所定時間毎のバッファ情報を作成するバッファ情報生成部と、バッファ毎に入力された信号が当該バッファから出力されるまでに要する遅延時間を算出する遅延時間算出部と、遅延時間に対する識別子毎の影響度を算出する影響度算出部と、を備える。【選択図】図1

Description

本発明は、通信ネットワークの遅延時間のモニタリングと遅延の要因を推定する技術に関する。
近年、データセンタ上で処理を行うサービスの登場や、複数の物理サーバでの分散処理技術の高度化により、物理サーバ間のトラフィックが急増している。この為、ネットワークを介してデータの連係を行うアプリケーションの処理性能は、End−to−Endのネットワーク品質に大きな影響を受ける。
具体的には、パケットロスや遅延が大きいネットワークにおいては、スループットが低下する。これにより、特に大容量のデータを連携させるアプリケーションでは処理の完了までの時間が長くなる。
そこで、特許文献1では、スループットを監視する手段として、ネットワーク上の各スイッチでTCPウインドウサイズを監視することで、スループット低下の原因となる中継スイッチを特定する手法が提案されている。
特開2009−152977号公報
上記従来例では、スループット低下の原因となる中継スイッチを特定しているが、スループットが低下する要因を推定することはできていない。また、アプリケーションの応答速度に影響を与えるネットワーク起因の遅延の監視および遅延の要因を推定することはできない、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、ネットワークの遅延時間の監視と遅延の要因を推定することを目的とする。
本発明は、入力ポートと出力ポートを複数備え、前記入力ポートで受信した信号を前記出力ポートへ転送する転送制御装置であって、前記入力ポートで受信した信号を解析して宛先を判定し、前記宛先に対応する出力ポートに当該信号を転送する入力処理部と、前記出力ポートにそれぞれ接続されて、前記転送された信号を一時的に格納するバッファと、前記バッファに格納された信号を前記出力ポートから出力する出力処理部と、前記入力ポートで受信した信号を解析して通信の種別を示す識別子を付与し、当該識別子毎に信号のデータ量を所定時間毎に測定して前記所定時間毎のフロー情報を生成するフロー情報生成部と、前記所定時間毎に前記バッファに蓄積されたデータ量を測定し、前記所定時間毎のバッファ情報を作成するバッファ情報生成部と、前記バッファ情報に基づいて、前記バッファ毎に入力された前記信号が当該バッファから出力されるまでに要する時間を遅延時間として算出する遅延時間算出部と、前記遅延時間に対する前記識別子毎の影響度を算出する影響度算出部と、を備える。
本発明によれば、スループットが低下する転送制御装置の特定と低下要因を推定することが可能となる。また、転送制御装置のポート毎の遅延の監視と、遅延要因の内訳を推定することが可能となる。
本発明の実施例を示し、ネットワークスイッチの構成の一例を示すブロック図である。 本発明の実施例を示し、ネットワークシステムと物理サーバで構成されたデータセンタの一例を示すブロック図である。 本発明の実施例を示し、管理装置の一例を示すブロック図である。 本発明の実施例を示し、ネットワークシステムのトポロジ情報の一例を示す図である。 本発明の実施例を示し、キュー長テーブルの一例を示す図である。 本発明の実施例を示し、フローテーブルの一例を示す図である。 本発明の実施例を示し、遅延テーブルの一例を示す図である。 本発明の実施例を示し、遅延テーブルの生成処理の一例を示すフローチャートである。 本発明の実施例を示し、集約遅延テーブルの一例を示す図である。 本発明の実施例を示し、集約遅延テーブルを生成する処理の一例を示すフローチャートである。 本発明の実施例を示し、アプリケーション間の遅延時間を示す3次元グラフである。 本発明の実施例を示し、遅延時間の内訳と影響度の内訳を示すグラフである。 本発明の実施例を示し、アプリケーション間の遅延時時系列で表示するグラフである。 本発明の変形例を示し、キュー処理部に複数のキューを設けた例を示すブロック図である。 本発明の第2の実施例を示し、物理サーバの構成の一例を示すブロック図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の第1の実施例を示し、ネットワークスイッチ1の構成の一例を示すブロック図である。
本実施例1では、通信ネットワークにおいてスループットが低下するネットワークスイッチ1の特定と、低下要因を推定するネットワークスイッチ1および管理装置2の例を説明する。なお、以降の説明では、同等機能または同種の装置が複数個存在する場合には、符号に(1)〜(n)(ただし“n”は自然数)を付加して個々を特定し、全体を示すときには(n)を省略する。
図1は、本実施例1のネットワークスイッチ1の構成の一例を示すブロック図である。ネットワークスイッチ1は、2個以上からなる通信ポート11(n)と、2個以上からなるキュー(またはバッファ)処理部12(n)と、2個以上からなる出力処理部13(n)と、受信した信号を転送する入力処理部14と、管理ネットワークに接続される管理用通信ポート15と、演算を行うCPU16と、データやプログラムを保持する記憶部17と、時刻をカウントするクロック処理部18と、フローテーブル51を格納するフロー記憶部19とを含む。
通信ポート11は、他のネットワークスイッチ1(または物理計算機や管理装置)とケーブル113で接続される。通信ポート11は、例えばIEEE802.3で規格化されているEthernet(登録商標)の規格に基づき、イーサネット(登録商標)フレーム(またはパケット)を送受信することで通信が可能である。
通信ポート11は、入力ポート111と出力ポート112で構成される。入力ポート111は、ケーブル113から入力されたイーサネットフレームを受信し、入力処理部14へ送信する。出力ポート112は、出力処理部13から送られてくるイーサネットフレームを受信し、ケーブル113で接続された他のネットワークスイッチ1へ送信する。
入力処理部14は、2個以上の入力ポート111(n)からそれぞれイーサネットフレームを受信し、イーサネットフレーム中の宛先アドレスもしくは後述のフロー記憶部19を参照して、宛先に該当するキュー処理部12へ前記受信したイーサネットフレームを送信する。
キュー処理部12は、キュー121とキュー長カウンタ122とキュースケジューラ123で構成される。キュー121は、受信したイーサネットフレームを一時的に蓄えるバッファである。例えば、2箇所以上の入力ポート111から受信したイーサネットフレームが、入力処理部14によって1ヶ所のキュー処理部12へ送信された場合、入力速度が出力速度を上回ると、キュー121にイーサネットフレームが蓄積される。なお、この例では入力ポート111の入力速度と出力ポート112の出力速度は等しく、例えば、10Gbps等である。
キュー長カウンタ122は、キュー121に前記蓄えられたイーサネットフレームのバッファ量を示すカウンタである。キュー長カウンタ122は、CPU16が値を参照することが可能である。前記読み出されるキュー長カウンタ122の値は、CPU16が参照した時刻においてキュー121に蓄えられているバッファ量であってもよく、CPU16が前回参照した時刻から今回参照するまでの間の最大値を保持しており、区間の最大値が読み出されていてもよい。
キュースケジューラ123は、例えば、CPU16が設定した転送レートになるように、イーサネットフレームの送信量(または出力速度、送信速度)を制限することが可能である。出力処理部13は、キュー処理部12からイーサネットフレームを受け取り、接続された出力ポート112へ送信する。
記憶部17には、各キュー121のキュー長カウンタ122の値を保持するキュー長テーブル4と、ポート11毎の遅延時間と影響度を格納する遅延テーブル61(遅延情報)が格納される。また、記憶部17には、キュー処理部12毎の遅延時間を算出する遅延時間算出部71と、各フローの遅延時間に対する影響度を算出する影響度算出部72とを含んでキュー長テーブル4や遅延テーブル61及びフローテーブル51等の各テーブルを生成するテーブル生成部70が格納され、CPU16によって実行される。
遅延時間算出部71及び影響度算出部72を含むテーブル生成部70等の各機能部はプログラムとして記憶部17にロードされる。CPU16は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、CPU16は、テーブル生成プログラムに従って処理することでテーブル生成部70として機能する。他のプログラムについても同様である。さらに、CPU16は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
ネットワークスイッチ1の各機能を実現するプログラム、テーブル等の情報は、記憶部17や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図2は、本実施例1におけるデータセンタの構成を示す計算機システムのブロック図である。前記データセンタは、ネットワークシステム21と2台以上の物理サーバ22(1)〜22(6)で構成される計算機システムである。ネットワークシステム21は、2台以上のネットワークスイッチ1(1)〜1(6)と1台以上の管理装置2で構成される。管理装置2は、図中破線で示す管理ネットワーク21Mを介して各ネットワークスイッチ1(SW1〜SW6)の管理用通信ポート15(図中、Mgr)とそれぞれ接続されている。また、物理サーバ22(1)〜22(6)は、図中実線で示すサービスネットワーク21Sを介してネットワークスイッチ1(1)〜1(3)に接続され、ネットワークスイッチ1(4)〜1(6)を介して外部に接続される。図示の例では、各物理サーバ22は、ネットワークスイッチ1(6)のポートP3を介して外部のネットワークに接続される。
物理サーバ22は、複数の仮想マシンや複数のアプリケーション(以下、アプリ)を実行させることが可能である。図2に示す例では、物理サーバ22(n)が1台に付き2つのアプリ(アプリn1とアプリn2)を実行している例を示している。また、物理サーバ22はそれぞれ1つの通信ポート23を持ち、ネットワークスイッチ1の通信ポート11(例えば、P1、P2)と接続されている。
図3は、管理装置2の構成の一例を示すブロック図である。管理装置2は、演算処理を行うCPU201と、データやプログラムを保持するメモリ202と、管理ネットワーク21Mに接続されるネットワークインターフェース(図中NIC)203と、プログラムやデータを格納するストレージ装置204と、マウスやキーボードあるいはタッチパネルで構成された入力装置205と、ディスプレイ等で構成された出力装置206とを含む計算機である。
メモリ202には、ネットワークスイッチ1同士の接続及び物理サーバ22とネットワークスイッチ1の接続関係を示すトポロジ情報3と、各ネットワークスイッチ1から取得した遅延テーブル61を集約した集約遅延テーブル81が保持される。
また、メモリ202には、トポロジ情報3や集約遅延テーブル81を集約または更新する集約部210と、検索条件を受け付けてアプリケーションとネットワークスイッチ1の遅延時間の関係を出力する検索部220がロードされて、CPU201によって実行される。
図4は、図2におけるネットワークスイッチ1同士の接続やネットワークスイッチ1と物理サーバ22の接続を示すトポロジ情報3を示したものである。トポロジ情報3は、管理装置2が保持するテーブルで、所定の周期(例えば、1時間毎)または所定のタイミング(入力装置205からの指令)によって生成または更新される。
トポロジ情報3は、ネットワークシステム21内でユニークな識別子を付与された接続番号301と、ネットワークスイッチ1の識別子を格納するスイッチA_ID302と、接続元のポート11の識別子を格納するスイッチAポートID303と、接続先の装置の識別子を格納するスイッチB_ID304と、接続先のポートの識別子を格納するスイッチBポートID305と、をひとつのエントリに含む。
以下、トポロジ情報3の接続番号#1を例にして図4の詳細を説明する。ここで図4に記載のIDの値について説明する。“SW1”は、図2のネットワークスイッチ1(1)を示すスイッチID(スイッチA_ID302もしくはスイッチB_ID304)であり、以下同様に“SWn”は、ネットワークスイッチ1(n)を示す前記スイッチIDである。また、同様に“物理サーバn”は、物理サーバ22(n)を示す前記スイッチIDである。
“P1”は、ネットワークスイッチ1の通信ポート11(1)を表すスイッチポートID(スイッチAポートID303もしくはスイッチBポートID305)であり、以下同様に“Pn”は、ネットワークスイッチ1の通信ポート11(n)を示す前記スイッチポートIDである。なお、本実施例では物理サーバ22は通信ポートが1つの場合を例にしているが、これに限定するものでなく、物理サーバ22が複数の通信ポートをもつ場合は、識別可能なポートIDを付与してやればよい。
接続番号#1を参照すると、スイッチA_ID302が“SW1”、スイッチAポートID303が“P1”、スイッチB_ID304が“物理サーバ1”でスイッチB_ポートID305が“P1”であることから、ネットワークスイッチ1(1)の通信ポート11(1)と物理サーバ1のポートが接続されていることを示している。以降同様にして、図4のトポロジ情報3は、図2記載のすべての接続について記載されている。つまり、トポロジ情報3を元に、図2に示したネットワークスイッチ1(n)と物理サーバ22(n)の接続が再現可能である。なお、図中接続番号301=#15は、外部のネットワークに接続されていることを示す。
図5は、キュー長テーブルの一例を示す図である。キュー長テーブル4は、ネットワークスイッチ1で所定の時間毎に生成されるテーブルである。
CPU16がネットワークスイッチ1内のすべてのキュー長カウンタ122の値を収集するプログラム(テーブル生成部70)を実行することでキュー長テーブル4を生成し、生成したキュー長テーブル4を記憶部17に保存する。キュー長テーブル4の生成は、一定時間毎(例えば100ms毎)に行われる。
キュー長テーブル4は、ネットワークスイッチ1の識別子を格納するスイッチID41と、ポートID42と、キュー長43で構成される。スイッチID41は、収集するネットワークスイッチ1毎に予め固有に設定されたIDである。ポートID42は、前記スイッチID41の通信ポート11(n)に予め設定された固有のIDである。キュー長43は、CPU16がポートID42に該当するキュー長カウンタ122(n)から読み取った値である。
前記一定時間毎に収集したキュー長テーブル4は、収集した時刻の時刻情報とともに記憶部17へ保存する。前記記憶部17へ保存する処理を一定時間毎に行うことで、ネットワークスイッチ1内のキュー長カウンタ122の変化を時間変化と共に記憶することが可能となる。なお、時刻情報は、クロック処理部18から取得した時刻を、一定時間毎に生成したページに付与すればよい。
図5では、キュー長テーブル4の形式での記載をしているが、これに限定するものでなく、スイッチID41とポートID42とキュー長43とCPU16が収集した時刻の時刻情報とを1つに纏めてもよい。さらにキュー長43が所定の閾値を上回った場合のみ記憶部17へ保存する形式であってもよい。
図6は、フローテーブル51の一例を示す図である。フローテーブル51は、ネットワークスイッチ1が中継するフロー情報を、フロー記憶部19に保存する内容を示したものである。ネットワークスイッチ1のCPU16は、一定時間毎(例えば、100ms毎)にテーブル生成部70を実行して、フローテーブル51を時刻毎に生成してフロー記憶部19に格納する。
本実施例1におけるフローとは、論理的に区別可能なデータの流れをフローとして定義する。例えば、IPネットワークにおける5−tupleと呼ばれるIPヘッダや、TCP/UDPヘッダ内の情報(パケット内の通信種別の情報)でフローを区別することである。具体的には、送信元IPアドレスと、送信先IPアドレスと、プロトコル番号と、TCP/UDPヘッダ内の送信元ポート番号と、TCP/UDPヘッダ内の送信先ポート番号と、の組み合わせを1つ1つのフローとしてもよい。また、上述のパケット内の情報のうち、どれか1つだけで区別してフローとしてもよい。また、5−tupleだけでなく、中継する通信ポート11でフローを区別するようにしてもよい。さらに、TCP/UDPのIPヘッダだけでなく、L2ヘッダの送信先MACアドレスや送信元MACアドレスでフローを区別してもよい。
図6に示したフローテーブル51の例では、受信ポートID53と、送信ポートID54と、TCP宛先ポート番号55で区別可能なデータをフローとして定義する。また、区別したフロー毎に、該当するネットワークスイッチ1のIDをスイッチID41に保存する。さらに、ネットワークスイッチ1のCPU16(入力処理部14)は、フロー毎にユニークなIDを付与し、フローID52として保存する。
また、1秒間あたりにネットワークスイッチ1が中継したフロー毎の流量(データ量で、例えば、bps)をCOUNTER56として保存する。COUNTER56は、前回生成されたフローテーブル51から今回生成するフローテーブル51までの変化分(差分)を保存するようにしてもよい。なお、本実施例1では、CPU16が100ms毎にフローテーブル51を生成するので、COUNTER56の値は、100ms間に転送したデータ量をbpsに換算した値を格納する。
ここで、受信ポートID53、送信ポートID54とは、ネットワークスイッチ1がデータを中継する際に、データを受信した通信ポート11の入力ポート111のIDを受信ポートID53とし、データを送信する通信ポート11の出力ポート112のIDを送信ポートID54とする。
フロー記憶部19のフローテーブル51に保存するフローは、対象とする通信ポート11を全ポートとしてもよいし、後述するように、集約遅延テーブル81で検索対象とするポートに限定してもよい。
フローテーブル51をフロー記憶部19へ保存する処理は、入力処理部14で行ってもよい。なぜなら、入力処理部14は全ての通信ポート11からデータを受け取り、データを解析し、出力する通信ポート11を決定している為、フローテーブル51を生成する為に必要な情報が集まっているからである。
もしくは、図6に示すフローテーブル51を入力処理部14が生成するのではなく、管理用通信ポート15経由でCPU16に指示が出され、CPU16がフロー記憶部19内にフローテーブル51を生成し、入力処理部14はフロー記憶部19を参照して出力先となる通信ポート11を決定する処理であってもよい。例えば、標準化団体“Open Networking Foundation”によって標準化が進められている規格“OpenFlow”が前述したフロー記憶部19を参照して出力先を決定する方式である。さらに、フローテーブル51は、ネットワークスイッチ1のL3中継で中継先を決定するFDB(Forwarding Databese)やL2中継で中継先を決定するMACアドレステーブルを前記説明したフローテーブル51へ拡張した形式であってもよい。
図7は、遅延テーブル61の一例を示す図である。遅延テーブル61は、図5に記載のキュー長テーブル4と、図6に記載のフローテーブル51からネットワークスイッチ1を通過するデータの通信ポート11毎の遅延時間と、遅延時間のフロー毎の影響度とを一定時間毎(例えば、100ms周期)にネットワークスイッチ1のCPU16が生成したテーブルである。
遅延テーブル61は、ネットワークスイッチ1の識別子を格納するスイッチID41と、出力ポート112の識別子を格納する送信ポートID54と、入力ポート111の識別子を格納する受信ポートID53と、TCP宛先ポート番号55と、ネットワークスイッチ1を通過するのに要した時間を格納する遅延時間62と、フロー毎に演算した遅延時間へ影響を与える度合(比率)を格納する影響度63からひとつのエントリが構成される。
遅延時間62は、後述するようにキュー121へ入力されてから出力処理部13から出力されるまでの時間を示す。
影響度63は、各フローが遅延時間62へ影響を与える度合または比率を示し、後述するように各ネットワークスイッチ1で算出される。
例えば、図示の例では、送信ポートID54=P3(以下送信ポートP3)では、当該送信ポート全体の遅延時間は6853μsecとなっている。そして、送信ポートP3から出力されるパケットは、受信ポートID53=P1とP3のフローが混在しており、TCP宛先ポート番号55は、それぞれ110、80、20、25となっている。影響度63は、受信ポートID53とTCP宛先ポート番号55の組(フロー)毎に遅延時間62へ影響を与える度合(または比率)として算出される。例えば、受信ポートID53=P1、TCP宛先ポート番号55=110の影響度63=0.000167(0.00167%)になり、受信ポートID53=P1、TCP宛先ポート番号55=80の影響度63=0.667(66.7%)になる例を示す。
以下、遅延テーブル61の生成処理の一例を示すフローチャートを、図8を用いて説明する。この処理は、遅延時間算出部71と影響度算出部72を含むテーブル生成部70がキュー長テーブル4とフローテーブル51及び遅延テーブル61を生成する処理である。以下では、CPU16が遅延時間算出部71と影響度算出部72を含むテーブル生成部70を実行する主体として説明する。
ネットワークスイッチ1では、一定時間毎(例えば100ms周期)でCPU16に割り込みが発生し、遅延テーブル61の生成処理が開始される(S701)。CPU16は、クロック処理部18から現在の時刻情報を取得する(S702)。
その後、CPU16は、図5に示したキュー長テーブル4と、図6に示したフローテーブル51に、ステップS702で取得した時刻情報に対応するページを生成する(S703)。CPU16は、キュー長テーブル4と、フローテーブル51に空のエントリを加えて時刻情報を対応付けたページを生成すれば良い。なお、キュー長テーブル4とフローテーブル51の時刻情報は、各ページに関連付けても良いし、各エントリに時刻情報を付与するようにしてもよい。また、ページは時刻情報に関連付けられたエントリの集合を示すものとする。
CPU16は、ステップS702で取得した時刻情報に対応するフローテーブル51とキュー長テーブル4を生成する。
フローテーブル51の生成は、CPU16が各キュー121のイーサネットフレームを解析し、入力処理部14が付与したフローID52と、受信ポートID53と、送信ポートID54と、TCP宛先ポート番号55を設定し、入力処理部14が測定した当該フローのデータ量をCOUNTER56の値として設定したエントリを追加して現在時刻に対応するページを生成する。
なお、CPU16は、COUNTER56の値として、前回の時刻(100msec前)から現在の時刻までに転送した同一フローIDのデータ量(例えば、バイト数)を測定し、フローID毎にbpsに換算した値を設定する。例えば、CPU16は、フローID52毎にイーサネットフレーム(またはIPフレーム)のペイロードサイズを取得し、前回時刻から現在時刻までに転送したデータ量を測定する。なお、この処理はテーブル生成部70のうちフロー情報生成部(図示省略)が行う。また、フロー情報の生成については、入力処理部14で行うようにしてもよい。
フローテーブル51は、図6の「t」で示すように、時刻t毎にページが生成される。なお、後述するように、CPU16は管理装置2が遅延テーブル61を取得した時刻情報に対応するページを削除することができる。
キュー長テーブル4の生成は、CPU16が各キュー121のキュー長カウンタ122の値をそれぞれ取得してキュー長43に設定し、キュー121に対応するポート11(1)=11(n)の識別子n毎にポートID42のエントリを追加してページを生成する。そして、CPU16は、当該ページにステップS702で取得した時刻を付与(または関連付けた)する。なお、スイッチID41は、当該ネットワークスイッチ1に予め設定された識別子を格納する。なお、この処理はテーブル生成部70のうちバッファ情報生成部(図示省略)が行う。
キュー長テーブル4は、図5の「t」で示すように、時刻t毎にページが生成され、時系列的に蓄積される。なお、後述するように、CPU16は管理装置2が遅延テーブル61を取得した時刻情報に対応するページを削除することができる。
次に、CPU16は、通信ポート11のキュー長をキュー長テーブル4から取得する(S704)。この処理は、例えば、キュー121(n)の識別子nの小さい順に、キュー121(n)のキュー長カウンタ122(n)の値を取得し、ステップS704からS709のループで遅延テーブル61を生成する。なお、この処理はテーブル生成部70のうち遅延情報生成部(図示省略)が行う。
次に、ステップS705では、CPU16が取得したキュー長カウンタ122(n)の値が予め設定した閾値よりも大きいか否かを判定する。閾値は、例えば、1[KB]等に設定される。例えば、図5のポートID:P3の場合、キュー長は800[KB]である。取得したキュー長が予め設定した閾値より小さい場合(S705:NO)は、遅延時間に影響が少ないと判定し、次のキュー長を取得するため(S709)へ進む。
一方、取得したキュー長が予め設定した閾値を超える場合(S705:YES)、CPU16は、ステップS703で生成した時刻情報のフローテーブル51を参照し、現在着目しているキュー121(n)に対応するポート11(n)が、送信ポート54となるフローID53を検索する(S706)。
例えば、図6のフローテーブル51において、送信ポートID54がポートP3である遅延テーブル61を生成する場合、フローID52=1と、2と、6と、7が前記検索で該当するフローIDとなる。
次に、前記フローテーブル51から取得した情報に基づいて、CPU16は、遅延時間62と影響度63を算出する(S707)。なお、これらの処理は、テーブル生成部70の遅延時間算出部71と、影響度算出部72でそれぞれ実行される。
遅延時間62は、具体的には固有遅延時間とキュー長依存遅延時間に分けることができる。固有遅延時間は、キュー121が空の状態であっても、データがネットワークスイッチ1を通過するときに必ず発生する遅延時間である。
一方、キュー長依存遅延時間は、データがキュー121へ一時的に蓄えられた後にキュー121から出力されるまでに要する遅延時間である。これらを以下に数式で表す。
遅延時間62[s]
= 固有遅延時間 [s] + キュー長依存遅延時間 [s] ・・・(1)
キュー長依存遅延時間 [s]
= α × (キュー長 [bit] / 転送速度[bps]) ・・・(2)
と表すことができる。
転送速度は、通信ポート11の仕様で決まり、例えば、1Gbpsや10Gbpsなどである。また、通信ポート11の出力に帯域制限の設定がされている場合には、転送速度は設定された値に従う。上記(2)式の“α”は、ネットワークスイッチ1がハードウェアで実現されている場合、値は1でよい。ネットワークスイッチ1がソフトウェアで実現されている場合、ソフトウェアを実行しているハードウェアの処理性能に依存しており、キュー長と転送遅延の関係を調整する係数として“α”を設定する。
図5に示したキュー長テーブル4の例を用いれば、ポートID42が“P3”のキュー長は、800[KB]であり、通信ポート11の出力速度を1Gbps、ネットワークスイッチ1はハードウェアで実現されているとした場合、
キュー長依存遅延時間=1×(800×1024×8[bit]/1[Gbps])
=6553.6[μs]
となる。
また、固有遅延時間が例えば300[μs]であれば、図5および図6に記載の送信ポートID:P3から出力される遅延時間(62)=300[μs]+6553.6[μs]=6853.6[μs]となる。
図7に示す遅延テーブル61では、固有遅延時間を上記300[μs]とした例を示し、CPU16は、キュー長テーブル4のキュー長43に基づいて遅延時間62を演算し、遅延テーブル61に格納する。
次に、影響度63は、遅延時間62に対するフロー毎の影響度を示す値として、次のように定義して算出する。
キュー処理部12に複数のフローが集中するとキュー121にデータが貯まり、到着したデータが送信されるまでに遅延が発生する。また、フロー毎の流量(送信データ)の内訳が、キュー121に貯まっているデータ(送信待ちのデータ)の内訳と近似する。よって、キュー121に蓄積された流量(データ)の内訳を、到着したデータが送信されるまでの遅延時間62への影響度63とする。
具体的には、CPU16が、フローテーブル51を参照することで送信ポートID54毎に送信されるすべてのフローIDと送信されるデータの流量(データ量)を示すCOUNTER56が参照可能である。つまり、CPU16は送信ポートID54を通過するフロー毎に流量の内訳を算出可能である。
影響度36は、次式で表すことができる。
影響度[%]
=対象フローのCOUNTER(56)/Σ対象送信ポートIDのCOUNTER56
・・・(3)
で表すことができる。
図6に示したフローテーブル51において、送信ポートID54が“P3”から送信されるフローの影響度63を例に、影響度63の演算の一例を以下に示す。対象となる送信ポートID54が“P3”であるフローID52は、1,2,6,7である為、
Σ対象送信ポートIDのCOUNTER56
= 100kbps+400Mbps+200Mbps+20kbps
= 600.12Mbps
となる。
次に、
フローID:1の影響度は、100kbps/600.12Mbps= 約0.02%
フローID:2の影響度は、400Mbps/600.12Mbps=約66.65%
フローID:6の影響度は、200Mbps/600.12Mbps=約33.33%
フローID:7の影響度は、 20kbps/600.12Mbps= 約0.00%
となる。これらの値から、フローID:2が最も遅延時間62への影響が大きく各66.65%であり、フローID:7は遅延時間62への影響がほとんどなく、約0.00%であることが分かる。
CPU16は、前記算出した遅延時間62と影響度63をスイッチID41、送信ポートID54、受信ポートID53、TCP宛先ポート番号55等のフローテーブル51の値に合わせて遅延テーブル61へ保存し、ステップS702で取得した時刻情報に対応付けた遅延テーブル61のページを記憶部17へ保存する(S708)。
以降、全送信ポートID42に対して処理済みであれば(S709:YES)、処理を終了し(S710)、処理済みでなければ(S709:NO)、次の未処理の送信ポートID42に対して上記ステップS704以降の処理を行う。上記処理を繰り返すことで、全送信ポートID42に対して処理を行い、ネットワークスイッチ1は、所定の時間毎に遅延テーブル61と、フローテーブル51と、キュー長テーブル4を生成する。
次に、図9、図10を用いて図2のネットワークシステム21の経路の一例として、物理サーバ22(1)のアプリ11から、物理サーバ22(3)のアプリ31への遅延時間と影響度を、管理装置2が算出する例を示す。なお、図9は、集約遅延テーブル81の一例を示す図である。また、図10は、集約遅延テーブル81を検索する処理の一例を示すフローチャートである。
図2の物理サーバ22(1)で実行されるアプリ11は、TCP宛先ポート番号80へ通信しているものとする。管理装置2は、各ネットワークスイッチ1の管理用通信ポート15と管理ネットワーク21Mを介して接続されており、各ネットワークスイッチ1(n)から遅延テーブル61、フローテーブル51、キュー長テーブル4を定期的(所定の周期)に集約している。
管理装置2が各ネットワークスイッチ1から各テーブルを収集する処理は、管理装置2が各ネットワークスイッチ1(n)へ定期的に問い合わせてもよく、あるいは、各ネットワークスイッチ1(n)が管理装置2へ定期的に送信してもよい。
図9の集約遅延テーブル81は、管理装置2が前記各ネットワークスイッチ1(n)から遅延テーブル61を取得して集約したものである。また、管理装置2は図4に示したトポロジ情報3が予め設定されているか、もしくはSNMP(Simple Network Management Protocol)を用いて接続情報を自動的に集約してトポロジ情報3を生成してもよい。
集約遅延テーブル81は、ある瞬間(時刻情報)の遅延テーブル61の情報を1つのテーブルにまとめたものであるが、遅延テーブル61が一定時間毎に生成されるように、集約遅延テーブル81も一定時間毎に生成され続けるものである。なお、各ネットワークスイッチ1のクロック処理部18は、定期的に時刻を同期させている。管理装置2の集約部210は、所定の周期(例えば1秒)で各ネットワークスイッチ1から遅延テーブル61を収集し、時刻情報が一致する遅延テーブル61を集約し、時刻情報毎に集約遅延テーブル81を生成する。
集約遅延テーブル81は、ネットワークスイッチ1の識別子を格納するスイッチID41と、送信ポートの識別子を格納する送信ポートID54と、受信ポートの識別子を格納する受信ポートID53と、イーサネットフレームのTCPポート番号を格納するTCP宛先ポート番号55と、送信ポートID54に対応するキュー121で発生する遅延時間62と、受信ポートID53とTCP宛先ポート番号55の組から成るフロー毎の影響度63とをひとつのエントリに含む。
次に、管理装置2で行われる検索処理について図10を参照しながら説明する。この処理は、管理装置2の検索部220で行われる処理で、入力装置205から所定の指令を受け付けたときに実行される。
管理装置2は、ステップS901で、検索対象の物理サーバ22及びアプリを受け付ける。以下の例では、検索対象として物理サーバ22(1)のTCPポート番号が“80”のアプリ11を受け付けた例を示す。
まず、管理装置2は、アプリ11の通信経路の検索箇所を選択する(S902)。管理装置2は、トポロジ情報3を参照し、物理サーバ22(1)のポートID:P1は、スイッチID41=“SW1”のポートID53の“P1”に接続されていることを取得する。よって、SW1が最初の検索箇所になる。
次に管理装置2は、スイッチID41が“SW1”、受信ポートID53が“P1”で集約遅延テーブル81を検索する(S903)。管理装置2は、集約遅延テーブル81から検索対象とするフローを検索することで、中継される送信ポートID54を検出する。
例えば、図9の例では、スイッチID41=“SW1”かつ受信ポートID53=“P1”かつTCP宛先ポート番号=“80”は、スイッチID41=“SW1”の送信ポートID53=“P3”への遅延時間62が6853[μs]で、対象とするフローが遅延に与えている影響度63が約66.65%(図中400M/100k+400M+200M+20k)であることを検出する。
また、管理装置2は、スイッチID41=“SW1”の送信ポートID53=“P4”へ遅延時間62が123[μs]で、影響度が80%(図中80M/(80M+20M)のフローも検出する。この例では、スイッチID41=“SW1”の送信ポートID54=“P3”への通信(フローID52=“2”)のみ説明する。スイッチID41=“SW1”の送信ポートID54=“P4”への通信は、前記送信ポートID54=“P3”への通信と同様に行えばよい為、以下では説明を省略する。
管理装置2は、検出した送信ポートID54が終端であるか否かを判定する(S904)。検出した送信ポートID54が終端でなければ(NO)、検索箇所の探索(S902)へ戻って、上記処理を繰り返す。一方、検出した送信ポートID54が終端の場合は処理を終了する。
次に、検索箇所選択(S902)の2巡目では、管理装置2がスイッチID41=“SW1”の送信ポートID54=“P3”は、トポロジ情報3からスイッチID304=“SW4”のポートID305=“P1”と接続されていることを検出する。
管理装置2は、集約遅延テーブル81から、スイッチID41=“SW4”の受信ポートID53=“P1”、TCP宛先ポート番号55=“80”は、スイッチID41=“SW4”の送信ポートID54=“P2”へ遅延時間が625[μs]で、対象とするフローが遅延に与えている影響度が72.7%(図中400M/100k+400M+20k+150M)であることを検出する(S903)。
以下同様に上記処理を繰り返し、管理装置2は、スイッチID41=“SW4”の送信ポートID54=“P2”はスイッチID41=“SW2”の受信ポートID53=“P3”へ接続され、遅延時間が300[μs]で影響度が100%であることを検出する。また、管理装置2はスイッチID41=“SW2”の送信ポートID54=“P1”は、トポロジ情報3から物理サーバ22(4)に接続されており、終端であることを検出する。
以上の処理を、すべての経路で終端まで繰り返すことで、管理装置2は所望の経路(またはアプリ)に対する各ネットワークスイッチ1での遅延時間と、その影響度を算出することが可能となる。
図9、図10で示した例では、TCP宛先ポート番号と送信ポートID、受信ポートIDで経路を辿っていたが、これに限定されるものでなく、例えば経路を辿る情報として宛先IPアドレスを加え、L3のFDBを参照し、宛先IPアドレスが送信されるポートIDを検索するようにしてもよい。これにより、さらに経路の絞り込みを行うことが可能となる。また、同様に宛先MACアドレスを経路探索の情報に加えてもよい。
図11、図12、図13は、図9と図10によって管理装置2がネットワークシステム21の全経路の遅延時間を出力装置206へ表示する例である。
図11は、アプリ11〜アプリ32間のある瞬間(時刻情報)における遅延時間を3次元グラフで表示させるものであり、管理装置2が、集約遅延テーブル81を生成(または集約)する度に図11の3次元グラフも更新していく。X軸(図中To軸)信先アプリを示し、Y軸(図中From軸)は送信元アプリを示し、Z軸(遅延時間軸)は各アプリ間の遅延時間を示している。例えば、送信元アプリがアプリ11、送信先アプリがアプリ32の場合、遅延時間は図11の遅延棒グラフ100で図示されている。
図11によって、アプリ間での遅延時間の傾向を一目で確認することができるようになる。例えば、アプリ11、12、31、32間での遅延時間が大きいことが図11から分かる為、アプリ11、12を実行する物理サーバ22(1)と、アプリ31、32を実行する物理サーバ22(3)間の通信に遅延が大きくなっている傾向を把握することが可能である。図11はアプリ間での表示を行ったが、これに限定されるものではなく、物理サーバ22間の遅延であってもよく、あるいはネットワークスイッチ1のポート間の遅延を表示するようにしてもよい。
図12は、遅延時間の内訳と遅延時間の影響度の内訳を出力装置206へ表示する例を示したものである。図11の遅延時間の棒グラフ100は、アプリ間の遅延時間を示しているが、集約遅延テーブル81では、ネットワークスイッチ1(n)を通過するイーサネットフレームの遅延時間を個々に保持しており、図中(a)はネットワークスイッチ1(n)毎の遅延時間を表示したものである。例えば、図中(a)は、SW1:1234[μs]、SW2:345[μs]、SW3:78[μs]であることを表示している。さらに、集約遅延テーブル81は遅延時間の影響度も保持しており、図中(b)は影響度の内訳を表示したものである。例えば、図中(b)はスイッチID“SW1”の遅延時間の影響度の内訳として、フローID“37”が80%、フローID“4”が15%、フローID“12”が5%であることを出力装置206に表示させたものである。
例えば、図11においてアプリ間の遅延時間が大きな箇所があった場合に、前記遅延時間のグラフ100を選択すると、管理装置2は図12に示すような遅延時間の内訳や影響度の内訳を表示させる。これにより、ネットワーク品質を劣化させる遅延時間が大きな箇所を特定しやすくなり、かつ、遅延原因となる影響度が大きなフローの発見を容易にすることができる。
図13は、アプリ間の遅延時間の時間変化を時系列でグラフ化したものである。X軸を時刻、Y軸を遅延時間とし、特定のアプリ間の遅延時間をグラフ表示させる。管理装置2でアラーム閾値101を設定し、遅延時間が前記閾値を超えた出力ポート112(送信ポート)または当該出力ポートを経由するフローIDについてネットワーク管理者等へ警告や警報を送信または出力するようにしてもよい。
遅延時間の表示方法は上記に限定されるものでなく、例えば、アプリ間もしくは物理サーバ22間の遅延時間が大きな順に上位10件をランキング表示するようにしてもよい。
<変形例>
図14は、上記実施例1の変形例を示す。図1ではキュー121が1つの場合を例に示したが、これに限定されるものではない。例えば、図14に示すようにキュー処理部12に複数のキュー121を設定した場合、キュースケジューラ123は送信スケジュール管理を行う機能を有する。
例えば3つのキュー121(1)〜121(3)が設定され、優先度:高=キュー121(1)、優先度:中=キュー121(2)、優先度:低=キュー121(3)の場合、キュースケジューラ123は優先度に従って高い優先度のキュー121に蓄えられたイーサネットフレームから送信するように制御する。
優先度:高=キュー長カウンタ122(1)、優先度:中=キュー長カウンタ122(2)、優先度:低=キュー長カウンタ122(3)は、それぞれ対応する優先度のキュー121に蓄えられたイーサネットフレームのデータ量を示すカウンタである。
優先度:高キュー121(1)のキュー長依存遅延時間は、キュー121が1つの場合と同様である。優先度:中=キュー121(2)のキュー長依存遅延時間は、キュー121が1つの場合と同様な計算による値に、優先度:高キュー121(1)のキュー長依存遅延時間を加えた値としてもよい。また前記値以上を、優先度:中=キュー121(2)のキュー長依存遅延時間であるとしてもよい。優先度:低=キュー121(3)のキュー長依存遅延時間は、キュー121が1つの場合と同様な計算による値に、優先度:中キュー121(2)のキュー長依存遅延時間を加えた値としてもよい。また前記値以上を、優先度:低=キュー121(3)のキュー長依存遅延時間であるとしてもよい。
また、図5は図1に記載の1つのポートに1つのキュー121がある場合について説明したが、図14のように1つのポートに複数のキュー121(n)がある場合、ポートID42の代わりにキュー121(n)を示すIDを保存し、前記キュー121(n)に対応するキュー長43を保存してもよい。
以上のように、本発明によれば、ネットワークスイッチ1内のキュー121毎にキュー長をモニタリングすることで、出力ポート112やキュー121毎にネットワークスイッチ1を通過するデータの遅延時間を把握することが可能となる。さらに、フロー毎の流量(データ量)と前記遅延時間によって、遅延時間の内訳を把握することが可能となる。複数台のネットワークスイッチ1によって構成されたネットワークシステム21において、アプリケーションのEnd−to−Endでの全体の遅延時間と、ネットワークスイッチ1毎の遅延時間と、前記遅延時間の内訳をフロー毎に把握することが可能となる。
以上により、ネットワークシステム21の遅延時間の記録を保存することが可能となり、例えば、遅延時間が大きくなるホットスポットの特定と、原因となるフローを発見することができる。ネットワークシステム21においてEnd−to−Endの通信が、複数の経路を選択可能な場合、悪影響を出しているフローを別の経路に変更することで、ネットワークシステム21内の品質低下を防ぐトラフィックエンジニアリングが可能となる。
図15は、本発明の第2の実施例を示し、前記ネットワークスイッチ1に代わってハイパーバイザ230内の仮想スイッチ240に本発明を適用した例を示す。図15の例は、物理サーバ22Aでハイパーバイザ230を実行し、複数の仮想計算機(図中VM)270(1)〜270(n)をハイパーバイザ230上で稼動させ、各仮想計算機270でアプリケーション(図示省略)を前記実施例1と同様に実行する。なお、物理サーバ22Aは、図2と同様に、管理ネットワーク21Mを介して管理装置2に接続される。
物理サーバ22Aは、演算を行うCPU16と、データやプログラムを保持する記憶部17と、時刻をカウントするクロック処理部18と、フローテーブル51を格納するフロー記憶部19と、前記実施例1の図2に示したネットワークスイッチ1に接続される物理NIC280を含む。なお、記憶部17は、前記実施例1の図1と同様に、遅延時間算出部71と影響度算出部72を含むテーブル生成部70と、キュー長テーブル4と、遅延テーブル61を保持する。
ハイパーバイザ230は、各仮想計算機270(1)〜270(n)に仮想NIC260(1)〜260(n)と、複数の仮想ポート250(1)〜250(n)、250(v)を有する仮想スイッチ240を提供する。各仮想NIC260(1)〜260(n)は仮想ポート250(1)〜250(n)にそれぞれ接続されて仮想計算機270間または物理NIC280を介して外部と通信する。
仮想スイッチ240は、物理NIC280に接続される仮想ポート250Vを有し、物理NIC280を介して図2に示したネットワークスイッチ1に接続される。そして、仮想スイッチ240は、各仮想ポート250(1)〜250(n)に対応するキュー処理部12(1)〜12(n)と、各キュー処理部12(1)〜12(n)に接続された出力処理部13(1)〜13(n)と、仮想ポート250Vから受信した信号(イーサネットフレーム)を各キュー処理部12へ転送し、また、仮想ポート250(1)〜250(n)から受信した信号を仮想ポート250Vまたはキュー処理部12へ転送するする入力処理部14と、を含む。
各仮想ポート250(1)〜250(n)は、それぞれ入力ポート111(1)〜111(n)及び出力ポート112(1)〜112(n)とを有する。そして、各キュー処理部12(1)〜12(n)は、前記実施例1と同様に、キュー121(1)〜121(n)とキュー長カウンタ122(1)〜122(n)とキュースケジューラ123(1)〜123(n)で構成される。
CPU16は、前記実施例1と同様に、仮想スイッチ240内のキュー121毎にキュー長をモニタリングすることで、前記実施例1と同様に、仮想計算機270を提供する物理サーバ22Aにおいても、出力ポート112やキュー121毎に仮想スイッチ240を通過するデータの遅延時間を把握することが可能となる。さらに、物理サーバ22Aで処理するフロー毎の流量(データ量)と前記遅延時間によって、仮想計算機270間または仮想計算機270と外部の物理サーバ22間の遅延時間の内訳を把握することが可能となる。
以上により、前記実施例1と同様に仮想スイッチ240及びネットワークシステムの遅延時間記録を保存することが可能となり、例えば、遅延時間が大きくなるホットスポットの特定と、原因フローを発見することができる。ネットワークシステムにおいてEnd−to−Endの通信が、複数の経路を選択可能な場合、悪影響を出しているフローを別経路に流すことで、ネットワークシステム内の品質低下を防ぐトラフィックエンジニアリングが可能となる。
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
1 ネットワークスイッチ
2 管理装置
3 トポロジ情報
4 キュー長テーブル
11 通信ポート
12 キュー処理部
13 出力処理部
14 入力処理部
15 管理用通信ポート
16 CPU
17 記憶部
18 クロック処理部
19 フロー記憶部
21 ネットワークシステム
22 物理サーバ
23 通信ポート
41 スイッチID
42 ポートID
43 キュー長
51 フローテーブル
52 フローID
53 受信ポートID
54 送信ポートID
55 TCP宛先ポート番号
56 COUNTER
61 遅延テーブル
62 遅延時間
63 影響度
81 集約遅延テーブル
100 遅延棒グラフ
101 アラーム閾値
111 入力ポート
112 出力ポート
113 ケーブル
121 キュー
122 キュー長カウンタ
123 キュースケジューラ

Claims (10)

  1. 入力ポートと出力ポートを複数備え、前記入力ポートで受信した信号を前記出力ポートへ転送する転送制御装置であって、
    前記入力ポートで受信した信号を解析して宛先を判定し、前記宛先に対応する出力ポートに当該信号を転送する入力処理部と、
    前記出力ポートにそれぞれ接続されて、前記転送された信号を一時的に格納するバッファと、
    前記バッファに格納された信号を前記出力ポートから出力する出力処理部と、
    前記入力ポートで受信した信号を解析して通信の種別を示す識別子を付与し、当該識別子毎に信号のデータ量を所定時間毎に測定して前記所定時間毎のフロー情報を生成するフロー情報生成部と、
    前記所定時間毎に前記バッファに蓄積されたデータ量を測定し、前記所定時間毎のバッファ情報を作成するバッファ情報生成部と、
    前記バッファ情報に基づいて、前記バッファ毎に入力された前記信号が当該バッファから出力されるまでに要する時間を遅延時間として算出する遅延時間算出部と、
    前記遅延時間に対する前記識別子毎の影響度を算出する影響度算出部と、
    を備えたことを特徴とする転送制御装置。
  2. 請求項1に記載の転送制御装置であって、
    前記出力ポートに接続されたバッファの遅延時間と、前記出力ポートを経由する前記フロー情報の前記識別子毎の影響度と、を遅延情報として算出する遅延情報生成部をさらに有することを特徴とする転送制御装置。
  3. 請求項2に記載の転送制御装置であって、
    前記遅延情報生成部は、
    前記所定時間に対応する時刻情報と前記フロー情報と前記バッファ情報を加えて前記遅延情報を生成し、時系列的に蓄積することを特徴とする転送制御装置。
  4. 請求項1に記載の転送制御装置であって、
    前記バッファは、
    優先度の異なる複数のバッファと、
    前記バッファ毎に蓄積されたデータ量を測定する測定部と、
    前記優先度の高いバッファに蓄積された信号を出力した後に、優先度の低いバッファに蓄積された信号を出力するスケジューラと、
    を含むことを特徴とする転送制御装置。
  5. 請求項1に記載の転送制御装置であって、
    前記転送制御装置は、
    物理計算機上で稼動する仮想化部の仮想スイッチであることを特徴とする転送制御装置。
  6. 入力ポートと出力ポートを複数備え、前記入力ポートで受信した信号を前記出力ポートへ転送する転送制御装置と、
    複数の前記転送制御装置を管理する管理装置と、を有する計算機システムであって、
    前記転送制御装置は、
    前記入力ポートで受信した信号を解析して宛先を判定し、前記宛先に対応する出力ポートに当該信号を転送する入力処理部と、
    前記出力ポートにそれぞれ接続されて、前記転送された信号を一時的に格納するバッファと、
    前記バッファに格納された信号を前記出力ポートから出力する出力処理部と、
    前記入力ポートで受信した信号を解析して通信の種別を示す識別子を付与し、当該識別子毎に信号のデータ量を所定時間毎に測定して前記所定時間毎のフロー情報を生成するフロー情報生成部と、
    前記所定時間毎に前記バッファに蓄積されたデータ量を測定し、前記所定時間毎のバッファ情報を作成するバッファ情報生成部と、
    前記バッファ情報に基づいて、前記バッファ毎に入力された前記信号が当該バッファから出力されるまでに要する時間を遅延時間として算出する遅延時間算出部と、
    前記遅延時間に対する前記識別子毎の影響度を算出する影響度算出部と、
    前記出力ポートに接続されたバッファの前記遅延時間と、前記出力ポートを経由する前記フロー情報の前記識別子毎の影響度と、前記所定時間に対応する時刻情報と、を遅延情報として算出する遅延情報生成部と、を有し、
    前記管理装置は、
    所定の周期で前記複数の転送制御装置からそれぞれ前記遅延情報を取得し、前記転送制御装置毎に予め設定された識別子と、前記遅延情報及び前記時刻情報とを対応付けて集約遅延情報を生成する更新部と、
    を有することを特徴とする計算機システム。
  7. 請求項6に記載の計算機システムであって、
    前記転送制御装置は、相互に接続され、
    前記管理装置は、
    前記複数の転送制御装置が構成する通信経路のうち検索対象の通信経路またはフロー情報を受け付けて、前記集約遅延情報を検索する検索部をさらに有し、
    前記検索部は、
    前記検索対象の通信経路またはフロー情報に関連する前記転送制御装置毎の前記遅延時間及び前記識別子毎の影響度を算出することを特徴とする計算機システム。
  8. 請求項7に記載の計算機システムであって、
    前記管理装置は、
    前記検索部が算出した前記遅延時間及び前記識別子毎の影響度を出力装置に表示することを特徴とする計算機システム。
  9. 請求項6に記載の計算機システムであって、
    前記管理装置は、
    前記生成した集約遅延情報の遅延情報に含まれる遅延時間が所定の閾値を超えたときに警報を出力することを特徴とする計算機システム。
  10. 入力ポートと出力ポートを複数備え、前記入力ポートで受信した信号を前記出力ポートへ転送する転送制御装置を管理する管理装置であって、
    前記転送制御装置は、
    前記入力ポートで受信した信号を解析して宛先を判定し、前記宛先に対応する出力ポートに当該信号を転送する入力処理部と、
    前記出力ポートにそれぞれ接続されて、前記転送された信号を一時的に格納するバッファと、
    前記バッファに格納された信号を前記出力ポートから出力する出力処理部と、
    前記入力ポートで受信した信号を解析して通信の種別を示す識別子を付与し、当該識別子毎に信号のデータ量を所定時間毎に測定して前記所定時間毎のフロー情報を生成するフロー情報生成部と、
    前記所定時間毎に前記バッファに蓄積されたデータ量を測定し、前記所定時間毎のバッファ情報を作成するバッファ情報生成部と、
    前記バッファ情報に基づいて、前記バッファ毎に入力された前記信号が当該バッファから出力されるまでに要する時間を遅延時間として算出する遅延時間算出部と、
    前記遅延時間に対する前記識別子毎の影響度を算出する影響度算出部と、
    前記出力ポートに接続されたバッファの前記遅延時間と、前記出力ポートを経由する前記フロー情報の前記識別子毎の影響度と、前記所定時間に対応する時刻情報と、を遅延情報として算出する遅延情報生成部と、を有し、
    前記管理装置は、
    所定の周期で複数の前記転送制御装置からそれぞれ前記遅延情報を取得し、前記転送制御装置毎に予め設定された識別子と、前記遅延情報及び前記時刻情報とを対応付けて集約遅延情報を生成する更新部を有することを特徴とする管理装置。
JP2014116523A 2014-06-05 2014-06-05 転送制御装置、計算機システム及び管理装置 Pending JP2015231137A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014116523A JP2015231137A (ja) 2014-06-05 2014-06-05 転送制御装置、計算機システム及び管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014116523A JP2015231137A (ja) 2014-06-05 2014-06-05 転送制御装置、計算機システム及び管理装置

Publications (1)

Publication Number Publication Date
JP2015231137A true JP2015231137A (ja) 2015-12-21

Family

ID=54887717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014116523A Pending JP2015231137A (ja) 2014-06-05 2014-06-05 転送制御装置、計算機システム及び管理装置

Country Status (1)

Country Link
JP (1) JP2015231137A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244738A (zh) * 2021-12-16 2022-03-25 杭州奥博瑞光通信有限公司 一种交换机缓存调度方法以及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244738A (zh) * 2021-12-16 2022-03-25 杭州奥博瑞光通信有限公司 一种交换机缓存调度方法以及系统

Similar Documents

Publication Publication Date Title
US10819605B2 (en) Method, apparatus, and system for implementing delay measurement
JP5750714B2 (ja) 計算機システム、仮想サーバ配置方法及び配置制御装置
CN108881056A (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US9544233B2 (en) Congestion management for datacenter network
JP2017034678A5 (ja)
US10237192B2 (en) Apparatus and system for optimizing communication networks
CN109120525A (zh) 用于sdn的路径确定方法、装置、sdn控制器及网络
WO2015101952A1 (en) Accurate measurement of distributed counters
US9705807B2 (en) Distributed counters and meters in packet-switched system
JP2015057931A (ja) ネットワーク装置、通信システム、異常トラヒックの検出方法およびプログラム
US20130051234A1 (en) Method and apparatus for controlling transmission rate
JP2003298640A (ja) トラフィック流量の制御方法及びその装置
US20160127227A1 (en) Information processing system, method, and apparatus
JP5862811B1 (ja) 評価装置、評価方法、及びプログラム
JP5703980B2 (ja) 通信システムおよび通信装置
Ruan et al. FSQCN: Fast and simple quantized congestion notification in data center Ethernet
US11088960B2 (en) Information processing apparatus and verification system
CN111901237B (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
JP2015231137A (ja) 転送制御装置、計算機システム及び管理装置
CN106302006A (zh) 一种基于sdn的ip欺骗数据包的动态溯源方法
JP5492709B2 (ja) 帯域制御方法及び帯域制御装置
EP3758314B1 (en) Congestion control for low latency datacenter networks
WO2020245948A1 (ja) 要求通信品質推定装置、要求通信品質推定方法、及びプログラム
JP5190498B2 (ja) 中継装置、中継システム、及び中継プログラム