Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5884832B2 - コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体 - Google Patents
[go: Go Back, main page]

JP5884832B2 - コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体 - Google Patents

コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体 Download PDF

Info

Publication number
JP5884832B2
JP5884832B2 JP2013553287A JP2013553287A JP5884832B2 JP 5884832 B2 JP5884832 B2 JP 5884832B2 JP 2013553287 A JP2013553287 A JP 2013553287A JP 2013553287 A JP2013553287 A JP 2013553287A JP 5884832 B2 JP5884832 B2 JP 5884832B2
Authority
JP
Japan
Prior art keywords
switch
network
transfer
controller
identifier
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.)
Expired - Fee Related
Application number
JP2013553287A
Other languages
English (en)
Other versions
JPWO2013105551A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2013553287A priority Critical patent/JP5884832B2/ja
Publication of JPWO2013105551A1 publication Critical patent/JPWO2013105551A1/ja
Application granted granted Critical
Publication of JP5884832B2 publication Critical patent/JP5884832B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンピュータシステム、及び通信方法に関し、特に、オープンフロー(オープンフロー)技術を利用したコンピュータシステム、及びその通信方法に関する。
複数のネットワークによって冗長化されたコンピュータシステムは、障害が発生したときに代替ネットワークによって運用することができるため、高い可用性を有する。又、平常運用時についても複数のネットワークから通信に使用するものを選択することによって、負荷分散を実現し通信の高速化が可能になる。
システム内で効率よく通信をするためには、できるだけ性能の高いネットワークを優先的に使用する必要がある。例えば、通信回線の性能情報に基づいて使用経路を決定することで通信効率を高めることができる。
性能情報に基づいて使用経路を決定するシステムが、例えば特開2007−189615に記載されている(特許文献1参照)。特許文献1に記載のシステムは、ネットワーク負荷に基づいて経路を算出することにより、効率の良い通信路を設定する。
特許文献1に記載のネットワーク監視支援装置は、ネットワーク機器を監視して、障害を検出するとともに障害の影響範囲を解析し、当該影響範囲を回避する通信経路を算出する。この際、ネットワーク監視支援装置は、トラフィックの利用状況及びCPU利用率等のネットワークの負荷に基づいて経路を算出する。
特許文献1に記載のシステムでは、障害による影響範囲を回避しつつ、トラフィックの利用状況に基づいて使用経路を設定している。このため、障害を回避しながらトラフィック利用率の低い経路を選択することができる。しかしながら、運用されていない経路は、トラフィックが発生していないため、使用経路として選択され得るが、選択された経路が必ずしも転送性能の良い経路とは限らない。このため、特許文献1に記載のシステムでは、ネットワーク全体に障害が発生したときの即時対応については考慮されていない。
又、計算機システムの一例が、特開2000−348005(特許文献2参照)や特開2007−287064(特許文献3参照)に記載されている。特許文献2や特許文献3には、複数経路を持つストレージシステムについて、負荷状況や障害発生状況に応じて、動的に使用パスを切り替え、可用性の向上や、性能の向上を実現するシステムが記載されている。
特開2007−189615 特開2000−348005 特開2007−287064
OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009
しかし、特許文献2、3の記載のシステムでは、使用する経路が予め設定されているため、平常状態で優先的に使用する経路を自動的に決定することができない。又、動的な構成変更が発生した場合の動作を想定していないため、パス障害が発生したときや、動的な構成変更が発生したときに、使用経路を決定することができない。更に、特許文献2、3の計算機システムはストレージシステムを対象としているため、FCoE(Fibre Channel over Ethernet(登録商標))など、同一ネットワーク上にI/Oが混在するような場合について考慮されていない。
以上のことから、本発明の目的は、複数のネットワーク間において、より高性能なネットワークへの通信が可能なネットワークシステムを提供することにある。
本発明によるコンピュータシステムは、コントローラと、複数のネットワークを介して他のスイッチに接続され、前記コントローラによって設定されたフローエントリに従って、受信パケットの中継処理を行うスイッチとを具備する。スイッチは、複数のネットワークのそれぞれを介して他のスイッチに検査用データを転送して、複数のネットワークのそれぞれの転送性能を取得する。又、スイッチは、転送性能を複数のネットワークのそれぞれに対応付けてコントローラに通知する。コントローラは、複数のネットワークのうち、転送性能が所定の閾値以上のネットワークを他のスイッチへの転送経路として規定したフローエントリを、スイッチのフローテーブルに設定する。
本発明による通信方法は、複数のネットワークを介して他のスイッチに接続され、コントローラによって設定されたフローエントリに従って、受信パケットの中継処理を行うスイッチを具備するコンピュータシステムにおいて実行される。本発明による通信方法は、スイッチが、複数のネットワークのそれぞれを介して他のスイッチに検査用データを転送して、複数のネットワークのそれぞれの転送性能を取得するステップと、転送性能を複数のネットワークのそれぞれに対応付けてコントローラに通知するステップと、コントローラが、複数のネットワークのうち、転送性能が所定の閾値以上のネットワークを他のスイッチへの転送経路として規定したフローエントリを、スイッチのフローテーブルに設定するステップとを具備する。
本発明によれば、複数のネットワーク間において、より高性能なネットワークへの通信することが可能となる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明によるコンピュータシステムの実施の形態における構成の一例を示す図である。 図2は、本発明に係るネットワーク情報テーブルの構造を示す図である。 図3は、本発明に係るネットワークフローテーブルの構造を示す図である。 図4は、本発明に係るスイッチ情報テーブルの構造を示す図である。 図5は、本発明に係る負荷分散情報の構成を示す図である。 図6は、本発明に係るフローテーブルの構造を示す図である。 図7は、本発明によるコンピュータシステムの実施の形態における構成の他の一例を示す図である。 図8は、本発明に係るスイッチにおける接続変更時の初期設定動作を示すフローチャートである。 図9は、本発明に係るコントローラにおける接続変更時の設定動作を示すフローチャートである。 図10は、本発明に係るネットワーク情報テーブルの一例を示す図である。 図11は、本発明に係るスイッチ情報テーブルの一例(設定前)を示す図である。 図12は、本発明に係るスイッチ情報テーブル設定(更新)動作を示すフローチャートである。 図13は、本発明に係るスイッチ情報テーブルの他の一例(設定後)を示す図である。 図14は、本発明に係るネットワーク情報テーブルの設定(更新)動作を示すフローチャートである。 図15は、本発明に係るネットワーク情報テーブルの一例を示す図である。 図16は、本発明に係るネットワークフローテーブル及びフローテーブルの設定(更新)動作を示すフローチャートである。 図17は、本発明に係る負荷分散情報の一例を示す図である。 図18は、本発明に係る送信元スイッチビュー又はスイッチ間経路ビューの一例を示す図である。 図19は、本発明に係るネットワーク情報テーブルの更に他の一例を示す図である。 図20は、本発明に係るネットワークフローテーブルの一例を示す図である。 図21は、本発明に係るフローテーブルの一例を示す図である。 図22は、本発明によるコンピュータシステムの実施の形態における構成の更に他の一例を示す図である。
(概要)
本発明によるコントローラは、スイッチにおいて測定されたネットワークの転送性能(例えば転送速度)を取得し、取得した転送性能と負荷分散ポリシに基づいて、通信に利用するネットワークを自動選択する。通信に利用するネットワークを指定したフローエントリは、オープンフロープロトコルに従ってスイッチに設定される。これにより複数の通信ネットワークから転送性能の良好なネットワークを、通信経路として自動選択することが可能となる。又、コントローラは、定期的にネットワークの転送性能の取得及びスイッチへの最適経路(最適フロー)の設定を行う。これにより、構成が動的に変更されるネットワークにおいても、最適な経路を利用した通信に自動変更され得る。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
(コンピュータシステムの構成)
図1を参照して、本発明によるコンピュータシステムの構成を説明する。図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。図1を参照して、本発明によるコンピュータシステムは、オープンフローコントローラ100(以下、コントローラ100と称す)、複数のオープンフロースイッチ200−1、200−2(以下、スイッチ200−1、200−2と称す)、ネットワーク300−1、300−2、複数のクライアント端末400−1、400−2(以下、コンピュータ400−1、400−2と称す)を具備する。又、スイッチ200−1、200−2を区別せずに総称する場合はスイッチ200と称し、ネットワーク300−1、300−2を区別せずに総称する場合はネットワーク300と称し、コンピュータ400−1、400−2を区別せずに総称する場合はコンピュータ400と称して説明する。尚、図1に示すスイッチ200、ネットワーク300、コンピュータ400は、それぞれ2つ設けられているが、これに限らず、任意の数が設けられても良い。
コンピュータ400は、図示しないCPU、ネットワークインタフェース(I/F)、及びメモリ(記録媒体)を備えるコンピュータ装置であり、メモリ(記録媒体)内のプログラムを実行することで他のコンピュータ400との間で通信を行う。
本発明によるコンピュータシステムでは、複数のネットワーク300を経由して接続されたスイッチ200を介してコンピュータ400間の通信が行われる。複数のネットワーク300を経由して接続されたスイッチ200間の通信は、オープンフロー(プログラマブルフローとも称す)プロトコルに従って制御される。コントローラ100とスイッチ200とは制御用のネットワークで接続される。
詳細には、コントローラ100は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御する。オープンフロー技術とは、コントローラ(ここではコントローラ100)が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をスイッチ200に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ200は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
本発明によるコントローラ100は、図示しないCPU、ネットワークインタフェース(I/F)、及びメモリ(記録媒体)を備えるコンピュータ装置である。コントローラ100の図示しないメモリ(記録媒体)には、ネットワーク情報テーブル120、ネットワークフローテーブル130、更新周期140、ネットワーク管理プログラムが記録される。コントローラ100では、図示しないCPUによってネットワーク管理プログラムが実行されることで、ネットワーク管理部110の機能が実現される。
ネットワーク管理部110は、スイッチ200から取得するネットワーク300の接続状況や負荷状況に基づいて、通信経路となるネットワーク300を決定する。次に、ネットワーク管理部110は、スイッチ200が保持するフローテーブル240にフローエントリ(ルール241+アクション242)を設定又は更新することで、当該スイッチ200の動作(例えばパケットデータの中継動作や破棄)を制御する。
詳細には、ネットワーク管理部110は、スイッチ200からのファーストパケットの受信通知や負荷情報に基づいて制御対象を決めるルール、動作を規定するアクション、及び通信経路を設定、削除又は更新する。ここでファーストパケットとは、スイッチ200のフローテーブル240に設定されたルール241に適合しないパケットデータを示す。
ルール241には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグ(VLAN id)のそれぞれの組み合わせがルール241として設定される。尚、VLANタグには、優先順位(VLAN Priority)が付与されていても良い。
ここで、ルール241に設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルール241として設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール241として設定される。更に、データ転送プロトコルを特定する識別子をルール241として設定してもよい。
アクション242には、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先となるスイッチ200やネットワーク300が設定される。又、アクション242には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
図2は、本発明に係るネットワーク情報テーブル120の構造を示す図である。図2を参照して、ネットワーク情報テーブル120には、送信元スイッチ識別子121、送信先スイッチ識別子122、ネットワーク識別子123、及び転送速度124が対応付けられて1つのエントリとして格納される。本発明に係るスイッチ200には一意のスイッチ識別子が付与され、ネットワーク300には一意のネットワーク識別子が付与される。送信元スイッチ識別子121は、対応する転送速度124を測定するためのパケットの転送元となるスイッチ200の識別子であり、送信先スイッチ識別子122は、当該パケットの送信先のスイッチ200の識別子である。ネットワーク識別子123は、対応する送信元スイッチ識別子121及び送信先スイッチ識別子122を持つスイッチ200間に設けられたネットワーク300の識別子である。転送速度124は、対応するネットワーク識別子123をもつネットワーク300を介したスイッチ200間の転送速度である。例えば、所定の間隔で処理されたスイッチ200間通信の平均処理速度が転送速度124としてネットワーク情報テーブル120に記録される。
図3は、本発明に係るネットワークフローテーブル130の構造を示す図である。ネットワークフローテーブル130には、スイッチ200がどのネットワークを通して通信するかを示す情報が記録される。詳細には、ネットワークフローテーブル130には、送信元スイッチ識別子131をキーとしたエントリとして、送信先スイッチ識別子132と、ネットワーク識別子リスト133が対応付けられて格納される。送信元スイッチ識別子131は、パケットの送信元のスイッチ200の識別子であり、送信先スイッチ識別子132は、当該パケットの送信先のスイッチ200の識別子である。ネットワーク識別子リスト133には、対応する送信元スイッチ識別子131及び送信先スイッチ識別子132のスイッチ200間に設けられたネットワーク300のネットワーク識別子が記録される。ネットワーク識別子リスト133には、任意の個数のネットワーク識別子が格納される。
更新周期140は、ネットワーク管理部110がスイッチ200から転送性能を取得する周期を含む。更新周期140は、スイッチ200毎に異なる周期であっても良いし、全てのスイッチ200の共通の周期であっても良い。
スイッチ200は、ネットワーク300を介した通信を制御する。詳細には、スイッチ200は、コンピュータ400やネットワーク300を介して送信されたデータの転送先を決定する。この際、スイッチ200は、オープンフロープロトコルに従い、コントローラ100によって設定(更新)されたフローテーブル240に従って受信パケットの処理方法(アクション)を決定する。
本発明によるスイッチ200は、図示しないCPU、ネットワークインタフェース(I/F)、及びメモリ(記録媒体)を備える。スイッチ200の図示しないメモリ(記録媒体)には、スイッチ管理プログラム、スイッチ情報テーブル220、負荷分散情報230、フローテーブル240が格納される。スイッチ200では、図示しないCPUによってスイッチ管理プログラムが実行されることで、スイッチ管理部210の機能が実現される。
スイッチ管理部210は、自身のフローテーブル240に基づいてデータの転送先となるネットワーク300を決定し、当該ネットワーク300を経由して通信を実施する。本発明によるシステムでは、リンクアグリゲーション等の既存技術を用いて、複数のネットワーク300を経由して通信を実施することができるものとする。又、スイッチ管理部210は、自身が接続される(使用する)ネットワーク300の転送性能を取得するために定期的に検査用データを送信する。更に、スイッチ管理部210は、コントローラ100からのフローテーブル設定(更新)命令や、転送性能の取得命令に応答してフローテーブル240の設定(更新)や転送性能の取得及びコントローラへの通知を行う。
図4は、本発明に係るスイッチ情報テーブル220の構造を示す図である。図4を参照して、スイッチ情報テーブル220には、送信先スイッチ識別子221、ネットワーク識別子222、及び転送性能(転送容量223、転送時間224)が対応付けられてエントリとして格納される。送信先スイッチ識別子221は、パケットの転送先となるスイッチ200の識別子である。ネットワーク識別子222は、当該転送に利用したネットワーク300の識別子である。転送容量223は、当該転送において、所定の時間内に転送されたデータサイズの累計を示す。転送時間224は、当該転送に要した時間の合計を示す。例えば、転送容量223として転送時間224内に転送されたデータサイズが当該転送時間224に対応付けられてスイッチ情報テーブル220に記録される。
図5は、本発明に係る負荷分散情報230の構成を示す図である。図5を参照して、負荷分散情報230は、検査周期231、最大ネットワーク数232、及び転送閾値233を含む。検査周期231は、スイッチ200が転送性能(例えば転送容量223や転送時間224)を取得するための通信を実施する周期を示す情報である。最大ネットワーク数232は、スイッチ200が接続(利用)可能なネットワークの最大数を示す情報である。転送閾値233は、使用可能なネットワークのうち、最大性能のネットワーク300における利用可能なパスの割合を示す情報である。負荷分散情報230は、予め設定されることが好ましく、自ら又はコントローラ100によって設定又は更新されても良い。
図6は、本発明に係るフローテーブル240の構造を示す図である。フローテーブル240には、ルール241及びアクション242がフローエントリとして設定される。アクション242にはデータの転送先となるスイッチの識別子(送信先スイッチ識別子243)や、転送に使用するネットワーク300の識別子のリスト(ネットワーク識別子リスト244)が含まれる。ネットワーク識別子リスト244には、任意の個数のネットワーク識別子が登録される。
受信パケットのヘッダ情報が、フローテーブル240に記録されたルール241に適合(一致)する場合、当該パケットデータは、スイッチ管理部210によって、アクション242に規定されたネットワーク300を介してアクション242に規定された他のスイッチ200に転送される。
図1を参照して、ネットワーク300−1、300−2はそれぞれ独立したネットワークであり、スイッチ200間で利用(接続)されるネットワークの数はこれに限らない。例えば、図7に示すように、スイッチ200−1とスイッチ200−2の間に4つのネットワーク300−1〜300−4が設けられても良い。
(動作)
次に、図7に示されるコンピュータシステムを参照して、本発明によるコンピュータシステムの動作を説明する。以下では、一例としてスイッチ200−1、200−2のスイッチ識別子を“スイッチx”、“スイッチy”とし、ネットワーク300−1〜300−4のネットワーク識別子を“ネットワーク1”〜“ネットワーク4”として説明する。
先ず、図8を参照して、スイッチ200における初期設定動作を説明する。図8は、本発明に係るスイッチ200における接続変更時の初期設定動作を示すフローチャートである。ここでは当初、スイッチ200におけるスイッチ情報テーブル220及びフローテーブル240には何も設定されていない状態であり、負荷分散情報230には、運用方針に応じた値が予め設定されているものとする。
新たにシステムに追加されたスイッチ200のスイッチ管理部210は、自身のスイッチ識別子、及び自身に接続されたネットワークのネットワーク識別子をコントローラ100のネットワーク管理部110に通知する(ステップS101)。ここで通知されるネットワーク識別子は、例えば、ネットワーク300に接続されたポート番号と、当該ネットワーク300を介して接続される他のスイッチ200のポート番号との組合せを特定する情報である。
スイッチ200は、通知したスイッチ識別子及びネットワーク識別子に応じてコントローラ100から送信されるネットワーク情報を取得する(ステップS102)。ネットワーク情報は、通知したスイッチ識別子及びネットワーク識別子に基づいて更新登録されたネットワーク情報テーブル120内の情報のうち、転送速度124を除く情報を示す。ここで、スイッチ200は、ネットワーク情報テーブル120のうち、新たに登録されたネットワーク情報のみを取得しても良いし、ネットワーク情報テーブル120に登録された全てのネットワーク情報を取得してもよい。
スイッチ200は、取得したネットワーク情報に基づいてスイッチ情報テーブル220を更新する(ステップS103)。詳細には、スイッチ200は、取得したネットワーク情報のうち、自身のスイッチ識別子に一致する送信元スイッチ識別子121を含むエントリを、スイッチ情報テーブル220に登録する。このとき、スイッチ200は、スイッチ情報テーブル220に未登録の送信先スイッチ識別子及びネットワーク識別子を含むエントリを新規に登録する。ここで、コントローラ100から送信されたネットワーク情報に含まれる送信先スイッチ識別子122及びネットワーク識別子222は、送信先スイッチ識別子221及びネットワーク識別子222としてスイッチ情報テーブル220に新規登録される。又、スイッチ情報テーブル220に新規登録されるエントリの転送容量223及び転送時間224は“0”に設定される。
次に、図9を参照して、コントローラ100における初期設定動作を説明する。図9は、本発明に係るコントローラ100における接続変更時の初期設定動作を示すフローチャートである。ここでは当初、コントローラ100におけるネットワーク情報テーブル120、及び、ネットワークフローテーブル130には何も設定されていない状態であり、更新周期140には、運用方針に応じた値が予め設定されているものとする。
コントローラ100のネットワーク管理部110は、システムに新規接続されたスイッチ200から通知されるスイッチ識別子とネットワーク識別子をネットワーク情報テーブル120に新規登録する(ステップS201、S202)。詳細には、ネットワーク管理部110は、ネットワーク情報テーブル120に既に登録済みのスイッチ識別子を送信元スイッチ識別子121とし、スイッチ200から通知された未登録のスイッチ識別子を送信先スイッチ識別子122として対応付けてネットワーク情報テーブル120に新規登録する。この際、ネットワーク管理部110は、既に登録済みのネットワーク識別子や、スイッチ200から通知された未登録のネットワーク識別子を参照して、送信元スイッチ識別子121と送信先スイッチ識別子122に対応するスイッチ200の間に接続されたネットワークを特定する。そして、ネットワーク管理部110は、特定したネットワークの識別子をネットワーク識別子123として当該送信元スイッチ識別子121及び送信先スイッチ識別子122に対応付けてネットワーク情報テーブル120に新規登録する。尚、新規登録されるネットワーク情報テーブルのエントリ内の転送速度124は“0”に設定される。
ネットワーク管理部110は、システムに新規追加されたスイッチ200の識別子を送信元スイッチ識別子121とし、登録済みのスイッチ識別子を送信先スイッチ識別子122とし、当該スイッチ間に接続されるネットワークの識別子をネットワーク識別子123、転送速度124を“0”とするエントリを新規登録する(ステップS203)。すなわち、ネットワーク管理部110は、ステップA202で新規登録されたエントリの送信元スイッチ識別子121と送信先スイッチ識別子122を入れ替えたエントリをネットワーク情報テーブル120に新規登録する。
続いてネットワーク管理部110は、ステップS202、S203において更新登録が完了したネットワーク情報テーブル120内のネットワーク情報をスイッチ200に送信する(ステップS204)。ネットワーク管理部110は、ネットワーク情報テーブル120において新規登録したエントリのうち、スイッチ200及びネットワーク300の接続関係に係るネットワーク情報(ここでは、送信元スイッチ識別子121、送信先スイッチ識別子122、ネットワーク識別子123)を、送信元スイッチ識別子121に対応するスイッチ200に送信する。尚、ネットワーク管理部110は、ネットワーク情報テーブル120に既に登録されている全てのエントリにおけるネットワーク情報を、対応するスイッチ200又は全てのスイッチ200に送信しても良い。
一例として、図7に示すシステムにおいて、スイッチ200−1が新規追加された場合のネットワーク情報テーブル120の更新登録、及びスイッチ情報テーブル220の更新登録について説明する。ここでは、スイッチ200−2が既にシステムに接続されており、そのスイッチ識別子“スイッチy”はネットワーク情報テーブル120に登録されているものとする。
スイッチ200−1は、自身のスイッチ識別子“スイッチx”、自身に接続するネットワーク300のネットワーク識別子“ネットワーク1”〜“ネットワーク4”をコントローラ100に通知する。コントローラ100は、登録済みのスイッチ識別子“スイッチy”を送信元スイッチ識別子121、通知されたスイッチ識別子“スイッチx”を送信先スイッチ識別子122とし、ネットワーク識別子“ネットワーク1”〜“ネットワーク4”をネットワーク識別子123とし、転送速度を“0”とする4つのエントリを登録する。又、コントローラ100は、通知されたスイッチ識別子“スイッチx”を送信元スイッチ識別子121、登録済みのスイッチ識別子“スイッチy”を送信先スイッチ識別子122とし、ネットワーク識別子“ネットワーク1”〜“ネットワーク4”をネットワーク識別子123とし、転送速度を“0”とする4つのエントリを登録する。これにより、図10のようにネットワーク情報テーブル120が更新登録される。
コントローラ100は、更新登録されたネットワーク情報テーブル120からネットワーク情報を抽出し、スイッチ200−1、200−2に送信する。例えば、コントローラ100は、ネットワーク情報テーブル120のうち、送信元スイッチ識別子121“スイッチx”に対応するエントリ内のネットワーク情報を、当該スイッチ識別子に対応するスイッチ200−1に送信する。又、コントローラ100は、送信元スイッチ識別子121“スイッチy”に対応するエントリ内のネットワーク情報を、当該スイッチ識別子に対応するスイッチ200−2に送信する。
図11を参照して、スイッチ200−1は、コントローラ100から取得したネットワーク情報に基づき、送信先スイッチ識別子221を“スイッチy”、ネットワーク識別子222を“ネットワーク1”〜“ネットワーク4”とし、転送容量223及び転送時間224を“0”とした4つのエントリを、スイッチ情報テーブル220に新規登録する。スイッチ200−2も同様に、送信先スイッチ識別子221を“スイッチx”としてエントリを自身のスイッチ情報テーブル220に新規登録する。
上記一例では、ネットワーク情報テーブル120に新規登録されたネットワーク情報が、対応するスイッチ200に送信される場合について説明したが、これに限らず、ネットワーク情報テーブル120に登録済みの全てのネットワーク情報が、登録済みの全てのスイッチ200に送信されても良い。この場合、スイッチ200では、送信元スイッチ識別子が自身のスイッチ識別子と一致するネットワーク情報のうち、送信先スイッチ識別子がスイッチ情報テーブル220に未登録のネットワーク情報のみがスイッチ情報テーブル220に新規登録される。
コントローラ100からスイッチ200への通信ができなくなったときの動作を説明する。コントローラ100のネットワーク管理部110は、定期的又は任意の時期にシステム内の全てのスイッチ200又は任意のスイッチ200に対し、接続確認のための信号を送信することが好ましい。この場合、ネットワーク管理部110は、当該信号に対するスイッチ200からの応答信号によって、スイッチ200がシステムに接続されているか否かを確認できる。あるいは、ネットワーク管理部110は、スイッチ200から転送性能が、所定の時間通知されない場合、当該スイッチ200との通信が不通である(又はシステムから離脱した)と判定してもよい。
ネットワーク管理部110は、スイッチ200への通信ができなくなった場合(又はシステムから離脱したと判定した場合)、ネットワーク情報テーブル120の全エントリを検索し、送信元スイッチ識別子121、または、送信先スイッチ識別子122が当該スイッチ200のスイッチ識別子と一致するエントリをネットワーク情報テーブル120から削除する。
本発明によるコンピュータシステムでは、スイッチ200においてネットワーク300を介したスイッチ200間の転送性能(転送容量や転送時間)が測定され、コントローラ100に送信される。コントローラ100は、ネットワーク300の転送性能を参照して、通信経路として利用するネットワーク300を決定し、オープンフロープロトコルに従い、スイッチ200のフローテーブル240を設定(更新)する。
先ず、図12を参照して、スイッチ200における転送性能の測定動作を説明する。図12は、本発明に係るスイッチ情報テーブル220における転送容量223及び転送時間224の設定(更新)動作を示すフローチャートである。
スイッチ管理部210は、他のスイッチ200への通信要求があったとき、フローテーブル240で規定されたネットワーク300を用いて通信を開始し、通信開始時刻を記録する(ステップS301)。例えば、コンピュータ400から転送されたパケットデータが、フローテーブル240のルール241に適合する場合、当該ルールに対応するアクション242に従ったネットワーク300を利用してパケット転送が行われる。このときスイッチ管理部210は、パケット転送開始時刻を図示しないメモリ(記録媒体)に記録する。
スイッチ200において通信が正常に完了すると、スイッチ管理部210は、通信完了時刻と通信開始時刻との差から、転送時間224を算出する(ステップS302Yes、S303)。一方、通信が正常に完了しなかったときは、転送時間224の計算は行わない(ステップS302No)。
スイッチ管理部210は、ネットワーク情報テーブル120において、通信に使用したネットワーク300と通信先のスイッチ200に該当するエントリの転送容量223及び転送時間224を更新する(ステップS304)。詳細には、スイッチ管理部210は、パケットに適合するアクション242から特定される送信先スイッチ識別子243及びネットワーク識別子リスト244に対応するエントリをネットワーク情報テーブル120から抽出し、当該エントリ内の転送容量223及び転送時間224を更新する。転送容量223は、通信開始から通信完了までに転送したパケットデータ量が記録され、転送時間224は、ステップ303において算出された転送時間が記録される。
例えば、図7に示すシステムにおいて、スイッチ200−1からネットワーク300−1〜300−4を介してスイッチ200−2宛に通信が行われた場合、図13のように、スイッチ情報テーブル220が更新される。転送容量223及び転送時間224には、最新の転送容量及び転送速度が上書き更新されても良いし、所定期間内の転送容量及び転送速度が累積されて記録されても良い。あるいは、転送容量223及び転送時間224には、転送容量及び転送速度の所定通信回数当たりの平均値や、所定のアルゴリズムによって計算された統計値が記録されても良い。
図12に示す動作で転送性能(ここでは転送容量と転送時間)を更新するためには、何らかの通信が必要である。すなわち、通信に使用しないネットワーク300では情報が更新されない。このため、スイッチ管理部210は、定期的又は任意の時期に検査用の通信を実施し、自身に接続された全てのネットワーク300の転送性能を更新することが好ましい。例えば、スイッチ管理部210は、所定のデータ量の検査用データを、定期的又は任意の時期に、自身に接続されたネットワーク300を介して他のスイッチ200に転送し、図12と同様な動作により、当該ネットワーク300及び当該スイッチ200に対応する転送容量223及び転送時間224を更新する。定期的に検査用の通信を行う場合、スイッチ管理部210は、負荷分散情報230に設定された検査周期231の経過に応じて検査用パケットデータを送信する。これにより、スイッチ200は、他の装置からパケット転送等の通信要求が発生しない場合でも、ネットワーク300の転送性能を取得することが可能となる。
次に、図14及び図15を参照して、本発明に係るネットワーク情報テーブル120の設定(更新)動作を説明する。図14は、本発明に係るネットワーク情報テーブル120の設定(更新)動作を示すフローチャートである。
ネットワーク管理部110は、更新周期140の経過に応じて、スイッチ200に対しスイッチ情報の取得指示を行う(ステップS401Yes、S402)。スイッチ管理部210は、スイッチ情報の取得指示を受けたら、ネットワーク管理部110に対し、自身のスイッチ識別子、スイッチ情報テーブル220をスイッチ情報として送信する。
ネットワーク管理部110は、スイッチ情報の取得指示に対する応答が規定時間内にない場合、応答のないスイッチ200への通信ができなくなったものとして、当該スイッチ200に対するエントリをネットワーク情報テーブル120から削除する(ステップS403No、S404)。一方、スイッチ情報の取得指示に対する応答として、スイッチ200からスイッチ情報が送信されると、ネットワーク管理部110は、送信されたスイッチ情報によりネットワーク情報テーブル120を更新する(ステップS403Yes、S405)。
詳細には、ネットワーク管理部110は、受信したスイッチ識別子に一致する送信元スイッチ識別子121と、受信したスイッチ情報テーブル220の送信先スイッチ識別子221に一致する送信先スイッチ識別子122を含むエントリを、ネットワーク情報テーブル120から特定する。ネットワーク管理部110は、受信したスイッチ情報テーブル220で示されるネットワーク毎の転送容量223及び転送時間224から、ネットワーク毎の転送速度(転送容量/転送時間)を算出し、特定したエントリに記録する。
例えば、図7に示すスイッチ200−1から図13に示すスイッチ情報テーブル220を受け取った場合、ネットワーク管理部110は、図15に示すネットワーク情報テーブル120のように、送信元スイッチ識別子121が、スイッチ200−1のスイッチ識別子“スイッチx”に一致し、送信先スイッチ識別子122が送信先スイッチ識別子221“スイッチy”に一致するエントリを更新する。ここでは、ネットワーク300−1〜300−4(ネットワーク識別子“ネットワーク1”〜“ネットワーク4”)に対応する転送速度124として、図13に示す転送容量223を転送時間224で除した値“1000MB/sec”、“800MB/sec”、“300MB/sec”、“200MB/sec”が設定される。ここで、転送容量223が“0”、すなわち、まったく通信が行われていない場合は、転送速度124は“0”に設定される。
ステップS403、S404、S405の処理をネットワーク情報テーブル120の全てのエントリについて実施することで、例えば、図7に示すように全てのエントリの転送速度124が更新される。
次に、図16から図21を参照して、ネットワークフローテーブル130及びフローテーブル240の更新動作について説明する。図16は、本発明に係るネットワークフローテーブル130及びフローテーブル240の設定(更新)動作を示すフローチャートである。
ネットワーク管理部110は、更新周期140の経過に応じて、スイッチ200に対し負荷分散情報230の取得指示を行う(ステップS501Yes、S502)。スイッチ管理部210は、負荷分散情報230の取得指示を受けたら、ネットワーク管理部110に対し、自身のスイッチ識別子及び負荷分散情報230を送信する。尚、ステップS502の負荷分散情報230の取得指示のタイミングと、ステップS402のスイッチ情報の取得指示のタイミング、すなわち、ステップS502とステップS402の更新周期140は同じでも異なっていてもどちらでも良い。
ネットワーク管理部110は、負荷分散情報230の取得指示に対する応答が規定時間内にない場合、応答のないスイッチ200への通信ができなくなったものとして、当該スイッチ200に対するエントリをネットワーク情報テーブル120から削除する(ステップS503No、S504)。一方、負荷分散情報230の取得指示に対する応答として、スイッチ200からスイッチ識別子及び負荷分散情報230が送信されると、ネットワーク管理部110は、送信された負荷分散情報230に基づいてスイッチ間の通信に利用するネットワークを決定し、ネットワークフローテーブル130及び当該スイッチ200のフローテーブル240を設定(更新)する(ステップS503Yes、S505〜S508)。
先ず、ネットワーク管理部110は、ネットワーク情報テーブル120において、負荷分散情報230の通知元のスイッチ200のスイッチ識別子と一致する送信元スイッチ識別子121のエントリ(ネットワーク情報)のうち、送信先スイッチ識別子122毎に最大の転送速度124を最大転送速度として抽出する(ステップS505)。
ステップS505の具体例を説明する。ネットワーク管理部110は、受信したスイッチ識別子に一致する送信元スイッチ識別子121に対応するエントリを、送信元スイッチビューとしてネットワーク情報テーブル120から抽出する。ネットワーク管理部110は、送信元スイッチビューに現れる、すべての送信先スイッチ識別子122を送信先スイッチリストとして作成する。
ネットワーク管理部110は、所定の送信先スイッチ識別子122を含むエントリを送信元スイッチビューから抽出し、スイッチ間経路ビューとする。スイッチ間経路ビューは、送信元スイッチ識別子121に対応するスイッチ200から所定の送信先スイッチ識別子122のスイッチ200へ到るネットワーク300のネットワーク識別子123と、そのネットワーク300の転送速度124が登録されている。ネットワーク管理部110は、抽出したスイッチ間経路ビューの全エントリの中で、転送速度124の値が最大のものを探し、当該スイッチ間におけるネットワーク300の最大転送速度とする。ネットワーク管理部110は、このようなスイッチ間ネットワークの最大転送速度を、送信先スイッチリストに登録された全ての送信先スイッチに対して行う。これにより、負荷分散情報230の通知元のスイッチ200から他のスイッチ200への転送速度が最大となるネットワーク300が、送信先スイッチ毎に特定される。
次に、ネットワーク管理部110は、負荷分散情報230とステップS505で算出した最大転送速度から、許容転送速度を算出する。例えば、ネットワーク管理部110は、負荷分散情報230の転送閾値233と最大転送速度を乗じた値を許容転送速度として算出する。具体例として転送閾値233が60%であり、最大転送速度が1000MB/secであるとき、許容転送速度は600MB/secとなる。このようなスイッチ間ネットワークの許容転送速度を、送信先スイッチリストに登録された全ての送信先スイッチに対して行う。これにより、負荷分散情報230の通知元のスイッチ200から他のスイッチ200への許容転送速度が、送信先スイッチ毎に特定される。
次に、ネットワーク管理部110は、負荷分散情報230とステップS506で算出した許容転送速度に基づいて通信に使用するネットワークを絞り込み、ネットワークフローテーブル130に登録(更新)する(ステップS507)。ここでは、ネットワーク管理部110は、スイッチ間経路ビューのすべてのエントリについて、ステップS506で求めた許容転送速度と転送速度124を比較し、転送速度124が許容転送速度以上のエントリに絞り込む。このとき、転送速度124が0のエントリは絞込み結果から除外する。又、転送速度124が許容転送速度以上のエントリ数が、負荷分散情報230の最大ネットワーク数232より多い場合はさらに絞り込みが行われる。例えば、許容転送速度によって絞り込まれた結果から、転送速度124が高い順に、最大ネットワーク数232の個数のエントリまで絞り込まれる。このようなスイッチ間通信で使用するネットワークの絞り込み(スイッチ間経路ビューの絞り込み)を、送信先スイッチリストに登録された全ての送信先スイッチに対して行う。これにより、負荷分散情報230の通知元のスイッチ200から他のスイッチ200への通信に利用するネットワーク300が、送信先スイッチ毎に特定される。
ネットワーク管理部110は、上記処理によって絞り込んだエントリで規定されたネットワーク300を、当該エントリで規定された送信元スイッチ及び送信先スイッチの間で使用するネットワークとして設定する。詳細には、当該エントリの送信元スイッチ識別子及び送信先スイッチ識別子は、ネットワークフローテーブル130の送信元スイッチ識別子131及び送信先スイッチ識別子132として登録され、当該エントリのネットワーク識別子は、これらに対応するネットワーク識別子リスト133に登録される。このようなネットワークフローテーブル130への登録を、送信先スイッチリストに登録された全ての送信先スイッチに対して行う。これにより、負荷分散情報230の通知元のスイッチ200から他のスイッチ200への通信に利用するネットワーク300が、送信先スイッチ毎にネットワークフローテーブル130に登録される。
ステップS503、S504、S505、S506、S507の処理をネットワーク情報テーブル120の全てのエントリについて実施することで、コントローラ100と通信可能な全てのスイッチ200間の各々で利用するネットワーク300をネットワークフローテーブル130に登録することができる。
ネットワーク管理部110は、更新したネットワークフローテーブル130に基づいてスイッチ200のフローテーブル240を更新する(ステップS508)。ネットワーク管理部110は、スイッチ管理部210へ、更新対象のフローテーブルを送信する。ここでは、送信元スイッチ識別子131に一致するスイッチ識別子のスイッチ200に、当該送信元スイッチ識別子131に対応付けられた送信先スイッチ識別子132及びネットワーク識別子リスト133が送信される。スイッチ管理部210は、送信された送信先スイッチ識別子132及びネットワーク識別子リスト133を、送信先スイッチ識別子243及びネットワーク識別子リスト244として、自身のフローテーブル240に更新設定する。
スイッチ管理部210は、他のスイッチ200への通信があったとき、フローテーブル240を参照し、送信先スイッチ識別子243が当該他のスイッチ200のスイッチ識別子と一致するエントリのネットワーク識別子リスト244に記載されているネットワークを使用して通信を行う。ネットワーク識別子リスト244に複数の通信経路が含まれている場合はリンクアグリゲーションなどの従来技術を用いて通信を行う。具体的な通信方式については本発明の範囲外のため、省略する。
次に、ステップS505〜S508のネットワークの決定動作について、具体例を用いて説明する。ここでは、図7に示すシステムにおいて、スイッチ200−1から送信された負荷分散情報230に基づいてスイッチ200−1に設定するフローを決定する動作について説明する。
ネットワーク管理部110は、図17に示す負荷分散情報230及びスイッチ識別子“スイッチx”をスイッチ200−1から受け取ると、送信元スイッチ識別子121が“スイッチx”と一致するエントリを、スイッチxに関する送信元スイッチビューとして、ネットワーク情報テーブル120から抽出する。ここで抽出された送信元スイッチビューの一例を図18に示す。
ネットワーク管理部110は、送信元スイッチビューに現れる、すべての送信先スイッチ識別子が格納された送信先スイッチリストを作成する。図14を参照すると、送信元スイッチビューには送信先スイッチ識別子122として“スイッチy”のみが登場するため、送信先スイッチリストには送信先スイッチ識別子“スイッチy”が1個だけ登録される。
ネットワーク管理部110は、作成した送信元スイッチビューの送信先スイッチ識別子122がスイッチ識別子“スイッチy”と一致するエントリを抽出する。ここでは、送信元スイッチビューのすべてのエントリが該当するため、図14の送信元スイッチビューがそのまま、スイッチ200−1(“スイッチx”)を送信元とし、スイッチ200−2(“スイッチy”)を送信先としたスイッチ間経路ビューとなる。
続いて、ネットワーク管理部110は最大転送速度の抽出及び許容転送速度の計算を行う。ここでは、図18に示すスイッチ間経路ビューから、送信先スイッチ200−2に対する最大転送速度として1000MB/secが抽出される。又、図17に示す負荷分散情報230の転送閾値233が60%であることがことから、許容転送速度は600MB/secとなる。
ネットワーク管理部110は、使用するネットワークの絞り込みを行う。ここでは、図18に示すスイッチ間経路ビューから、転送速度124が許容転送速度“600MB/sec”に満たないエントリが除外される。これにより“ネットワーク3”と“ネットワーク4”を含むエントリは、利用ネットワークの候補から除外される。
続いて、ネットワーク管理部110は、残されたスイッチ間経路ビューのエントリ数をチェックする。エントリ数は2つであり、図13に示す負荷分散情報230から、最大ネットワーク数232は“2”であるので、十分な個数まで絞り込めており、絞り込み処理は終了する。本処理により絞り込まれた後のスイッチ間経路ビューを図19に示す。
ネットワーク管理部110は、図19のように絞り込まれたスイッチ間経路ビューに登場するすべてのネットワーク識別子123“ネットワーク1”、“ネットワーク2”を、使用ネットワークリストとして生成する。
ネットワーク管理部110は、使用ネットワークリストに基づいてネットワークフローテーブル130を更新する。更新されたネットワークフローテーブル130を図20に示す。スイッチ200−1の送信先スイッチリストには1つの要素“スイッチy”のみであるため、他の送信先スイッチに対する上記処理は行われず、図20に示すネットワークフローテーブル130が更新対象フローテーブルとしてスイッチ200−1に送信される。スイッチ200−1のスイッチ管理部210は、自身のフローテーブル240を、送信された更新対象フローテーブルに置き換える。これにより、スイッチ200−1のフローテーブル240(のアクション242)は図21に示すように書き換えられる。以降、スイッチ200−1は、スイッチ200−2を送信先としてパケット転送する場合、転送速度が許容速度600MB/secよりも速いネットワーク300−1、300−2のみを利用することとなる。
本発明によるコンピュータシステムでは、スイッチ200において収集したネットワークの負荷状況をコントローラ100で集約し、その結果に基づいたスイッチ200のフロー制御(使用ネットワークの決定)をコントローラ100によって行っている。このため、本発明によれば、通信ネットワークが存在するシステム(例示:ストレージシステム)において、通信に使用するネットワークを負荷分散ポリシに応じて自動的に判断できる。
又、本発明に係るコントローラ100は、スイッチ200において測定された通信転送速度によって負荷状況を把握しているため、複数のスイッチ200がネットワークの帯域を共有している場合でも、負荷状況を判断することが可能である。
更に、本発明に係るコントローラ100は、規定間隔でネットワークフローテーブルの更新を行っている。このため、ネットワークの障害や、通信速度の低下が発生に関わらず、自動的に適切な経路(通信状態の良好な経路)に切り替えることが可能である。本発明によるコンピュータシステムでは、スイッチ200の追加や移動、削除に例示されるように、動的に構成が変更されても、構成状況をコントローラ100において把握できる。コントローラ100は、構成変更後の通信経路における転送性能を定期的に取得し、最適経路によるフロー制御を実現できる。このため、ネットワーク内に障害が発生した場合でも、最適な通信経路を利用したスイッチ間通信が可能となる。
又、ネットワーク内の全通信について転送速度等の統計情報を取得しているため、FCoEなど、同一ネットワーク上にI/Oが混在するような場合についても、最適な通信経路を利用することが可能となる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。図1や図7に示したシステムの一例では、スイッチ200を2つとしていたが、これに限らず3つ以上の任意の個数のスイッチについても拡張可能である。例えば、4つのスイッチ200−1〜200−4を備えるシステムの一例を図22に示す。図22に示す一例では、4つのスイッチ200−1〜200−4のそれぞれの間に2つのネットワーク330−1、300−2が接続されている。又、スイッチ200−1〜200−4には、それぞれコンピュータ400−1〜400−4が接続されている。このようなシステムでも、上述の実施例と同様の動作により、最適ネットワークを利用したコンピュータ間通信が実現できる。
尚、本出願は、日本出願番号2012−003551に基づき、日本出願番号2012−003551における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. コントローラと、
    複数のネットワークを介して他のスイッチに接続され、前記コントローラによって設定されたフローエントリに従って、受信パケットの中継処理を行うスイッチと、
    を具備し、
    前記スイッチは、前記複数のネットワークのそれぞれを介して前記他のスイッチに検査用データを転送して、前記複数のネットワークのそれぞれの転送性能を取得し、前記転送性能を前記複数のネットワークのそれぞれに対応付けて前記コントローラに通知し、
    前記コントローラは、前記複数のネットワークのうち、前記転送性能が所定の閾値以上のネットワークを前記他のスイッチへの転送経路として規定したフローエントリを、前記スイッチのフローテーブルに設定し、
    前記コントローラは、前記スイッチから送信された転送性能に基づいて許容転送速度を算出し、転送性能が前記許容転送速度以上のネットワークを前記スイッチが利用するネットワークとして、前記スイッチのフローテーブルに設定する
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記スイッチは、前記コントローラによって定期的に行われる前記転送性能の取得指示に応じて、前記転送性能の取得及び通知を行う
    コンピュータシステム。
  3. 請求項1又は2に記載のコンピュータシステムにおいて、
    前記コントローラは、前記転送性能に基づいた前記スイッチに対するフローエントリの設定を定期的に行う
    コンピュータシステム。
  4. 請求項1〜3のいずれか一項に記載のコンピュータシステムにおいて、
    前記コントローラは、転送性能が前記許容転送速度以上のネットワークのうち、転送性能が上位のネットワークから、前記スイッチが利用可能な最大ネットワーク数以下のネットワークを、前記スイッチが利用するネットワークとして決定する
    コンピュータシステム。
  5. 請求項1からのいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
  6. 請求項1からのいずれか1項に記載のコンピュータシステムで利用されるスイッチ。
  7. コントローラと、
    複数のネットワークを介して他のスイッチに接続され、前記コントローラによって設定されたフローエントリに従って、受信パケットの中継処理を行うスイッチと、
    を具備するコンピュータシステムにおいて実行される通信方法であって、
    前記スイッチが、複数のネットワークのそれぞれを介して他のスイッチに検査用データを転送して、前記複数のネットワークのそれぞれの転送性能を取得するステップと、
    前記転送性能を前記複数のネットワークのそれぞれに対応付けて前記コントローラに通知するステップと、
    前記コントローラが、前記複数のネットワークのうち、前記転送性能が所定の閾値以上のネットワークを前記他のスイッチへの転送経路として規定したフローエントリを、前記スイッチのフローテーブルに設定するステップと
    前記コントローラが、前記スイッチから送信された転送性能に基づいて許容転送速度を算出し、転送性能が前記許容転送速度以上のネットワークを前記スイッチが利用するネットワークとして、前記スイッチのフローテーブルに設定するステップと
    を具備する
    通信方法。
  8. スイッチに接続された複数のネットワークのそれぞれの転送性能を前記スイッチから取得するステップと、
    前記スイッチは、受信パケットをフローテーブルで規定されたネットワークに転送し、
    転送性能が閾値以上のネットワークを転送経路として規定したフローエントリを、前記スイッチの前記フローテーブルに設定するステップと
    前記スイッチから送信された転送性能に基づいて許容転送速度を算出し、転送性能が前記許容転送速度以上のネットワークを前記スイッチが利用するネットワークとして、前記スイッチのフローテーブルに設定するステップと
    をコンピュータに実行させるネットワーク管理プログラムが格納された記録媒体。
JP2013553287A 2012-01-11 2013-01-08 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体 Expired - Fee Related JP5884832B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013553287A JP5884832B2 (ja) 2012-01-11 2013-01-08 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012003551 2012-01-11
JP2012003551 2012-01-11
JP2013553287A JP5884832B2 (ja) 2012-01-11 2013-01-08 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体
PCT/JP2013/050118 WO2013105551A1 (ja) 2012-01-11 2013-01-08 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体

Publications (2)

Publication Number Publication Date
JPWO2013105551A1 JPWO2013105551A1 (ja) 2015-05-11
JP5884832B2 true JP5884832B2 (ja) 2016-03-15

Family

ID=48781498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013553287A Expired - Fee Related JP5884832B2 (ja) 2012-01-11 2013-01-08 コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体

Country Status (5)

Country Link
US (1) US9654398B2 (ja)
EP (1) EP2804351A4 (ja)
JP (1) JP5884832B2 (ja)
CN (1) CN104054304A (ja)
WO (1) WO2013105551A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6007799B2 (ja) * 2013-01-16 2016-10-12 富士通株式会社 集中管理型網制御システム
JP6206009B2 (ja) * 2013-09-04 2017-10-04 沖電気工業株式会社 パケット通信装置及びシステム
CN103532878B (zh) 2013-09-26 2017-01-04 华为技术有限公司 数据包的处理方法和网络流量的管理方法及装置和系统
KR20150034627A (ko) * 2013-09-26 2015-04-03 주식회사 케이티 플로우 테이블을 업데이트하는 방법
WO2015050197A1 (ja) * 2013-10-03 2015-04-09 日本電気株式会社 通信システム、制御装置、通信方法及びプログラム
WO2015136870A1 (ja) * 2014-03-10 2015-09-17 日本電気株式会社 通信経路制御装置、通信経路制御システム、通信経路制御プログラムが記憶された記憶媒体、および通信経路制御方法
CN104980361B (zh) 2014-04-01 2018-09-21 华为技术有限公司 一种负载均衡方法、装置及系统
US9507678B2 (en) * 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
US10341376B2 (en) 2014-12-29 2019-07-02 Guidewire Software, Inc. Diversity analysis with actionable feedback methodologies
WO2017078986A1 (en) 2014-12-29 2017-05-11 Cyence Inc. Diversity analysis with actionable feedback methodologies
US11863590B2 (en) 2014-12-29 2024-01-02 Guidewire Software, Inc. Inferential analysis using feedback for extracting and combining cyber risk information
US11855768B2 (en) 2014-12-29 2023-12-26 Guidewire Software, Inc. Disaster scenario based inferential analysis using feedback for extracting and combining cyber risk information
US10050989B2 (en) * 2014-12-29 2018-08-14 Guidewire Software, Inc. Inferential analysis using feedback for extracting and combining cyber risk information including proxy connection analyses
US10050990B2 (en) 2014-12-29 2018-08-14 Guidewire Software, Inc. Disaster scenario based inferential analysis using feedback for extracting and combining cyber risk information
US9699209B2 (en) 2014-12-29 2017-07-04 Cyence Inc. Cyber vulnerability scan analyses with actionable feedback
US10404748B2 (en) 2015-03-31 2019-09-03 Guidewire Software, Inc. Cyber risk analysis and remediation using network monitored sensors and methods of use
CN107438994B (zh) 2015-06-26 2021-02-05 慧与发展有限责任合伙企业 用于服务器负载均衡的方法、设备和计算机存储介质
CN106817299B (zh) 2015-11-27 2019-11-29 新华三技术有限公司 软件定义网络的表项生成方法和装置以及报文转发方法
US12387270B2 (en) 2017-07-26 2025-08-12 Guidewire Software, Inc. Synthetic diversity analysis with actionable feedback methodologies
CN114026830B (zh) * 2019-06-25 2024-06-25 华为技术有限公司 用于在软件定义网络中利用有限转发规则改进负载均衡的设备和方法
JP2022076833A (ja) * 2020-11-10 2022-05-20 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
FR3128342B1 (fr) * 2021-10-14 2024-11-08 Thales Sa Procede de repartition de flux de donnees entre des reseaux etendus et systeme de communication
JP7764341B2 (ja) * 2022-09-30 2025-11-05 株式会社日立情報通信エンジニアリング ネットワークオーケストレーション装置、ネットワークオーケストレーションシステム及びネットワークオーケストレーション方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3765198B2 (ja) 1999-06-08 2006-04-12 株式会社日立製作所 計算機システム
JP2002064536A (ja) * 2000-08-14 2002-02-28 Nippon Telegr & Teleph Corp <Ntt> エンド−エンド品質保証方法及び装置
CN1229369C (zh) 2001-05-23 2005-11-30 沈阳药科大学 滨蒿内酯对照品的制备方法
US7408889B2 (en) * 2002-10-11 2008-08-05 Nokia Corporation Dynamic tunneling peering with performance optimization
JP3769544B2 (ja) 2003-01-31 2006-04-26 富士通株式会社 伝送帯域制御装置
JP2006060579A (ja) 2004-08-20 2006-03-02 Fujitsu Ltd アプリケーション特性に応じて複数の経路を同時に利用する通信装置
JP4648838B2 (ja) 2006-01-16 2011-03-09 三菱電機株式会社 ネットワーク監視支援装置、ネットワーク監視支援方法およびネットワーク監視支援プログラム
JP5121161B2 (ja) 2006-04-20 2013-01-16 株式会社日立製作所 記憶システム、パス管理方法及びパス管理装置
US8098584B2 (en) * 2009-08-07 2012-01-17 Microsoft Corporation Optimization of traffic routing for data center services
JP5113218B2 (ja) 2010-06-17 2013-01-09 パナソニック株式会社 携帯端末装置、表示制御方法、及び表示制御プログラム

Also Published As

Publication number Publication date
CN104054304A (zh) 2014-09-17
EP2804351A1 (en) 2014-11-19
US9654398B2 (en) 2017-05-16
WO2013105551A1 (ja) 2013-07-18
US20140328179A1 (en) 2014-11-06
JPWO2013105551A1 (ja) 2015-05-11
EP2804351A4 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
JP5884832B2 (ja) コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体
JP6319604B2 (ja) Sdnコントローラ、データセンターシステムおよびルーティング接続方法
JP2024012632A (ja) 強化されたsd-wanパスの品質測定および選択
JP5794320B2 (ja) コントローラ、負荷分散方法、プログラム、コンピュータシステム、制御装置
CN103081410B (zh) 通信质量监视系统、通信质量监视方法
JP5488979B2 (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
US20140241367A1 (en) Communication system, controller, communication method, and program
JP5811196B2 (ja) コンピュータシステム、及び仮想ネットワークの可視化方法
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
JPWO2012023538A1 (ja) 通信装置、通信システム、通信方法、および記録媒体
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
CN103262046A (zh) 服务器管理装置、服务器管理方法和程序
WO2014017631A1 (ja) 制御装置、通信システム、通信方法及びプログラム
JP6236925B2 (ja) 伝送装置および伝送方法
JP6070700B2 (ja) パケット転送システム、制御装置、パケット転送方法及びプログラム
WO2014157512A1 (ja) 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム
JP5681138B2 (ja) 管理装置、通信システム、中継装置、通信方法、およびプログラム
JP5915755B2 (ja) 情報処理装置
JP2017045301A (ja) コンピュータシステム
JP5640657B2 (ja) レイヤ2スイッチ、転送方法及び転送プログラム
JP2011193403A (ja) リング型ネットワーク、中継装置及び帯域制御方法
JP6264469B2 (ja) 制御装置、通信システム及び中継装置の制御方法
JP2017158103A (ja) 通信管理装置、通信システム、通信管理方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160125

R150 Certificate of patent or registration of utility model

Ref document number: 5884832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees