JP2014027339A - 情報処理システム、情報処理方法、情報処理装置及び中継装置。 - Google Patents
情報処理システム、情報処理方法、情報処理装置及び中継装置。 Download PDFInfo
- Publication number
- JP2014027339A JP2014027339A JP2012163679A JP2012163679A JP2014027339A JP 2014027339 A JP2014027339 A JP 2014027339A JP 2012163679 A JP2012163679 A JP 2012163679A JP 2012163679 A JP2012163679 A JP 2012163679A JP 2014027339 A JP2014027339 A JP 2014027339A
- Authority
- JP
- Japan
- Prior art keywords
- address
- route
- packet
- information
- link
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
Abstract
【課題】 ネットワークに輻輳が発生しても、データを転送するための経路がアドレスに基づく演算によって固定されると、輻輳が継続してしまう。
【解決手段】 パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータとにより、輻輳が発生した経路を迂回する。
【選択図】 図2
【解決手段】 パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータとにより、輻輳が発生した経路を迂回する。
【選択図】 図2
Description
本発明は、情報処理システム、情報処理方法、情報処理装置及び中継装置に関する。
データセンタ内のサーバ間を接続するレイヤ2(以下、L2とする)ネットワークに適用されるSTP(Spanning Tree Protocol)は、ネットワーク内の中継装置にブロッキングポートを設定することで、L2ネットワーク内にループが形成されることを回避させる技術である。しかし、ブロッキングポートが設定されることによってネットワーク内の経路の一部の利用が制限されるため、ネットワーク帯域が有効利用されない。
近年のデータセンタネットワークのトラフィックの増大に伴い、ネットワーク帯域を有効利用するために、L2ネットワークに適用されるマルチパス技術の国際標準化が進められている。このマルチパス技術の一つとして、サーバ間を接続するためのL2ネットワーク内のループ回避を考慮したTRILL(TRansparent Interconnection of Lots of Links)が検討されている。
図1にTRILLが適用された情報処理システムの例を示す。情報処理システムの例には、6つのルーティングブリッジ(以下、RBとする)を含むネットワーク、及びネットワークに接続された4つのサーバ(以下、SVとする)が含まれる。6つのRBのうちでネットワークに対する外部装置(例えばSV)と接続するRBがエッジルーティングブリッジ(以下、エッジRBとする)とよばれることがある。RB間の接続がリンクとされ、6つのRBが互いに接続されることでネットワーク内に複数のリンクが形成される。リンクにはリンクコストとよばれるパラメータが設定される。エッジRB間の接続が経路とよばれ、経路に含まれるリンクに設定されたリンクコストの合計値が総リンクコストとして設定される。SV間の転送に選択可能な経路が複数ある場合に、総リンクコストの最も小さい経路が選択される。総リンクコストが最も小さい経路が複数ある場合には、複数の経路が選択され始めてから、複数の経路が同じ割合となるように選択されることで、ネットワークの負荷が分散される。
なお、総リンクコストが最も小さい経路が複数ある場合に、パケットに含まれるアドレスに基づいたハッシュ演算によって経路を選択する方法が知られている。
"BCEFE in a Nutshell Study Guide for Exam 150-620"、[online]、Revision 0312、ブロケード コミュニケーションズ システムズ株式会社、[平成24年6月15日検索]、インターネット<URL:http://www.brocade.com/downloads/documents/certification_study_tools/bcefe-nutshell.pdf>
パケット内のアドレスに従って経路が割り当てられていると、ネットワークに輻輳が発生した場合でも、輻輳が発生している経路を介して通信をしている当該アドレスの通信には、輻輳が発生している経路が割り当て続けられることとなり、輻輳が回復されない。
本願は、パケット内のアドレスに基づく演算により経路が選択されるネットワークに輻輳が起きると、宛先が変更されないようにパケット内のアドレスが変更されることで、経路を選択するための演算のアルゴリズムを変更することなく輻輳が発生した経路を迂回させて、輻輳を回復させる情報処理システムを提供することを目的とする。
パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータとを有する情報処理システム。
本開示の一側面によれば、パケット内のアドレスに基づく演算により経路が選択されるネットワークに輻輳が起きると、宛先が変更されないようにパケット内のアドレスが変更されることで、経路を選択するための演算のアルゴリズムを変更することなく輻輳が発生した経路を迂回させて、輻輳を回復させることができる。
図2に、実施例が適用された情報処理システムが示される。情報処理システムは、ネットワーク1000、サーバ100−108(以下、サーバをSVと表す)、及びルーティングブリッジ1−7(以下、ルーティングブリッジをRBと表す)を含む。RB1−7はネットワーク1000に含まれる。
SV100は、SV101−108、及びRB1−7に接続される。SV100は、情報処理システムを管理する管理サーバである。
SV101において、仮想マシン11及び仮想スイッチ21が実行される(以下、仮想マシンをVM、仮想スイッチをvSWと表す)。VM11はvSW21を介してRB4にデータを転送する。SV102−108は、図2に示されるようにRB4−7に接続される。SV102−108で実行されるVM12−18はvSW22−28を介して、接続されているRB4−7にデータを転送する。なお、ひとつのSVで実行されるVMが複数であってもよい。
RB1−7は、SV101−108間のデータ転送の経路をスイッチングして切り替える中継装置である。RB1−3がEOR(End of Row)スイッチであり、RB4−7がTOR(Top of Rack)スイッチである。RB1−7は、図2のネットワーク1000内に示される関係で互いに接続されている。なお、RB1−7の接続関係に、図2に示される以外の他の接続関係を適用してもよい。
RB間の接続がリンクとよばれ、リンクにはリンクIDが付与される。リンクには、リンクコストとよばれるパラメータが設定される。
RB1―7のうち、ネットワーク1000に対する外部装置(例えばSV101−108)に接続されるRBがエッジルーティングブリッジとよばれることがある(以下、エッジルーティングブリッジをエッジRBと表す)。ネットワーク1000において、RB4−7がエッジRBである。エッジRB間の接続が経路とよばれ、経路IDが付与される。経路は複数のリンクを含むことがあり、経路に含まれる全てのリンクのリンクコストの合計値が総リンクコストとよばれるパラメータとして経路に設定される。RB1―7の各々が互いに接続されることによりSV101−108間に複数の経路が形成される。複数の経路のうちで何れの経路がSV101−108間のデータ転送の経路として選択されるかは、経路に設定された総リンクコストの値を比較することによって決定される。例えば、総リンクコストの値が小さい経路が、データ転送の経路として選択される。
図3に、実施例が適用されたルーティングブリッジのハードウェア構成が示される。RB1−7の各々は、CPU300、メモリ301、記憶装置302、送受信インターフェース(データ通信用)303、送受信インターフェース(管理用)304及びそれらが接続されたバス305を有する中継装置である。CPU300は、処理を実行するための1以上のプロセッサを含んでいる。メモリ301は例えば、RAMである。記憶装置302は例えば、ROMやフラッシュメモリ等の不揮発性メモリ、又はHDD(HardDisk Drive)等の磁気ディスク装置である。送受信インターフェース(データ通信用)303は、外部装置に対してデータの送受信をするためのインターフェースである。送受信インターフェース(管理用)304は、管理用のデータを送受信するためのインターフェースである。メモリ301に、RB1−7の動作を制御するための処理が記述されたプログラム、及び図10に示される処理が記述されたプログラムが格納される。CPU300によってメモリ301に格納されたプログラムが実行されることにより、RB1−7は図4、9及び11に示される各機能ブロックとして機能する。
図4に、実施例が適用されたルーティングブリッジの機能ブロックが示される。RB1−7は、メモリ301に格納されたプログラムがCPU300によって実行されることにより、リンク情報通信部310及びコスト情報生成部311として機能する。
RB1−7は、少なくとも自装置に接続されているリンクのリンクID及びリンクコストをメモリ301に予め格納しているとする。なお、リンクID及びリンクコストはRB1−7の外部にあるSV100から設定してもよい。リンクIDにはリンク両端のRBのIDが対応付けられているとする。RB4−7は、データ転送のログ情報や自装置に接続されているSV及びVMを検出することによって、自装置がエッジRBであること及び接続されているSV及びVMを判定しているとする。
RB1−7のリンク情報通信部310はメモリ301に予め格納されているリンクID、リンク両端のRBのID及びリンクコストを含むリンク情報を、他のRBにブロードキャストする。リンク情報通信部310は、他のRBからブロードキャストされたリンクID、リンク両端のRBのID及びリンクコストを含むリンク情報を取得し、取得したリンク情報をメモリ301に格納する。以上に説明したリンク情報通信部310の処理によって、RB1−7の各々は、自装置に直接接続されないリンクのリンクID、リンク両端のRBのID及びリンクコストを含むリンク情報を取得する。なお、リンクIDが重複する場合にはRB1−7のうちで代表となるRBが決められて、代表となるRBが調停することによってリンクIDが一意に決められてもよい。
エッジRB4−7のリンク情報通信部310は、自装置がエッジRBであること及び接続されているSV及びVMに関する情報を他のRBにブロードキャストする。リンク情報通信部310は、他のRBからブロードキャストされたエッジRBに関する情報を取得することにより、ネットワーク1000内のエッジRBを判定する。
例えば、図2に示されるRB1はRB4と接続されており、RB1及びRB4を両端とするリンクのリンクIDをLK1とする。また、RB1はRB5とリンクLK2により接続され、RB1はRB6とリンクLK3により接続され、RB1はRB7とLK4により接続されているとする。RB1は、リンクLK1、リンクLK2、リンクLK3及びリンクLK4と接続されているため、リンクLK1、リンクLK2、リンクLK3及びリンクLK4に関するリンク両端のRBのID及びリンクコストがメモリ301に予め格納されている。RB1がRB4−7に対して、リンクLK1、リンクLK2、リンクLK3及びリンクLK4のリンクID、リンク両端のRBのID及びリンクコストをブロードキャストすることによって、例えば、RB5はリンクLK1、リンクLK3及びリンクLK4のリンクID、リンク両端のRBのID及びリンクコストを取得して自装置のメモリ301に格納する。
RB1−7は、転送されるパケットに含まれるVMの組み合わせ(送信元VMのMACアドレス(Media Access Control Address)および宛先VMのMACアドレスの組み合わせ)に基づいて転送データをフローとして特定し、フローに割り当てられた経路をフローに対応付けてメモリ301にフォワーディング情報として格納する。
RB1−7のコスト情報生成部311は、メモリ301に予め格納されたリンクID、リンク両端のRBのID及びリンクコストと、他のRBから取得したリンクID、リンク両端のRBのID及びリンクコストと、フォワーディング情報とに基づいて、ネットワーク1000に含まれるリンクのリンクID、リンク両端のRBのID及びリンクコストとの対応付けをコスト情報の一部としてメモリ301に格納する。RB1−7のコスト情報生成部311は、リンク両端のRBのID、及びエッジRBに基づいて、ネットワーク1000に含まれる経路IDと総リンクコストの対応付けをコスト情報の一部としてメモリ301に格納する。以上に説明したコスト情報生成部311の処理によって、RB1−7は、後述する図5及び6に示されるコスト情報をメモリ301に格納する。
図5に、実施例が適用されたネットワークのコスト情報の一部が示される。RB間のリンクを識別するリンクIDであるリンクLK1−LK12が、リンク両端のRB毎に対応付けられる。例えば、RB1及びRB4を両端とするリンクに、リンクIDとしてLK1が割り当てられる。
リンクIDに対応付けて設定されるリンクコストは、リンクの論理的な距離を示すパラメータ値である。リンクの論理的な距離が短いほど、データ転送の効率がよいと判定される。例えば、リンクコストの値が他のリンクに設定されたリンクコストの値よりも小さいリンクはデータ転送の効率がよいと判定されて、データを転送するリンクとして選択される。なお、図5には、リンクLK1−LK12の帯域が10Gbpsであるとして、リンクLK1−LK12のリンクコストが全て同じ100である場合が示される。このように、リンクコストを決める場合に、対象とするリンクの帯域が全て同じであれば同じリンクコストを設定してもよい。対象とするリンクの帯域が異なっていたとしても、リンクを同じ割合で選択したい場合には、対象となるリンクに対して同じリンクコストを設定すればよい。なお、実施例はリンクLK1−LK12の帯域が10Gbpsの場合に限られない。
図6に、実施例が適用されたネットワークのコスト情報の他の一部が示される。エッジRB間の経路を識別する経路IDであるP1−P9が、経路に含まれる全てのリンクのリンクIDと対応付けられる。例えば、リンクLK1及びリンクLK2を含む経路に、経路IDとしてP1が割り当てられる。図5を参照すると、リンクLK1に設定されたリンクコストが100であり、リンクLK2に設定されたリンクコストが100である。従って、経路P1に含まれる全てのリンクのリンクコストの合計値が200となり、経路P1の総リンクコストが200に設定される。
図6に示される経路IDに対応付けて設定される総リンクコストは、経路の論理的な距離を示すパラメータ値である。経路の論理的な距離が短いほど、データ転送の効率がよいと判定される。例えば、経路IDに対応付けて設定される総リンクコストの組み合わせにおいて、総リンクコストの値が他の経路の総リンクコストの値よりも小さい経路はデータ転送の効率がよいと判定されて、データを転送する経路として選択される。図6には、ネットワーク1000内に含まれる経路の一部である経路P1−P10の総リンクコストの組み合わせが代表して示され、経路P1−P10の総リンクコストが同じ200である例が示される。なお、他の経路については冗長になるため省略するが、同様に、総リンクコストが200であるとする。
最小となる総リンクコストが設定された経路が複数ある場合には、後述するが、それらの経路が同じ割合で選択されるアルゴリズムが適用される。例えば、ラウンドロビン方式を適用して、選択された回数が最も少ない経路が選択されるようにしてもよい。ここでは、最小となる総リンクコストが設定された経路が複数ある場合に、送信元VMのMACアドレス及び宛先VMのMACアドレスを変数としたハッシュ演算によって何れかの経路が選択されるとする。なお、データの転送がパケット単位で行われるため、ラウンドロビン方式を適用した場合に経路の選択がパケット毎に行われてしまい、パケット毎に異なった経路が選択される。従って、ラウンドロビン方式を適用した場合にはパケットの順序が入れ替わる可能性がある。一方で、ハッシュ演算を適用した場合には、異なるパケットでもパケットに含まれる送信元VMのMACアドレス及び宛先VMのMACアドレスが同じであれば同じ経路が選択されるため、基本的にはパケットの順序が入れ替わらない。従って、経路の選択にハッシュ演算を用いた場合には、ネットワークの負荷が分散され、かつパケットの順序が保たれる。
なお、図5及び6では、エッジRB4−7を両端とする経路の一部についてコスト情報を示したが、実施例はこれに限定されない。ネットワーク1000にある他の選択可能な経路についてコスト情報を生成してもよい。また、RB1−7がコスト情報を生成するのではなく、RB1−7のうちで代表となるRBのコスト情報生成部311が他のRBからリンク情報を取得することによってコスト情報を作成し、他のRBにブロードキャストしてもよい。
図7に、実施例が適用されたルーティングブリッジが有する経路テーブルが示される。例えば、宛先MACアドレスが“00−90−27−BB−86−E2”のパケットを受け取ると、選択可能な経路の総リンクコストを参照し、複数の経路が選択可能だと判定される。経路テーブルでは、判定された複数の経路に対応する出力インターフェースが“0”及び“1”で識別され、何れかの出力インターフェースにパケットを出力可能であると判定される。上述したように、選択可能な経路が複数ある場合には、MACアドレスに基づくハッシュ演算が適用されることで経路が決定され、“0”及び“1”の何れか一方の出力インターフェースが選択されてパケットが送信される。
図8に、実施例が適用された情報処理システムで処理されるパケットの例が示される。
図8Aに実施例が適用された情報処理システムで処理されるパケットの第1構成例が示され、図8Bに実施例が適用された情報処理システムで処理されるパケットの第2構成例が示される。SV101−108はデータを送信する場合に、図8Aに示されるように、ペイロード、送信元VMのMACアドレス、及び宛先VMのMACアドレスを少なくとも含むパケットを送信する。RB1−7は、図8Aに示されたパケットを受信すると、宛先VMが接続されているエッジRBを、送信元VMのMACアドレス及び宛先VMのMACアドレスと、メモリ301に格納されたコスト情報及びフォワーディング情報とに基づいて特定する。宛先VMが接続されているエッジRBが特定されると、送信元VMに接続するRBのID及び宛先VMに接続するRBのIDを図8Aに示されるパケットに付加する。さらに、後述する処理によりデータ転送の経路を選択すると、自装置のMACアドレスを送信元RBのMACアドレスとし、データ転送の経路において次の宛先となるRBのMACアドレスを宛先RBのMACアドレスとして図8Aに示されるデータに付加する。以上に説明した処理により、RB1−7は、受信したパケットを図8Bに示されるパケットとしてカプセル化して、次の宛先となるRBに転送する。RB間のデータ転送は、後述するデータ転送の経路選択に従って、図8Bに示される送信元RBのMACアドレス及び宛先RBのMACアドレスを書き変えながら実行される。宛先VMに接続されたRBがデータを受信すると、次の宛先となる転送先が宛先VMであるため、図8Bに示されるパケットのカプセル化を解除して、図8Aに示されるパケットの構成に変換してから宛先VMに転送する。なお、SV101−108及びRB1−7が、宛先のMACアドレスを予め格納していない場合には、ARP(Address Resolution Protocol)を用いて、宛先のMACアドレスを取得すればよい。
図8Aに実施例が適用された情報処理システムで処理されるパケットの第1構成例が示され、図8Bに実施例が適用された情報処理システムで処理されるパケットの第2構成例が示される。SV101−108はデータを送信する場合に、図8Aに示されるように、ペイロード、送信元VMのMACアドレス、及び宛先VMのMACアドレスを少なくとも含むパケットを送信する。RB1−7は、図8Aに示されたパケットを受信すると、宛先VMが接続されているエッジRBを、送信元VMのMACアドレス及び宛先VMのMACアドレスと、メモリ301に格納されたコスト情報及びフォワーディング情報とに基づいて特定する。宛先VMが接続されているエッジRBが特定されると、送信元VMに接続するRBのID及び宛先VMに接続するRBのIDを図8Aに示されるパケットに付加する。さらに、後述する処理によりデータ転送の経路を選択すると、自装置のMACアドレスを送信元RBのMACアドレスとし、データ転送の経路において次の宛先となるRBのMACアドレスを宛先RBのMACアドレスとして図8Aに示されるデータに付加する。以上に説明した処理により、RB1−7は、受信したパケットを図8Bに示されるパケットとしてカプセル化して、次の宛先となるRBに転送する。RB間のデータ転送は、後述するデータ転送の経路選択に従って、図8Bに示される送信元RBのMACアドレス及び宛先RBのMACアドレスを書き変えながら実行される。宛先VMに接続されたRBがデータを受信すると、次の宛先となる転送先が宛先VMであるため、図8Bに示されるパケットのカプセル化を解除して、図8Aに示されるパケットの構成に変換してから宛先VMに転送する。なお、SV101−108及びRB1−7が、宛先のMACアドレスを予め格納していない場合には、ARP(Address Resolution Protocol)を用いて、宛先のMACアドレスを取得すればよい。
図9に、実施例が適用されたルーティングブリッジの他の機能ブロックが示される。RB1−7の各々は、メモリ301に格納されたプログラムがCPU300によって実行されることにより、経路選択部312、及びパケット生成部313として機能する。各機能ブロックにより実行される処理を、図10に示される処理に対応させて後述する。
図10に、実施例が適用されたルーティングブリッジで実行される処理が示される。RB1−7において、メモリ301に格納されたプログラムにある処理がCPU300によって実行されることにより、図10に示された各処理を実行される。
図5及び6に示されるコスト情報を作成(更新)する処理320が、コスト情報生成部311によって実行される。コスト情報を作成する処理の例は上述したとおりである。受信データがあるか否かを判定する処理321が、RB1−7によって実行される。受信データがない場合には、処理329に移る。受信データがある場合には、処理322に移る。
受信したパケットに含まれる宛先VMのMACアドレスを判定する処理322が、経路選択部312によって実行される。判定された宛先VMのMACアドレスに基づいて経路(出力インターフェース)を選択する処理323が、経路選択部312によって実行される。図7に示される経路テーブルにおいて、判定された宛先VMのMACアドレスがすでに出力インターフェースに対応付けられていれば、対応付けに従って経路(出力インターフェース)が選択される。図7に示される経路テーブルにおいて、判定された宛先VMのMACアドレスが出力インターフェースに対応付けられていなければ、図6に示されるコスト情報に従って、宛先VMまでに至る選択可能な経路のうち総リンクコストが最小の経路が選択される。処理323の結果、選択可能な経路が複数あるか否かを判定する処理324が、経路選択部312によって実行される。選択可能な経路が複数ない場合には処理326に移る。経路の候補が複数ある場合には、処理325に移る。
送信元アドレス及び宛先アドレスに基づく演算により経路を選択する処理325が、経路選択部312によって実行される。例えば、送信元VMのMACアドレス及び宛先VMのMACアドレスを変数としたハッシュ演算を実行し、選択可能な経路のうち得られたハッシュ値に対応する経路が選択される。なお、ハッシュ演算に用いられるハッシュ係数は、メモリ301に格納されている。
宛先MACアドレスと出力インターフェースとの対応付けを更新する処理326が、経路選択部312によって実行される。処理325で選択された経路に対応する出力インターフェースと宛先VMのMACアドレスとの対応付けが、図7に示される経路テーブルにおいて更新される。この更新された経路テーブルは上述したフォワーディング情報と合わせて、データ転送のログ情報としてメモリ301にて格納される。
選択された経路に基づきパケットを生成する処理327が、パケット生成部313によって実行される。パケットの構成及びパケットの生成方法は、上述した図8A及び8Bに関する説明のとおりである。次いで、選択された経路に対応する出力インターフェースからパケットが送信される処理328が実行される。次いで、通信を継続するか否かの処理329が、RB1-7によって実行される。通信を継続する場合には処理320に戻り、通信を継続させない場合には処理を終える。
図11に、実施例が適用されたルーティングブリッジの他の機能ブロックが示される。RB1−7の各々は、メモリ301に格納されたプログラムがCPU300によって実行されることにより、問い合わせ受付部314、転送情報モニタ部315、及び演算情報通信部316として機能する。問い合わせ受付部314は、ネットワーク1000の輻輳を検出するための問い合わせをSV100から受け付ける。さらに、問い合わせ受付部314は、経路を選択するための演算に関するパラメータ(例えば、ハッシュ係数)の問い合わせをSV100から受け付ける。転送情報モニタ部315は、問い合わせ受付部314が問い合わせを受け付けると、図3に示される送受信インターフェース303及び304に含まれる入力バッファ又は出力バッファに格納されるデータの量あるいは入力バッファ又は出力バッファの空き容量をモニタして、モニタした結果を転送情報としてSV100に送信する。演算情報通信部316は、問い合わせ受付部314が問い合わせを受け付けると、メモリ301に格納されているハッシュ係数を演算情報としてSV100に送信する。
図12に、実施例が適用された管理サーバ(SV100)のハードウェア構成が示される。SV100は、CPU400、メモリ401、記憶装置402、送受信インターフェース(データ通信用)403、送受信インターフェース(管理用)404及びそれらが接続されたバス405を有するコンピュータである。CPU400は、処理を実行するための1以上のプロセッサを含んでいる。メモリ401は例えば、RAMである。記憶装置402は例えば、ROMやフラッシュメモリ等の不揮発性メモリ、又はHDD(Hard Disk Drive)等の磁気ディスク装置である。送受信インターフェース(データ通信用)403は、外部装置に対してデータの送受信をするためのインターフェースである。送受信インターフェース(管理用)404は、管理用のデータを送受信するためのインターフェースである。メモリ401に、SV100の動作を制御するための処理が記述されたプログラム、図14、16又は17に示される処理が記述されたプログラム、及び19に示される処理が記述されたプログラムが格納される。CPU400によってメモリ401に格納されたプログラムが実行されることによりSV100の動作が制御され、図13及び18に示される各機能ブロックとして機能する。
図13に、実施例が適用された管理サーバ(SV100)で実行される機能ブロックが示される。SV100は、メモリ401に格納されたプログラムがCPU400によって実行されることにより、経路情報取得部410、サンプリング情報取得部411、変換アドレス抽出部412、及び演算情報取得部413として機能する。各機能ブロックにより実行される処理を、図14、16及び17に示される処理に対応させて後述する。
図14に、実施例が適用された管理サーバ(SV100)で実行される処理が示される。図14に示される処理は、SV100が図15に示されるアドレス変換情報を取得するための処理である。
各RB1−7から経路情報を取得する処理420が、経路情報取得部410によって実行される。処理420により、SV100は各RB1−7から、経路情報として上述したログ情報を取得する。ログ情報は、上述したように経路テーブル及びフォワーディング情報を含むため、SV100は、送信元VMのMACアドレス及び宛先VMのMACアドレスの組み合わせと、ハッシュ演算によりその組み合わせに対して割り当てられた経路との対応付けを取得する。従って、RB1−7で実行されるハッシュ演算の詳細を知らなくても、どのMACアドレスをパケットに設定すればハッシュ演算によってどの経路が選択されるが判定可能となる。
各SV101−108からサンプリング情報を取得する処理421が、サンプリング情報取得部411によって実行される。サンプリング情報には、送信元VMのMACアドレス、宛先VMのMACアドレス、送信元VMのIPアドレス(Internet Protocol Address)、宛先VMのIPアドレス、及び送信対象となるペイロードを少なくとも含む。また、宛先となるRBのMACアドレス又は送信元となるRBのMACアドレスを少なくとも含む。サンプリング情報は、vSW21−28が、対応するVM11−18から転送されるデータをサンプリングしてSV100に転送した情報である。 サンプリング情報から送信元アドレス及び宛先アドレスの組み合わせを選択する処理422が、変換アドレス抽出部412によって実行される。処理422によって、SV100は、ネットワーク1000を介してデータの転送を実行している送信元VM及び宛先VMの組み合わせを選択する。なお、処理420は、処理421又は処理422に後に実行されてもよい。
変換アドレスの候補を抽出する処理423が、変換アドレス抽出部412によって実行される。処理422において、サンプリング情報に基づいて選択された送信元VMのMACアドレス及び宛先VMのMACアドレスがネットワーク1000に対して、選択されるエッジRBが少なくとも同じでかつ異なる経路が選択された履歴のあるMACアドレスの組み合わせを、処理420で取得したログ情報に基づいて判定する。判定されたMACアドレスの組み合わせが、選択された送信元VMのMACアドレス及び宛先VMのMACアドレスに対するアドレス変換の候補となる。例えば、選択された送信元VMから宛先VMへのデータ転送が、輻輳が発生した経路を介して実行されている場合に、判定されたMACアドレスの組み合わせを使用してアドレス変換を行うと、輻輳が発生している経路を迂回し、エッジRBまで転送されることが保たれているためデータが宛先VMまで送られる。
変換アドレスの候補をアドレス変換情報として格納する処理424が、変換アドレス抽出部412によって実行される。処理424により、変換アドレスが、メモリ401に格納される。ネットワーク1000に輻輳が発生する前に図14に示される処理が実行されれば、候補となる変換アドレスが事前にメモリ401に格納されることとなる。なお、アドレス変換情報は図15に示される情報であり、詳細は後述する。
サンプリング情報に他のアドレスの組み合わせがあるか否かを判定する処理425が、変換アドレス抽出部412によって実行される。処理425においてサンプリング情報に他のアドレスの組み合わせがあると判定されると、処理422に移る。処理425によって、ネットワーク1000を介してデータ転送を実行している送信元VM及び宛先VMの組み合わせに対して変換アドレスの候補が抽出されていない場合に、変換アドレスの候補を取得するよう処理が継続される。以上に説明したように、図14に示される処理が実行されることにより、SV100は図15に示されるアドレス変換情報を取得する。
図15に、実施例によるアドレス変換情報が示される。アドレス変換情報は、図14に示される処理、後述する図16、又は図17に示される処理の結果としてメモリ401に格納される。例えば、IDが“1”及び“2”で識別されるMACアドレスの組み合わせでは、 “00−90−27−AA−74−E0”及び“00−90−27−AA−90−E0”の組み合わせに対する変換アドレスの候補が“00−90−27−BB−86−E2”及び“00−90−27−BB−20−E2”の組み合わせであることが例示されている。上述したように、変換アドレスの候補は変換前のアドレスに対して、ネットワーク1000においてエッジRBが少なくとも同じでかつ異なる経路が選択されるMACアドレスの組み合わせである。従って、輻輳が発生した場合に、図15に示される変換アドレスの候補にMACアドレスを変換することにより、RB1−7に設定されたアルゴリズム(総リンクコスト及びハッシュ演算による経路選択)を変更しなくても、輻輳が発生している経路を迂回させられるので、輻輳が回復する。
図16に、実施例が適用された管理サーバで実行される他の処理が示される。図16に示される処理は、SV100が図15に示されるアドレス変換情報を取得するための他の例である。
演算情報を取得する処理430が、演算情報取得部413によって実行される。処理430によって、SV100はデータ転送の経路選択に適用される演算情報をRB1−7から取得する。例えば、SV100はデータ転送の経路選択に適用されるハッシュ演算におけるハッシュ係数をRB1−7から取得する。
サーバのMACアドレスの組み合わせを選択する処理431が、変換アドレス抽出部412によって実行される。処理431によって、SV101−108において実行される仮想マシンの組み合わせが選択される。例えば、SV101−108から取得するサンプリング情報により、送信元VMのMACアドレス及び宛先VMのMACアドレスの組み合わせを取得して、仮想マシンの組み合わせを選択すればよい。
処理431で選択されたMACアドレスの組み合わせに対して変換アドレスが割り当て済みか否かを判定する処理432が、変換アドレス抽出部412によって実行される。メモリ401を参照するなどして、変換アドレスが割り当て済みの場合には処理431に移る。変換アドレスの割り当てが済んでいない場合には、処理433に移る。選択されたMACアドレスの組み合わせに割り当て可能な経路を抽出する処理433が、変換アドレス抽出部412によって実行される。処理433によって、選択されたMACアドレスの組み合わせに対応するエッジRBを介した経路が抽出される。
処理433で抽出された経路に対して、変換アドレスを抽出・格納する処理434が、変換アドレス抽出部412によって実行される。処理430によってSV100はRB1−7が経路選択に適用されるハッシュ係数を取得している。SV100は取得したハッシュ係数に基づき、どのようなMACアドレスをRB1−7のハッシュ演算の変数とすれば処理433で抽出された経路が選択されるかを算出して、算出されたMACアドレスを変換アドレスとして抽出する。抽出された変換アドレスは、図15のアドレス変換情報としてメモリ401に格納される。
経路に変換アドレスの割り当てが一定数以上あるか否かを判定する処理435が、変換アドレス抽出部412によって実行される。一定数以上でない場合には処理431に移り、一定数以上であれば処理を終える。一つの経路に複数の変換アドレスの候補を割り当てておくことで、特定の経路に割り当てられる仮想マシンの組み合わせを複数にできる。
図17に、実施例が適用された管理サーバ(SV100)で実行される他の処理が示される。図14及び16で示される処理と同じ処理については、同じ符号が付されおり、説明を省略する。図17に示される処理において、まず図14に示された処理を実行することによりアドレス変換情報を取得する。取得したアドレス変換情報に基づいて、経路に変換アドレスの割り当てが一定数以上あるか否かを判定する処理440が実行される。一定数以上でない場合には、図16に示される処理が実行される。ハッシュ係数の解析に基づく変換アドレスの抽出をすることは、ログ情報に基づく変換アドレスの抽出をするよりもSV100の処理負荷が大きくなる。従って、図14に示されるようにログ情報を使用して変換アドレスの抽出をした後に、経路の割り当てられる変換アドレスが所定数よりも少なければ、図16に示されるようにハッシュ係数の解析に基づく変換アドレスの抽出を実行することで、SV100の処理負荷を抑えつつ、効率よく変換アドレスが抽出される。
図18に、実施例が適用された管理サーバ(SV100)の他の機能ブロックが示される。SV100は、メモリ401に格納されたプログラムがCPU400によって実行されることにより、サンプリング情報取得部411、転送情報取得部414、輻輳判定部415、トラフィック解析部416、輻輳フロー判定部417、代替経路選択部418、及びアドレス設定部419として機能する。各機能ブロックにより実行される処理を、図19に示される処理に対応させて後述する。
図19に、実施例が適用された管理サーバで実行される他の処理が示される。変換アドレスを抽出する処理450が、SV100によって実行される。処理450には、図14、16及び17に示される処理を適用すればよい。なお、処理450は処理451の後に実行されてもよい。
ネットワーク1000に輻輳が発生しているか否かを判定する処理451が、SV100によって実行される。例えば、転送情報取得部414が、RB1−7の送受信インターフェースに含まれる入力バッファ又は出力バッファに格納されているデータ量、あるいは入力バッファ又は出力バッファの空き容量に関する情報を転送情報として取得して、メモリ401に格納する。輻輳判定部415は、取得した転送情報に基づいて、RB1−7の入力バッファ又は出力バッファに格納されているデータ量が所定量を超えるか否か、あるいは、入力バッファ又は出力バッファの空き容量が所定量を下回るか否かを判定することにより、ネットワーク1000に輻輳が発生しているか否かを判定する。例えば、輻輳判定部415は、RB3から取得した転送情報により、RB5からのデータを格納するRB3の入力バッファのデータ量が所定値を超えたこと検出すると、RB3及びRB5の間の接続であるリンクLK10に輻輳が発生していると判定する。なお、輻輳が発生する要因は、リンクの実際の帯域以上のデータ転送要求が発生している場合である。従って、転送データのトラフィック量が多い場合はもちろん、あるスイッチにおいて転送データのトラフィック量が小さくかつ入力バッファ及び出力バッファの空き容量が十分な場合でも、経路上の別のスイッチのリンク帯域がその転送データに比べて小さいと、輻輳が発生する可能性がある。
処理451により輻輳が発生していると判定されると、輻輳が発生している経路を介してデータを転送しているフロー(送信元アドレス及び宛先アドレスの組み合わせ)を特定する処理452が、SV100によって実行される。例えば、トラフィック解析部416は、サンプリング情報取得部411がサーバSV101−108から取得したサンプリング情報に基づいて、データのトラフィック量(流量)を送信元VM及び宛先VMの組み合わせ毎に解析する。例えば、トラフィック解析部416は、サンプリング情報に含まれる送信元VMのMACアドレス及び宛先VMのMACアドレスに基づいて、送信元VM及び宛先VMの組み合わせを特定する。特定された送信元VM及び宛先VMの組み合わせ毎に単位時間当たりのデータ量を解析することによりトラフィック量を取得する。なお、トラフィック量の解析によってSV100の処理負荷が増えるため、輻輳が発生していると判定されたことをトリガとして、トラフィック量の解析が実行されてもよい。輻輳フロー判定部417は、送信元VM及び宛先VMの組み合わせ毎トラフィック量及びRB1−7から取得した経路テーブルに基づいて、輻輳が発生しているリンクを介してデータ転送を実行しているフローを特定する。処理452により特定されたフローに対して、代替経路を選択する処理453が、SV100によって実行される。例えば、代替経路選択部418は、特定されたフローの送信元VMのMACアドレス及び宛先VMのMACアドレスに基づいてエッジRBを特定し、輻輳が発生していない経路から、代替可能な経路を選択する。
選択された代替経路に対応する変換アドレスを選択する処理454が、アドレス設定部419によって実行される。変換アドレスは処理450によって抽出したアドレス変換情報に基づいて選択すればよい。例えば、アドレス変換情報にある送信元VMのMACアドレス及び宛先VMのMACアドレスの組み合わせが通信を行っていないと判定されれば、変換アドレスとして当該送信元VMのMACアドレス及び宛先VMのMACアドレスの組み合わせが選択可能となる。
輻輳が発生している経路を介してデータ転送を実行しているサーバに変換アドレスを設定する処理455が、アドレス設定部419によって実行される。処理455によって、SV101−108のうちの該当するサーバのメモリ501に変換アドレスが格納される。なお、アドレス変換情報がSV101−108のうちの該当するサーバのメモリ501に格納されていれば、SV100がダウンしても、輻輳が発生した経路を迂回させた通信が継続可能となる。その後、ネットワーク1000の監視を継続するか否かを判定する処理456が、SV100によって実行される。
図20に、実施例が適用されたサーバ(SV101−108)のハードウェア構成が示される。SV101−108の各々は、CPU500、メモリ501、記憶装置502、送受信インターフェース(データ通信用)503、送受信インターフェース(管理用)504及びそれらが接続されたバス505を有するコンピュータである。CPU500は、処理を実行するための1以上のプロセッサを含んでいる。メモリ501は例えば、RAMである。記憶装置502は例えば、ROMやフラッシュメモリ等の不揮発性メモリ、又はHDD(HardDisk Drive)等の磁気ディスク装置である。送受信インターフェース(データ通信用)503は、外部装置に対してデータの送受信をするためのインターフェースである。送受信インターフェース(管理用)504は、管理用のデータを送受信するためのインターフェースである。メモリ501に、SV101−108の動作を制御するための処理が記述されたプログラム、及び図23−26に示される処理が記述されたプログラムが格納される。CPU500によってメモリ501に格納されたプログラムが実行されることによりSV101−108の動作が制御され、SV101−108は図21に示される各機能ブロックとして機能する。
図21に、実施例が適用されたサーバ(SV101−108)の機能ブロックが示される。SV101−108は、メモリ501に格納されたプログラムがCPU500によって実行されることにより、ハイパーバイザ510、仮想マシン511−513、仮想スイッチ514、及びアドレス変換部515として機能する。ハイパーバイザ510は、自サーバ全体の管理を行う機能を有する。また、図20に示されるネットワークインターフェースに対する仮想アドレスの割り当てや仮想マシン511−513の移動(ライブマイグレーション)を行う機能を有する。仮想マシン511−513は上述したVM11−18などに対応し、コンピュータの動作をエミュレートするソフトウェアである。仮想スイッチ514はvSW21−28などに対応し、仮想マシン511−513とネットワークインターフェースの間のデータ転送を、例えば図22に示される経路テーブルに従って制御する機能を有する。アドレス変換部515は、SV100によって設定された変換アドレスに基づいて、仮想スイッチにおいてパケット内に付与されるアドレスを変換する。
図22に、実施例が適用されたサーバ(SV101−108)の仮想スイッチが有する経路テーブルが示される。経路テーブルは、送信元MACアドレス又は宛先MACアドレスに基づき、ネットワークインターフェースと仮想マシンと対応づけるための情報である。例えば、宛先MACアドレス“00−90−27−AA−74−E0”が、“a”で識別される出力インターフェースに対応付けられている。
図23に、実施例が適用されたサーバ(SV101−108)の仮想スイッチで実行される送信処理が示される。処理520により送信データがあると判定されるとアドレス変換が必要か否かを判定する処理521が実行される。データを送信するVMに割り当てられたMACアドレスが、SV100から設定された変換アドレスに変換させるMACアドレスだと判定されると、アドレス変換部515が処理522を実行することによりパケット内に付与されるアドレスが変換されて、処理523に移る。処理523により、送信データに基づくパケットに処理521及び522に基づくMACアドレスが付加され、処理524によりパケットが送信される。処理525では通信を継続するか否かが判定される。
図24に、実施例が適用されたサーバ(SV101−108)の仮想スイッチで実行される受信処理が示される。処理530により受信データがあると判定されるとアドレス変換が必要か否かを判定する処理531が実行される。パケットに含まれるMACアドレスが、SV100から設定された変換アドレスが適用されたMACアドレスだと判定されると、アドレス変換部515が処理532を実行することによりMACアドレスが変換されて、処理533に移る。処理533により、処理531及び532に基づくMACアドレスに対応するVMにパケットが送信される。処理534では通信を継続するか否かが判定される。
図25及び26に、実施例が適用された情報処理システムの処理の一例が示される。この一例では、SV104からSV108へのデータ転送が行われている経路に輻輳が発生した場合を例とする。
図25に示されるように、SV100は、RB1−7に対してリンクコストを設定する。RB1−7は設定されたリンクコストに基づき、処理320を実行してコスト情報(図5及び6)を作成する。SV100は、RB1−7に対して経路・演算情報の問い合わせを実行する。RB1−7は問い合わせに対する応答として、送信元VMのMACアドレス及び宛先VMのMACアドレスの組み合わせと経路との対応付けを含むログ情報を経路情報として、又は、経路選択に適用されるハッシュ演算に用いられるハッシュ係数を演算情報としてSV100に通知する。SV100は、RB1−7に対して転送情報の問い合わせを実行する。RB1−7は問い合わせに対する応答として、ネットワーク1000内の輻輳状態をSV100に通知するために、転送情報モニタ部315が取得した情報を転送情報として通知する。なお、転送情報の問い合わせは、Management Information Base(MIB)情報を取得するプロトコルであるSimple Network Management Protocol(SNMP)によって実行されてもよく、SNMPによる情報取得は定期的に実行されてもよい。SV100は、SV101−108に対してサンプリング情報の問い合わせを実行する。なお、ここではSV104及びSV108に注目して説明する。SV104及びSV108は問い合わせに対する応答として、仮想スイッチの有する機能(例えばsFlow)によって、送信元仮想マシンのMACアドレス、宛先仮想マシンのMACアドレス、送信元仮想マシンのIPアドレス(Internet Protocl Address)、宛先仮想マシンのIPアドレス、送信対象となるデータ、及び宛先となるRBのMACアドレス又は送信元となるRBのMACアドレスを少なくとも含むサンプリング情報をSV100に通知する。なお、サンプリング情報の問い合わせは定期的に実行されてもよい。SV100は、図14、16又は17に示された処理によって変換アドレスを抽出し、メモリ501に格納させる。なお、SV104及びSV108は、RB5、RB2及びRB7を経由してデータ転送をしているとする。
図26に示されるように、SV100は、RB1−7に対してあらためて、転送情報の問い合わせを実行する。ここで、RB1−7の何れかの応答に、RB2に接続されるリンクに輻輳が発生していることを示す情報が含まれているとする。この応答結果に基づいて、SV100は図19に示される処理を実行することにより、RB2に接続されるリンクの輻輳を検出し、代替経路としてRB5、RB3及びRB7を経由する経路を選択する。SV100は、RB1−7がSV104からSV108へのデータ転送を中継する場合にRB5、RB3及びRB7を経由する経路が選択されるような変換アドレスを選択して、変換アドレスをSV104及びSV108に設定する。SV104は変換アドレスが設定されたため、データを送信する場合にパケットに含めるMACアドレスを、割り当てられたMACアドレスからSV100によって設定されたMACアドレスに変えて、RB5にパケットを送信する。RB5はパケット内に含まれるMACアドレスに基づきハッシュ演算をすると、ハッシュ演算の結果としてRB3が次の送信先として選択されるアドレスに変換されていることにより、RB3を次の送信先としてデータを図8Bのようにカプセル化してパケットを送信する。その後、RB3はパケットをRB7に送信し、RB7は次の宛先がSV108であると判定してSV108にパケットを送る。SV108は受け取ったパケットにあるMACアドレスがSV100に設定された変換対象のMACアドレスであると判定してMACアドレスを変換する。SV108は変換後のMACアドレスに対応する仮想マシンにパケットを送る。なお、SV100が変換するMACアドレスは、RB1−7がハッシュ演算をした際に、エッジRBが変更されずに経路が変更されていればよいため、パケットに含まれる送信元VMのMACアドレス、宛先VMのMACアドレス、又は、送信元VMのMACアドレス及び宛先VMのMACアドレスの両方の何れを対象としてもよい。また、実施例はハッシュ演算を例に説明したが、経路を選択するためのアルゴリズムはハッシュ演算に限定されない。ハッシュ演算とは異なるアルゴリズムであっても、送信元VMのMACアドレス及び宛先VMのMACアドレスに基づいて経路が決められるアルゴリズムであれば、そのアルゴリズムに基づいて上記に示した処理を実行して、宛先が変更されずに他の経路が選択されるようにアドレスを変換すればよい。
ところで、複数の経路がランダムに選択されたり、又はラウンドロビン方式が適用されることによって複数の経路が同じ割合となるように選択される場合に、送信されるデータフロー(特定のVM−VM間に流れる一連のデータの集合)が分割されてパケット単位で送信されると、パケット毎に異なる経路が割り当てられる。パケット毎に異なる経路が割り当てられると宛先までの経路がパケット毎に異なってしまうため、各経路の通信時間に差があると、宛先において受け取られるパケットの順序が送信した順序とは異なってしまう可能性がある。
なお、送信されるデータフローがパケット単位に分割されても送信元及び宛先が同じであれば各パケットに含まれる送信元アドレス及び宛先アドレスは同じになる。そこで、パケットに含まれる送信元アドレス及び宛先アドレスの組み合わせに従って経路が割り当てられれば、各パケットは同じ経路をたどって宛先に送られる。この場合にはパケット順序の逆転が回避されつつ、当該アドレスの組み合わせに合わせて選択される経路が分散されるのでネットワークの負荷が分散される。
しかし、当該アドレスの組み合わせに従って経路が割り当てられていると、ネットワークに輻輳が発生した場合でも、輻輳が発生している経路を介して通信をしている当該アドレスの組み合わせには、輻輳が発生している経路が割り当て続けられることとなり、輻輳が回復されない。
上述の実施例によれば、パケット内のアドレスに基づく演算により経路が選択されるネットワークに輻輳が起きると、宛先が変更されないようにパケット内のアドレスが変更されることで、経路を選択するための演算のアルゴリズムを変更することなく輻輳が発生した経路を迂回させて、輻輳を回復させる。
また、輻輳が発生した経路を迂回させるために、RB1−7自体の設定を変更することを検討する。例えば、受信したパケットに含まれる送信元アドレス及び宛先アドレスの組み合わせに対して経路を固定化させるような設定をRB1−7自体に適用させた場合、経路変更の要求がある度にRB1−7全てに対して特定の経路を選択させるための設定を行う必要が生じる。また、サーバの台数やサーバ内で実行される仮想マシンの個数が増えた場合には、その数に依存した設定の変更が生じる可能性があり、現実的な運用が困難になる。また、仮想マシンがライブマイグレーションにより他のサーバに移動した場合に、仮想マシンのMACアドレスが変わらなくても対応するエッジRBが変わってしまう場合があり、その場合にもRB1−7全てに対して特定の経路を選択させるための設定をやり直す必要が生じる。
実施例によれば、サーバ側のアドレス変換によって特定の経路への変更が可能となる。通信負荷を分散させるためにリンクコストなどの分散制御プロトコルを導入した設計思想のネットワークにおいて、パケットの順序が入れ替わらないようにMACアドレスのハッシュ演算を適用させた中継装置によって通信経路を構築した場合に、分散制御プロトコルの変更や中継装置に対する設定の変更がなくても、サーバ側のアドレス変換でデータ転送を特定の経路に変更をさせることは、ネットワークのリソースを有効利用する点で効果がある。また、仮想マシンのライブマイグレーションが生じる状況や、仮想マシンの個数が増えた場合でも、該当するサーバに対して設定の変更をすればよい。さらに、輻輳が発生していない場合でも、実施例を適用させて帯域を必要とするデータ転送に特定の経路を割り当てることで、分散制御プロトコルの変更や中継装置に対する設定の変更がなくても、予め輻輳が回避される。さらに、実施例を適用させることにより、特定の経路は使用しないようにMACアドレスの変換をすることで、特定の中継装置の使用が抑制されて、ネットワークが省エネルギー化される。また、実施例を適用させることにより、中継装置に設定された分散制御アルゴリズムに従った経路以外の使用されていない経路にデータ転送が割り当てられるようにMACアドレスの変換を行えば、データ転送がさらに分散されるので、ネットワークリソースの有効利用が実現される。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータと有することを特徴とする情報処理システム。
(付記2)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記1に記載の情報処理システム。
(付記3)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記中継装置に前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスが、前記ハッシュ演算のハッシュ係数に基づいて設定されることを特徴とする付記2に記載の情報処理システム。
(付記4)前記第1アドレスは、前記中継装置を含むネットワークに対して送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記1〜3の何れか1つに記載の情報処理システム。
(付記5)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記1に記載の情報処理システム。
(付記6)前記第2アドレスは、前記第1経路に輻輳が発生する前に前記コンピュータに設定されることを特徴とする付記1〜5の何れか1つに記載の情報処理システム。
(付記7)前記中継装置は、選択可能な経路が複数ある場合に、前記演算によって前記選択可能な経路から転送経路を選択することを特徴とする付記1〜6の何れか1つに記載の情報処理システム。
(付記8)前記中継装置は、前記選択可能な複数の経路を、経路を選択するために経路に設定されたパラメータに基づいて選択することを特徴とする付記7に記載の情報処理システム。
(付記9)パケット内の第1アドレスに基づく演算により第1経路を選択し、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更することを特徴とする情報処理方法。
(付記10)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記9に記載の情報処理方法。
(付記11)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスを、前記ハッシュ演算のハッシュ係数に基づいて設定することを特徴とする付記10に記載の情報処理方法。
(付記12)前記第1アドレスは、送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記9〜11の何れか1つに記載の情報処理方法。
(付記13)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記9に記載の情報処理方法。
(付記14)前記第2アドレスは、前記第1経路に輻輳が発生する前に設定されることを特徴とする付記9〜13の何れか1つに記載の情報処理方法。
(付記15)パケット内の第1アドレスに基づく演算により選択された第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータを有することを特徴とする情報処理装置。
(付記16)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記15に記載の情報処理装置。
(付記17)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記中継装置に前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスが、前記ハッシュ演算のハッシュ係数に基づいて前記コンピュータに設定されることを特徴とする付記16に記載の情報処理装置。
(付記18)前記第1アドレスは、前記中継装置を含むネットワークに対して送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記15〜17の何れか1つに記載の情報処理装置。
(付記19)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記15に記載の情報処理装置。
(付記20)パケット内の第1アドレスに基づく演算により選択した第1経路に輻輳が発生した場合に、前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに基づいて前記演算を実行する処理部を有することを特徴とする中継装置。
(付記1)パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータと有することを特徴とする情報処理システム。
(付記2)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記1に記載の情報処理システム。
(付記3)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記中継装置に前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスが、前記ハッシュ演算のハッシュ係数に基づいて設定されることを特徴とする付記2に記載の情報処理システム。
(付記4)前記第1アドレスは、前記中継装置を含むネットワークに対して送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記1〜3の何れか1つに記載の情報処理システム。
(付記5)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記1に記載の情報処理システム。
(付記6)前記第2アドレスは、前記第1経路に輻輳が発生する前に前記コンピュータに設定されることを特徴とする付記1〜5の何れか1つに記載の情報処理システム。
(付記7)前記中継装置は、選択可能な経路が複数ある場合に、前記演算によって前記選択可能な経路から転送経路を選択することを特徴とする付記1〜6の何れか1つに記載の情報処理システム。
(付記8)前記中継装置は、前記選択可能な複数の経路を、経路を選択するために経路に設定されたパラメータに基づいて選択することを特徴とする付記7に記載の情報処理システム。
(付記9)パケット内の第1アドレスに基づく演算により第1経路を選択し、前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更することを特徴とする情報処理方法。
(付記10)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記9に記載の情報処理方法。
(付記11)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスを、前記ハッシュ演算のハッシュ係数に基づいて設定することを特徴とする付記10に記載の情報処理方法。
(付記12)前記第1アドレスは、送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記9〜11の何れか1つに記載の情報処理方法。
(付記13)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記9に記載の情報処理方法。
(付記14)前記第2アドレスは、前記第1経路に輻輳が発生する前に設定されることを特徴とする付記9〜13の何れか1つに記載の情報処理方法。
(付記15)パケット内の第1アドレスに基づく演算により選択された第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータを有することを特徴とする情報処理装置。
(付記16)前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする付記15に記載の情報処理装置。
(付記17)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記中継装置に前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスが、前記ハッシュ演算のハッシュ係数に基づいて前記コンピュータに設定されることを特徴とする付記16に記載の情報処理装置。
(付記18)前記第1アドレスは、前記中継装置を含むネットワークに対して送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする付記15〜17の何れか1つに記載の情報処理装置。
(付記19)前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする付記15に記載の情報処理装置。
(付記20)パケット内の第1アドレスに基づく演算により選択した第1経路に輻輳が発生した場合に、前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに基づいて前記演算を実行する処理部を有することを特徴とする中継装置。
1−7 ルーティングブリッジ
11−18 仮想マシン
21−28 仮想スイッチ
100−108 サーバ
1000 ネットワーク
11−18 仮想マシン
21−28 仮想スイッチ
100−108 サーバ
1000 ネットワーク
Claims (10)
- パケット内の第1アドレスに基づく演算により第1経路を選択する中継装置と、
前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータと
有することを特徴とする情報処理システム。 - 前記第2アドレスは、前記演算により選択された経路とパケット内のアドレスとの対応付けを含むログ情報に基づいて設定されるアドレスであることを特徴とする請求項1に記載の情報処理システム。
- 前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、
前記中継装置に前記第1経路とは異なる第2経路を前記ハッシュ演算により選択させる第3アドレスが、前記ハッシュ演算のハッシュ係数に基づいて設定されることを特徴とする請求項2に記載の情報処理システム。 - 前記第1アドレスは、前記中継装置を含むネットワークに対して送信元となるコンピュータに割り当てられた物理アドレス、宛先となるコンピュータに割り当てられた物理アドレス、又はそれらの物理アドレスの組み合わせであることを特徴とする請求項1〜3の何れか1項に記載の情報処理システム。
- 前記演算は、前記中継装置が受け取るパケット内のアドレスに基づくハッシュ演算であり、
前記第2アドレスは、前記ハッシュ演算のハッシュ係数に基づいて設定されるアドレスであることを特徴とする請求項1に記載の情報処理システム。 - 前記第2アドレスは、前記第1経路に輻輳が発生する前に前記コンピュータに設定されることを特徴とする請求項1〜5の何れか1項に記載の情報処理システム。
- 前記中継装置は、選択可能な経路が複数ある場合に、前記演算によって前記選択可能な経路から転送経路を選択することを特徴とする請求項1〜6の何れか1項に記載の情報処理システム。
- パケット内の第1アドレスに基づく演算により第1経路を選択し、
前記第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する
ことを特徴とする情報処理方法。 - パケット内の第1アドレスに基づく演算により選択された第1経路に輻輳が発生した場合に、前記パケット内のアドレスを、前記第1アドレスから、前記第1経路を選択した中継装置に前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに変更する処理部を有するコンピュータ
を有することを特徴とする情報処理装置。 - パケット内の第1アドレスに基づく演算により選択した第1経路に輻輳が発生した場合に、前記第1経路と宛先が同じになる第2経路を前記演算により選択させる第2アドレスに基づいて前記演算を実行する処理部を有することを特徴とする中継装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012163679A JP2014027339A (ja) | 2012-07-24 | 2012-07-24 | 情報処理システム、情報処理方法、情報処理装置及び中継装置。 |
US13/865,569 US20140029437A1 (en) | 2012-07-24 | 2013-04-18 | Information processing system, information processing method, and relay apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012163679A JP2014027339A (ja) | 2012-07-24 | 2012-07-24 | 情報処理システム、情報処理方法、情報処理装置及び中継装置。 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014027339A true JP2014027339A (ja) | 2014-02-06 |
Family
ID=49994806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012163679A Pending JP2014027339A (ja) | 2012-07-24 | 2012-07-24 | 情報処理システム、情報処理方法、情報処理装置及び中継装置。 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140029437A1 (ja) |
JP (1) | JP2014027339A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016005008A (ja) * | 2014-06-13 | 2016-01-12 | 富士通株式会社 | ネットワーク管理装置及び方法 |
CN110086521A (zh) * | 2019-04-28 | 2019-08-02 | 东华大学 | 基于多天线放大转发无线中继通信系统的能量采集方法 |
JP2019208192A (ja) * | 2018-05-30 | 2019-12-05 | 株式会社日立製作所 | 計算機システムおよび計算機 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9203738B2 (en) * | 2013-05-21 | 2015-12-01 | Cisco Technology, Inc. | Optimal forwarding for trill fine-grained labeling and VXLAN interworking |
JP2015198295A (ja) * | 2014-03-31 | 2015-11-09 | 富士通株式会社 | 情報処理システム、その制御方法、及び制御装置 |
US10938724B2 (en) * | 2018-07-23 | 2021-03-02 | Cisco Technology, Inc. | Flow rate based network load balancing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6888797B1 (en) * | 1999-05-05 | 2005-05-03 | Lucent Technologies Inc. | Hashing-based network load balancing |
JP2005252766A (ja) * | 2004-03-05 | 2005-09-15 | Fujitsu Ltd | 伝送装置 |
JP2012205048A (ja) * | 2011-03-25 | 2012-10-22 | Nec Corp | パケット伝送装置、パケット伝送方法、及びコンピュータプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2313043A1 (en) * | 1997-12-04 | 1999-06-10 | British Telecommunications Public Limited Company | Communications network |
US7430164B2 (en) * | 1998-05-04 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | Path recovery on failure in load balancing switch protocols |
JP4511021B2 (ja) * | 2000-12-28 | 2010-07-28 | 富士通株式会社 | トラフィック情報収集装置およびトラフィック情報収集方法 |
US7269157B2 (en) * | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
JP2003338835A (ja) * | 2002-05-20 | 2003-11-28 | Fujitsu Ltd | パケットスイッチ及び方法 |
JP4598462B2 (ja) * | 2004-09-16 | 2010-12-15 | 富士通株式会社 | L2−vpnサービスを提供するプロバイダ網、及びエッジルータ |
-
2012
- 2012-07-24 JP JP2012163679A patent/JP2014027339A/ja active Pending
-
2013
- 2013-04-18 US US13/865,569 patent/US20140029437A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6888797B1 (en) * | 1999-05-05 | 2005-05-03 | Lucent Technologies Inc. | Hashing-based network load balancing |
JP2005252766A (ja) * | 2004-03-05 | 2005-09-15 | Fujitsu Ltd | 伝送装置 |
JP2012205048A (ja) * | 2011-03-25 | 2012-10-22 | Nec Corp | パケット伝送装置、パケット伝送方法、及びコンピュータプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016005008A (ja) * | 2014-06-13 | 2016-01-12 | 富士通株式会社 | ネットワーク管理装置及び方法 |
JP2019208192A (ja) * | 2018-05-30 | 2019-12-05 | 株式会社日立製作所 | 計算機システムおよび計算機 |
CN110086521A (zh) * | 2019-04-28 | 2019-08-02 | 东华大学 | 基于多天线放大转发无线中继通信系统的能量采集方法 |
CN110086521B (zh) * | 2019-04-28 | 2021-11-02 | 东华大学 | 基于多天线放大转发无线中继通信系统的能量采集方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140029437A1 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5974665B2 (ja) | 情報処理システム、中継装置、情報処理装置および情報処理方法 | |
US20230362249A1 (en) | Systems and methods for routing data to a parallel file system | |
US10911355B2 (en) | Multi-site telemetry tracking for fabric traffic using in-band telemetry | |
US10545780B2 (en) | System and computer for controlling a switch to provide a virtual customer premises equipment service in a network function virtualization environment based on a predetermined condition being satisfied | |
CN105681231B (zh) | 自治网络以及用于在自治网络内处理数据分组的方法 | |
JP5621996B2 (ja) | ネットワークシステム及び輻輳制御方法 | |
RU2598815C2 (ru) | Система связи, устройство управления, способ связи и программа | |
JP5742834B2 (ja) | 通信システム、経路制御装置、パケット転送装置および経路制御方法 | |
CN102726021B (zh) | 灵活的数据中心网络体系结构 | |
JP5300076B2 (ja) | コンピュータシステム、及びコンピュータシステムの監視方法 | |
JP2014027339A (ja) | 情報処理システム、情報処理方法、情報処理装置及び中継装置。 | |
EP2710785A1 (en) | Cloud service control and management architecture expanded to interface the network stratum | |
JP6323547B2 (ja) | 通信システム、制御装置、通信制御方法、および、プログラム | |
JP5894963B2 (ja) | 分析サーバ及び分析方法 | |
EP3399424B1 (en) | Using unified api to program both servers and fabric for forwarding for fine-grained network optimizations | |
JP6036506B2 (ja) | 障害影響範囲を特定するためのプログラム及び情報処理装置 | |
JP4074310B2 (ja) | トラヒック分散制御装置、パケット通信ネットワークおよびプログラム | |
KR101608818B1 (ko) | 가상 서비스 체인 설정을 위한 네트워크 시스템 및 컴퓨터 프로그램 | |
JP5917678B1 (ja) | 情報処理装置、方法およびプログラム | |
US20170019337A1 (en) | Communication system, communication method and control apparatus | |
JP6420462B2 (ja) | サービスノード能力処理方法、装置、サービス分類器及びサービスコントローラ | |
KR101802037B1 (ko) | Sdn 환경에서 서비스 기능 체이닝을 위한 oam 메시지 전송 방법 및 시스템 | |
US9521066B2 (en) | vStack enhancements for path calculations | |
JP7302730B2 (ja) | 経路情報管理装置、経路情報管理方法及びプログラム | |
JP2021111795A (ja) | ネットワークシステム、通信制御装置、および通信制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160823 |