(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-18
(45)【発行日】2024-03-27
(54)【発明の名称】スイッチ装置
(51)【国際特許分類】
H04L 47/267 20220101AFI20240319BHJP
H04L 47/24 20220101ALI20240319BHJP
【FI】
H04L47/267
H04L47/24
(21)【出願番号】P 2019211592
(22)【出願日】2019-11-22
【審査請求日】2022-10-05
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】山田 英史
【審査官】中川 幸洋
(56)【参考文献】
【文献】特表2005-535154(JP,A)
【文献】特開2008-236308(JP,A)
【文献】特開2007-235932(JP,A)
【文献】特開2016-181070(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/267
H04L 47/24
(57)【特許請求の範囲】
【請求項1】
ファイバチャネル通信を行うスイッチ装置であって、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
前記通知部から受信した通知に基づいて、送信先装置に対して送信するデータを選択する選択部と、
を有し、
前記計算部は、前記必要優先度として、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要となる最低の優先度を示す最低優先度を計算し、
前記選択部は、前記必要優先度を満たす優先度最低のフレームを選択する
スイッチ装置。
【請求項2】
請求項1に記載のスイッチ装置であって、
前記優先度情報と、前記バッファに格納されているデータが属する優先度の割合と、に基づいて、前記必要優先度を計算する
スイッチ装置。
【請求項3】
請求項1又は請求項2に記載のスイッチ装置であって、
前記バッファは、前記送信元装置と接続された受信ポートに応じて設けられた受信バッファである
スイッチ装置。
【請求項4】
請求項3に記載のスイッチ装置であって、
複数の受信ポートを有するとともに、各受信ポートに対してそれぞれ前記受信バッファを有しており、
前記計算部は、複数の前記受信バッファごとに前記必要優先度を計算する
スイッチ装置。
【請求項5】
請求項1から請求項4までのいずれか1項に記載のスイッチ装置であって、
スイッチ装置は前記送信元装置とファイバチャネルを介して接続されるとともにLAN(Local Area Network)を介して接続されており、
前記通知部は、前記LANを介して、前記計算部による計算の結果を前記送信元装置に対して通知する
スイッチ装置。
【請求項6】
請求項1から請求項5までのいずれか1項に記載のスイッチ装置であって、
前記優先度情報に基づいて、送信先装置に対して送信するデータを格納する送信バッファを構築する構築部を有する
スイッチ装置。
【請求項7】
ファイバチャネル通信を行うスイッチ装置が、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算し、
計算の結果を送信元装置に対して通知するとともに、
受信した通知に基づいて、送信先装置に対して送信するデータを選択し、
前記必要優先度を計算する際、前記必要優先度として、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要となる最低の優先度を示す最低優先度を計算し、
データを選択する際、前記必要優先度を満たす優先度最低のフレームを選択す
る
管理方法。
【請求項8】
ファイバチャネル通信を行うスイッチ装置に、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
前記通知部から受信した通知に基づいて、送信先装置に対して送信するデータを選択する選択部と、
を実現させ、
前記計算部は、前記必要優先度として、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要となる最低の優先度を示す最低優先度を計算し、
前記選択部は、前記必要優先度を満たす優先度最低のフレームを選択する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スイッチ装置、管理方法、プログラムに関する。
【背景技術】
【0002】
データ転送方式の1つとして、高速な回線を必要とするサーバとストレージとの接続などに利用されるファイバチャネルが知られている。
【0003】
ファイバチャネルについて記載された文献として、例えば、特許文献1がある。特許文献1には、ファイバチャネルによって接続された2以上の末端装置と、末端装置間に設置されたスイッチ装置と、を備えるファイバチャネル通信システムが記載されている。特許文献1によると、スイッチ装置は、情報取得部と、フレーム取得部と、フレーム送信部と、を備える。例えば、情報取得部は、スイッチ装置を経由していずれかの末端装置に送信されるフレームのうち、設定条件を満たすフレームから、送信元を特定する送信元情報を取得する。また、フレーム取得部は、設定条件を満たしているフレームが送信先の末端装置に正常に受信されていない場合に、送信元情報に基づいて、設定条件を満たすフレームを送信元の末端装置から取得する。そして、フレーム送信部は、取得したフレームを、フレームが正常に受信されていない末端装置に送信する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のようなファイバチャネル通信を行うスイッチ装置を使用して、転送確認を要求せずにデータを転送するクラス3の伝送を行う場合、隣接する送信先装置のバッファが空き次第、送信元装置が予め定められた優先度に従ってフレームを送信する。その結果、例えば、スイッチ多段接続環境などにおいて、優先度が高いフレームしか流れない、という現象が発生する。
【0006】
例えば、
図1で示すように、優先度A、優先度B、優先度Cの順番で優先度が定められているとする。この場合、
図1で示すように、優先度に従って受信バッファに格納された各フレームから送信バッファを構築すると、最も高い優先度である優先度Aに属するフレームにより送信バッファ占拠されてしまう。その結果、優先度Aに属するフレームのみがスイッチ装置から送信されることになる。また、
図1で示すスイッチ装置にフレームを送信する送信元スイッチ装置においても、同様のことが生じる。その結果、
図1で示すスイッチ装置は、送信元スイッチ装置から優先度Aに属するフレームばかりを受信することになる。
【0007】
例えば、以上のように、クラス3のファイバチャネルにおいて、優先度の高い通信が集中してしまうおそれがある、という課題が生じていた。
【0008】
そこで、本発明の目的は、クラス3のファイバチャネルにおいて、優先度の高い通信が集中してしまうおそれがある、という課題を解決するスイッチ装置、管理方法、プログラムを提供することにある。
【課題を解決するための手段】
【0009】
かかる目的を達成するため本発明の一形態であるスイッチ装置は、
ファイバチャネル通信を行うスイッチ装置であって、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
を有する
という構成をとる。
【0010】
また、本発明の他の形態である管理方法は、
ファイバチャネル通信を行うスイッチ装置が、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算し、
計算の結果を送信元装置に対して通知する
という構成をとる。
【0011】
また、本発明の他の形態であるプログラムは、
ファイバチャネル通信を行うスイッチ装置に、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
を実現するためのプログラムである。
【発明の効果】
【0012】
本発明は、以上のように構成されることにより、クラス3のファイバチャネルにおいて、優先度の高い通信が集中してしまうおそれがある、という課題を解決するスイッチ装置、管理方法、プログラムを提供することが可能となる。
【図面の簡単な説明】
【0013】
【
図2】本発明の第1の実施形態におけるファイバチャネル通信システムの全体の構成の一例を説明するための図である。
【
図3】
図2で示すスイッチ装置の構成の一例を示すブロック図である。
【
図4】スイッチ装置の処理の一例を説明するための図である。
【
図5】
図3で示す送信バッファ構築部の処理の一例を説明するための図である。
【
図6】
図3で示す最低優先度計算部と最低優先度通知部の処理の一例を説明するための図である。
【
図7】
図3で示す送信フレーム選択部の処理の一例を説明するための図である。
【
図8】
図3で示すフレーム送受信部の処理の一例を説明するための図である。
【
図9】ファイバチャネル通信システムにおけるスイッチ装置の動作の一例を示すシーケンス図である。
【
図10】フレーム選択処理の流れの一例を示すフローチャートである。
【
図11】送信バッファ構築方法の一例を説明するための図である。
【
図12】送信バッファ構築方法の他の一例を説明するための図である。
【
図13】本発明の第2の実施形態におけるスイッチ装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0014】
[第1の実施形態]
本発明の第1の実施形態を
図2から
図12までを参照して説明する。
図2は、ファイバチャネル通信システム10の全体の構成の一例を説明するための図である。
図3は、スイッチ装置20の構成の一例を示すブロック図である。
図4から
図8までは、スイッチ装置20の処理の一例を説明するための図である。
図9は、ファイバチャネル通信システム10におけるスイッチ装置20の動作の一例を示すシーケンス図である。
図10は、フレーム選択処理の流れの一例を示すフローチャートである。
図11、
図12は、送信バッファ構築方法の一例を説明するための図である。
【0015】
本発明の第1の実施形態においては、転送確認を要求せずにデータを転送するクラス3のファイバチャネル(FC:Fibre Channel)通信を行うファイバチャネル通信システム10について説明する。後述するように、本実施形態におけるスイッチ装置20では、送信元となるスイッチ装置20などの送信元装置に対して、予め定められた優先度情報を満たすために必要となる最低優先度を示す情報を通知する。また、最低優先度を示す情報を受信した送信元装置では、受信した最低優先度に応じて送信するフレームを選択する。例えば、このような構成により、ファイバチャネル通信システム10は、優先度の高い通信が集中してしまう事態を抑制する。
【0016】
図2は、ファイバチャネル通信システム10の構成の一例を示している。
図2を参照すると、ファイバチャネル通信システム10は、スイッチ装置20(スイッチ装置20-1、スイッチ装置20-2。特に区別しない場合は、スイッチ装置20と表記する)を有している。
図2で示すように、スイッチ装置20-1とスイッチ装置20-2とは、ファイバチャネル30を介して互いに通信可能なよう接続されている。また、スイッチ装置20-1とスイッチ装置20-2とは、LAN(Local Area Network)40を介して互いに通信可能なよう接続されている。
【0017】
なお、本実施形態においては、スイッチ装置20-2に対してフレームを送信する装置や、スイッチ装置20-1がフレームを送信する装置については、特に限定しない。スイッチ装置20-2にフレームを送信する装置やスイッチ装置20-1がフレームを送信する装置は、例えば、ストレージ装置、サーバ装置、スイッチ装置20など他のスイッチ装置、などの各種装置であって構わない。
【0018】
スイッチ装置20は、ファイバチャネル30を介したフレームの転送を行う。
図3は、スイッチ装置20の構成の一例を示している。
図3を参照すると、スイッチ装置20は、例えば、受信バッファ21と、送信バッファ22と、優先度情報保存部23と、送信バッファ構築部24と、最低優先度計算部25と、最低優先度通知部26と、送信フレーム選択部27と、フレーム送受信部28と、を有している。
【0019】
例えば、スイッチ装置20は、CPU(Central Processing Unit)などの演算装置と、記憶装置と、を有している。例えば、スイッチ装置20は、記憶装置に格納されたプログラムを演算装置が実行することで、上述した各構成のうちの処理を行う各処理部を実現する。なお、上述したスイッチ装置20が有する処理部は、論理回路などのハードウェアにより実現されても構わない。
【0020】
受信バッファ21は、送信元装置から受信したフレームを格納する一時記憶装置である。受信バッファ21は、例えば、受信ポートごとに設けられている。
【0021】
例えば、
図4を参照すると、スイッチ装置20-1は、送信元装置となるスイッチ装置20-2と接続される受信ポートに応じた受信バッファ21を有している。また、スイッチ装置20-1は、その他の送信元装置と接続される受信ポートに応じた受信バッファ21を有している。例えば、
図4で示す場合、スイッチ装置20-1は、3つの受信ポートに応じた3つの受信バッファ21を有している。例えば、以上のように、スイッチ装置20は、複数の受信ポートに応じた複数の受信バッファ21を有している。
【0022】
送信バッファ22は、送信先装置に対して送信するフレームを格納する一時記憶装置である。送信バッファ22は、送信先ごとに設けられていて構わない。
【0023】
優先度情報保存部23は、受信バッファ21や送信バッファ22を構築する際に用いる優先度を示す優先度情報を格納する記憶装置である。本実施形態の場合、優先度情報保存部23には、例えば、優先順を示す情報と、受信バッファ21や送信バッファ22におけるフレームの構築割合を示す情報と、を含む優先度情報が格納されている。
【0024】
例えば、
図4で示す場合、優先度情報は、優先度A、優先度B、優先度Cの順番で優先度が高いことを示す情報を含んでいる。つまり、優先度情報は、優先度Aに属するフレームの優先度がもっとも高く、次点が優先度Bに属するフレームであり、優先度Cに属するフレームの優先度が最も低いことを示している。また、優先度情報は、優先度Aに属するフレームの数:優先度Bに属するフレームの数:優先度Cに属するフレームの数が2:1:1となるように(以下、「優先度A:優先度B:優先度C=2:1:1」と表記する)、受信バッファ21や送信バッファ22を構築する旨を示す情報を含んでいる。
【0025】
例えば、以上のように、本実施形態における優先度情報保存部23に格納される優先度情報には、優先順を示す情報の他に、受信バッファ21や送信バッファ22におけるフレームの構築割合を示す情報が含まれている。
【0026】
送信バッファ構築部24、最低優先度計算部25、最低優先度通知部26、送信フレーム選択部27、フレーム送受信部28は、所定の処理を行う処理部として機能する。以下、
図4から
図8までを参照して、送信バッファ構築部24、最低優先度計算部25、最低優先度通知部26、送信フレーム選択部27、フレーム送受信部28、の各処理部が行う処理の一例について説明する。
【0027】
図4は、上述した各処理部による処理前の状況の一例を示している。例えば、
図4で示す場合、スイッチ装置20-1は、3つの受信バッファ21を有している。例えば、
図4のうち上の受信バッファ21には、優先度Aに属するフレームが4つ格納されている。また、
図4のうち真ん中の受信バッファ21には、優先度Aに属するフレーム、優先度Aに属するフレーム、優先度Bに属するフレーム、優先度Cに属するフレームが格納されている。同様に、
図4のうち下の受信バッファ21には、優先度Aに属するフレーム、優先度Aに属するフレーム、優先度Cに属するフレーム、優先度Bに属するフレームが格納されている。また、スイッチ装置20-1は、フレームが格納されていない空の送信バッファ22を有している。また、
図4で示す場合、スイッチ装置20-2は、優先度Aに属するフレーム、優先度Bに属するフレーム、優先度Cに属するフレーム、優先度Bに属するフレームが格納された送信バッファ22を有している。
【0028】
なお、
図4から
図8までの場合、各バッファにおいて図の右側に位置するフレームほど先に到着したフレームであることを示している。例えば、スイッチ装置20-1における真ん中の受信バッファ21に格納されている各フレームは、優先度Aに属するフレーム、優先度Aに属するフレーム、優先度Bに属するフレーム、優先度Cに属するフレーム、の順番でスイッチ装置20-1に到着している。
【0029】
図5は、送信バッファ構築部24における処理の一例を説明するための図である。
図5を参照すると、送信バッファ構築部24は、優先度情報に従って、優先度情報が示す割合になるように、送信バッファ22を構築する。つまり、送信バッファ構築部24は、送信バッファ22に含まれるフレームが属する優先度の割合が、優先度情報が示す割合となるように、各受信バッファ21から送信バッファ22に対してフレームを移動する。
【0030】
送信バッファ構築部24は、送信バッファ22に含まれるフレームが属する優先度の割合が、優先度情報が示す割合「A:B:C=2:1:1」となるように、各受信バッファ21から送信バッファ22に対してフレームを移動させる。例えば、送信バッファ構築部24は、
図5のうち上の受信バッファ21から送信バッファ22に対して、優先度Aに属するフレームを移動させる。つまり、送信バッファ構築部24は、
図5のうち上の受信バッファ21から送信バッファ22に対して、優先度Aに属するフレームをコピーするとともに、コピー元のフレームを削除する。また、送信バッファ構築部24は、真ん中の受信バッファ21から送信バッファ22に対して、優先度Aに属するフレームと優先度Bに属するフレームを移動させる。同様に、送信バッファ構築部24は、下の受信バッファ21から送信バッファ22に対して、優先度Cに属するフレームを移動させる。上記処理の結果、送信バッファ22には、優先度Aに属するフレーム、優先度Aに属するフレーム、優先度Bに属するフレーム、優先度Cに属するフレームが格納される。つまり、送信バッファ22に格納される優先度の割合が「A:B:C=2:1:1」となる。例えば、以上のように、送信バッファ構築部24は、優先度情報が示す割合になるように、優先度情報に基づく送信バッファ22の構築を行う。
【0031】
図6は、最低優先度計算部25と最低優先度通知部26における処理の一例を説明するための図である。
図6を参照すると、最低優先度計算部25は、受信バッファ21ごとに(つまり、受信ポートごとに)、受信バッファ21に格納されているフレームが属する優先度の割合が、優先度情報が示す割合となるために必要となる必要優先度を計算・特定する。例えば、最低優先度計算部25は、必要優先度として、必要な優先度のうちの最低の優先度を示す最低優先度を計算・特定する。つまり、最低優先度計算部25は、受信バッファ21の状況と、優先度情報が示す割合と、に基づいて最低優先度を計算・特定する。また、最低優先度通知部26は、最低優先度計算部25による計算・特定の結果に応じた情報を、スイッチ装置20などの送信元装置に対して通知する。
【0032】
例えば、
図5を参照して説明した処理により、スイッチ装置20-1が有する各受信バッファ21からは、送信バッファ22に移動させたフレームが削除されている。そこで、最低優先度計算部25は、受信バッファ21に格納されているフレームが属する優先度と、優先度情報が示す割合と、に基づいて、優先度情報が示す割合に受信バッファ21の状況ができるだけ合致するために必要となる最低優先度を計算する。例えば、
図6で示す場合、上の受信バッファ21には、優先度Aに属するフレームが3つ格納されている。つまり、「A:B:C=2:1:1」の割合となるためには、優先度Bのフレームと優先度Cのフレームが足りていない。そこで、最低優先度計算部25は、必要な優先度のうちより低い優先度である優先度Cを示す情報を、最低優先度を示す情報として特定する。また、例えば、
図6で示す真ん中の受信バッファ21の場合、優先度情報が示す割合となるには、優先度Aのフレームと優先度Bのフレームが足りていない。そこで、最低優先度計算部25は、より低い優先度である優先度Bを示す情報を、最低優先度を示す情報として特定する。同様に、
図6で示す下の受信バッファ21の場合、優先度情報が示す割合となるには、優先度Cに属するフレームが足りていない。そこで、最低優先度計算部25は、優先度Cを示す情報を、最低優先度を示す情報として特定する。
【0033】
また、最低優先度通知部26は、最低優先度計算部25が受信バッファ21ごとに計算・特定した最低優先度を示す情報を、対応する送信元装置に対して送信する。例えば、
図6の真ん中の受信バッファ21は、上述したように、送信元装置となるスイッチ装置20-2と接続される受信ポートに応じたバッファである。そこで、最低優先度通知部26は、当該バッファについて計算・特定した優先度Bを示す情報を、最低優先度を示す情報として、送信元装置となるスイッチ装置20-2に対して送信する。同様に、最低優先度通知部26は、最低優先度計算部25が計算・特定した他の最低優先度を示す情報についても、それぞれ対応する送信元装置に対して送信する。
【0034】
なお、ファイバチャネル30を介しては、予め定められていない余分な情報を送信することが出来ない。そこで、最低優先度通知部26は、LAN40を介して、上述した最低優先度を示す情報の送信を各送信元装置に対して行う。
【0035】
図7は、送信フレーム選択部27における処理の一例を説明するための図である。
図7を参照すると、送信フレーム選択部27は、受信した最低優先度を示す情報に基づいて、送信先装置に対して送信するフレームを送信バッファ22の中から選択する。例えば、最低優先度を満たすフレームが送信バッファ22にある場合、送信フレーム選択部27は、最低優先度を満たす優先度最低のフレームを送信バッファ22の中から選択する。一方、最低優先度を満たすフレームが送信バッファ22にない場合、送信フレーム選択部27は、優先度順にフレームを選択する。つまり、送信フレーム選択部27は、送信バッファ22に含まれる最も優先度の高いフレームを送信するフレームとして選択する。
【0036】
例えば、
図6を参照して説明した処理により、スイッチ装置20-2は、優先度Bを示す情報を、最低優先度を示す情報としてスイッチ装置20-1から受信している。そこで、
図7で示すように、スイッチ装置20-2の送信フレーム選択部27は、受信した最低優先度を示す情報に基づいて、送信先装置に対して送信するフレームを送信バッファ22の中から選択する。
図7で示す場合、スイッチ装置20-2の送信バッファ22には、優先度Aに属するフレーム、優先度Bに属するフレームという、優先度B以上の優先度に属するフレームが含まれている。そこで、送信フレーム選択部27は、送信バッファ22に格納されたフレームのうち最低優先度を満たす優先度最低のフレームである、優先度Bに属するフレームを送信するフレームとして選択する。
【0037】
なお、例えば、スイッチ装置20-2の送信バッファ22に、優先度Cに属するフレームしか含まれていなかったとする。この場合、最低優先度を満たすフレームが送信バッファ22に存在しないことになる。このような場合、送信フレーム選択部27は、優先度順にフレームを選択することになる。つまり、送信フレーム選択部27は、送信バッファ22に含まれる最も優先度の高いフレームである優先度Cに属するフレームを送信するフレームとして選択することになる。
【0038】
図8は、フレーム送受信部28の処理の一例を説明するための図である。
図8を参照すると、フレーム送受信部28は、送信フレーム選択部27が送信するフレームを選択した場合、当該送信フレーム選択部27が選択したフレームを、ファイバチャネル30を介して送信先装置に対して送信する。また、送信元装置がフレームを送信した後、送信先装置が有するフレーム送受信部28は、送信元装置が送信したフレームを受信する。そして、フレーム送受信部28は、送信元装置と接続される受信ポートに応じた受信バッファ21に受信したフレームを格納する。
【0039】
例えば、
図7を参照して説明した処理により、スイッチ装置20-2が有する送信フレーム選択部27は、優先度Bに属するフレームを送信するフレームとして選択している。そこで、スイッチ装置20-2のフレーム送受信部28は、送信フレーム選択部27が選択した優先度Bに属するフレームを、ファイバチャネル30を介して送信先装置であるスイッチ装置20-1に対して送信する。また、フレーム送受信部28は、スイッチ装置20-1に対して送信した、優先度Bに属するフレームを、送信バッファ22から削除する。
【0040】
また、スイッチ装置20-1が有するフレーム送受信部28は、スイッチ装置20-2から優先度Bに属するフレームを受信する。そして、スイッチ装置20-1が有するフレーム送受信部28は、スイッチ装置20-2と接続される受信ポートに応じた受信バッファ21である真ん中の受信バッファ21に、受信したフレームを格納する。
【0041】
なお、
図8で示す処理の後、スイッチ装置20-2では、送信バッファ22に空きが生じる。そこで、スイッチ装置20-2では、送信バッファ構築部24による送信バッファ22の構築からの上述した一連の処理が開始される。例えば、送信バッファ構築部24、最低優先度計算部25、最低優先度通知部26、送信フレーム選択部27、フレーム送受信部28、の各処理部は、上述したような処理を繰り返す。
【0042】
以上が、スイッチ装置20の構成の一例である。続いて、
図9を参照して、ファイバチャネル通信システム10において行われる処理の一例について説明する。
【0043】
図9を参照すると、スイッチ装置20-1が有する送信バッファ構築部24は、優先度情報に従って、送信バッファ22に含まれるフレームが属する優先度の割合が、優先度情報が示す割合となるように、送信バッファ22を構築する(ステップS101)。つまり、送信バッファ構築部24は、優先度情報に応じて、受信バッファ21に格納されたフレームを送信バッファ22に移動させる。
【0044】
最低優先度計算部25は、受信バッファ21ごとに、受信バッファ21に格納されているフレームが属する優先度の割合が、優先度情報が示す割合となるために必要となる最低優先度を計算・特定する(ステップS102)。つまり、最低優先度計算部25は、受信バッファ21の状況と、優先度情報が示す割合と、に基づいて最低優先度を計算・特定する。また、最低優先度通知部26は、最低優先度計算部25による計算・特定の結果に応じた情報を、スイッチ装置20-2に対して通知する(ステップS103)。
【0045】
なお、最低優先度通知部26による通知は、LAN40を介して行われる。また、送信元装置がスイッチ装置20-2以外にもある場合、最低優先度通知部26は、スイッチ装置20-2以外の送信元装置に対しても最低優先度計算部25による計算・特定の結果に応じた情報を送信する。
【0046】
スイッチ装置20-2は、スイッチ装置20-1が有する最低優先度通知部26からの通知を受信する。
【0047】
送信フレーム選択部27は、受信した最低優先度を示す情報に基づいて、送信先装置に対して送信するフレームを送信バッファ22の中から選択する(ステップS201)。なお、ステップS201の処理の詳細は、後述する。また、スイッチ装置20-2が有するフレーム送受信部28は、スイッチ装置20-1に対して、送信フレーム選択部27が選択したフレームを送信する(ステップS202)。
【0048】
スイッチ装置20-1が有するフレーム送受信部28は、スイッチ装置20-2が有するフレーム送受信部28が送信したフレームを受信する。そして、フレーム送受信部28は、スイッチ装置20-2と接続される受信ポートに応じた受信バッファに受信したフレームを格納する。
【0049】
以上が、ファイバチャネル通信システム10において行われる処理の一例である。続いて、
図10を参照して、ステップS201の処理についてより詳細に説明する。
【0050】
図10は、
図9を参照して説明したステップS201の処理をより詳細に説明するための図である。
図10を参照すると、送信フレーム選択部27は、受信した最低優先度を示す情報に基づいて、最低優先度を満たすフレームが送信バッファ22にあるか否か確認する(ステップS301)。そして、最低優先度を満たすフレームが送信バッファ22にある場合(ステップS301、Yes)、送信フレーム選択部27は、最低優先度を満たす優先度最低のフレームを送信バッファ22の中から選択する(ステップS302)。一方、最低優先度を満たすフレームが送信バッファ22にない場合(ステップS301、No)、送信フレーム選択部27は、優先度順にフレームを選択する(ステップS303)。つまり、送信フレーム選択部27は、送信バッファ22に含まれる最も優先度の高いフレームを送信するフレームとして選択する。
【0051】
以上が、
図9におけるステップS201の処理の詳細な一例である。
【0052】
このように、スイッチ装置20は、最低優先度計算部25と、最低優先度通知部26と、を有している。また、スイッチ装置20は、送信元装置とLAN40を介して接続されている。このような構成によると、最低優先度計算部25は、受信バッファ21の状況と、優先度情報が示す割合と、に基づいて最低優先度を計算・特定することが出来る。また、最低優先度通知部26は、最低優先度計算部25による計算・特定の結果に応じた情報を、LAN40を介して、送信元装置に対して送信することが出来る。その結果、上記情報を受信した送信元装置において、受信した情報に基づくフレームの選択を行うこと可能となる。これにより、優先度の高いフレームばかりを選択することを抑制することが可能となり、優先度の高い通信が集中してしまう事態が生じることを抑制することが可能となる。また、優先度の高い通信が集中することにより、優先度の高くない通信が停止してしまうなどの事態が生じることを抑制することが可能となる。
【0053】
また、スイッチ装置20は、送信フレーム選択部27を有している。このような構成によると、送信フレーム選択部27は、受信した最低優先度を示す情報に基づいて、スイッチ装置20などの送信先装置に対して送信するフレームを選択することが出来る。その結果、優先度の高いフレームばかりを選択してしまう事態が生じることを抑制することが出来る。
【0054】
なお、送信バッファ構築部24は、例えば、各受信バッファ21から送信バッファ22に移動させるフレームを選択する際、先に到着したフレームを優先的に選択するよう構成することが出来る。
【0055】
例えば、
図11で示す場合、優先度情報は、「A:B:C=2:1:1」の割合を示している。また、送信バッファ22には、優先度Aに属するフレームと優先度Cに属するフレームとが格納されている。そのため、送信バッファ構築部24は、送信バッファ22が上記割合となるために、優先度Aに属するフレームと優先度Bに属するフレームとを受信バッファ21から送信バッファ22に移動させると判断する。ここで、
図11で示す場合において、もっとも先にスイッチ装置20に到着した優先度Aに属するフレームが
図11の上の受信バッファ21に格納されているとする。また、もっとも先にスイッチ装置20に到着した優先度Bに属するフレームが
図11の真ん中の受信バッファ21に格納されているとする。この場合、送信バッファ構築部24は、
図11の上の受信バッファ21から送信バッファ22に対して、優先度Aに属するフレームを移動させる。また、送信バッファ構築部24は、真ん中の受信バッファ21から送信バッファ22に対して、優先度Bに属するフレームを移動させる。例えば、以上のように、送信バッファ構築部24は、同じ優先度に属するフレームが複数ある場合、先に到着したフレームを優先的に選択するよう構成することが出来る。
【0056】
また、送信バッファ構築部24は、優先度や到着順以外の指標を含めて送信バッファ22を構築するよう構成しても構わない。例えば、
図12で示すように、送信バッファ構築部24は、タイムアウトを考慮の上、移動させるフレームを選択するよう構成することが出来る。例えば、送信バッファ構築部24は、同じ優先度に属するフレームが受信バッファ21に複数存在する場合、タイムアウトが早いフレームを選択するよう構成することが出来る。または、送信バッファ構築部24は、タイムアウトが予め定められた閾値以下のフレームを、受信順番を無視して選択するよう構成することが出来る。例えば、以上のように、送信バッファ構築部24は、タイムアウトを考慮の上、送信バッファ22を構築するよう構成することが出来る。
【0057】
なお、本実施形態においては、各フレームが属する優先度の確認方法については、特に限定しない。スイッチ装置20は、既知の方法を用いて、各フレームが属する優先度を確認するよう構成することが出来る。
【0058】
また、スイッチ装置20-1とスイッチ装置20-2とは、例えば、予め同一の優先度情報を優先度情報保存部23に格納しているものとする。なお、優先度情報は、例えば、最低優先度通知部26が送信元装置に対して最低優先度を示す情報を通知する際に、最低優先度を示す情報とともに送信元装置に対して通知されるよう構成しても構わない。また、最低優先度通知部26は、最低優先度の代わりに、受信バッファ21に必要な優先度を示す必要優先度を示す情報を送信元装置に対して通知するよう構成しても構わない。
【0059】
[第2の実施形態]
次に、
図13を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、スイッチ装置50の構成の概要について説明する。
【0060】
スイッチ装置は、ファイバチャネル通信を行う中継装置である。
図13は、スイッチ装置50の構成の一例を示している。
図13を参照すると、スイッチ装置50は、例えば、計算部51と、通知部52と、を有している。
【0061】
例えば、スイッチ装置50は、CPUなどの演算装置と記憶装置とを有している。例えば、スイッチ装置50は、記憶装置に格納されたプログラムを演算装置が実行することで、上記各処理部を実現する。
【0062】
計算部51は、優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、バッファに格納されるデータが属する優先度の割合が、優先度情報が示す割合となるために必要な必要優先度を計算する。
【0063】
通知部52は、計算部51による計算の結果を送信元装置に対して通知する。
【0064】
このように、スイッチ装置50は、計算部51と通知部52とを有している。このような構成によると、計算部51は、優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、必要優先度を計算することが出来る。また、通知部52は、計算部51による計算の結果を送信元装置に対して通知することが出来る。その結果、計算部51による計算の結果を受信した送信元装置において、受信した情報に基づくフレームの選択を行うこと可能となる。これにより、優先度の高いフレームばかりを選択することを抑制することが可能となり、優先度の高い通信が集中してしまう事態が生じることを抑制することが可能となる。
【0065】
また、上述したスイッチ装置50は、当該スイッチ装置50に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ファイバチャネル通信を行うスイッチ装置50に、優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、バッファに格納されるデータが属する優先度の割合が、優先度情報が示す割合となるために必要な必要優先度を計算する計算部51と、計算部51による計算の結果を送信元装置に対して通知する通知部52と、を実現するためのプログラムである。
【0066】
また、上述したスイッチ装置50により実行される管理方法は、ファイバチャネル通信を行うスイッチ装置が、優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、バッファに格納されるデータが属する優先度の割合が、優先度情報が示す割合となるために必要な必要優先度を計算し、計算の結果を送信元装置に対して通知する、という方法である。
【0067】
上述した構成を有する、プログラム、又は、管理方法、の発明であっても、上記スイッチ装置50と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【0068】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるスイッチ装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0069】
(付記1)
ファイバチャネル通信を行うスイッチ装置であって、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
を有するスイッチ装置。
(付記2)
付記1に記載のスイッチ装置であって、
前記優先度情報と、前記バッファに格納されているデータが属する優先度の割合と、に基づいて、前記必要優先度を計算する
スイッチ装置。
(付記3)
付記1または付記2に記載のスイッチ装置であって、
前記計算部は、前記必要優先度として、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要となる最低の優先度を示す最低優先度を計算する
スイッチ装置。
(付記4)
付記1から付記3までのいずれか1項に記載のスイッチ装置であって、
前記バッファは、前記送信元装置と接続された受信ポートに応じて設けられた受信バッファである
スイッチ装置。
(付記5)
付記4に記載のスイッチ装置であって、
複数の受信ポート毎に前記受信バッファを有しており、
前記計算部は、複数の前記受信バッファごとに前記必要優先度を計算する
スイッチ装置。
(付記6)
付記1から付記5までのいずれか1項に記載のスイッチ装置であって、
スイッチ装置は前記送信元装置とファイバチャネルを介して接続されるとともにLAN(Local Area Network)を介して接続されており、
前記通知部は、前記LANを介して、前記計算部による計算の結果を前記送信元装置に対して通知する
スイッチ装置。
(付記7)
付記1から付記6までのいずれか1項に記載のスイッチ装置であって、
前記通知部から受信した通知に基づいて、送信先装置に対して送信するデータを選択する選択部を有する
スイッチ装置。
(付記8)
付記7に記載のスイッチ装置であって、
前記選択部は、前記必要優先度を満たす優先度最低のフレームを選択する
スイッチ装置。
(付記9)
付記1から付記8までのいずれか1項に記載のスイッチ装置であって、
前記優先度情報に基づいて、送信先装置に対して送信するデータを格納する送信バッファを構築する構築部を有する
スイッチ装置。
(付記10)
ファイバチャネル通信を行うスイッチ装置が、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算し、
計算の結果を送信元装置に対して通知する
管理方法。
(付記11)
ファイバチャネル通信を行うスイッチ装置に、
優先度の割合を示す優先度情報と、バッファに格納されているデータの状況と、に基づいて、前記バッファに格納されるデータが属する優先度の割合が、前記優先度情報が示す割合となるために必要な必要優先度を計算する計算部と、
前記計算部による計算の結果を送信元装置に対して通知する通知部と、
を実現するためのプログラム。
【0070】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0071】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0072】
10 ファイバチャネル通信システム
20 スイッチ装置
21 受信バッファ
22 送信バッファ
23 優先度情報保存部
24 送信バッファ構築部
25 最低優先度計算部
26 最低優先度通知部
27 送信フレーム選択部
28 フレーム送受信部
30 ファイバチャネル
40 LAN
50 スイッチ装置
51 計算部
52 通知部