JPWO2011049135A1 - ネットワークシステムとその制御方法、及びコントローラ - Google Patents

ネットワークシステムとその制御方法、及びコントローラ Download PDF

Info

Publication number
JPWO2011049135A1
JPWO2011049135A1 JP2011537284A JP2011537284A JPWO2011049135A1 JP WO2011049135 A1 JPWO2011049135 A1 JP WO2011049135A1 JP 2011537284 A JP2011537284 A JP 2011537284A JP 2011537284 A JP2011537284 A JP 2011537284A JP WO2011049135 A1 JPWO2011049135 A1 JP WO2011049135A1
Authority
JP
Japan
Prior art keywords
relay processing
processing devices
network
switch
route
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.)
Withdrawn
Application number
JP2011537284A
Other languages
English (en)
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
Publication of JPWO2011049135A1 publication Critical patent/JPWO2011049135A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

ネットワークシステムにおいて、各サーバは少なくとも1つの中継処理装置に割り当てられる。また、ネットワーク中には複数のスイッチが配置され、コントローラがそれらスイッチを制御する。具体的には、コントローラは、要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。このとき、コントローラは、サーバと中継処理装置との割り当て関係を示す割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、そのターゲットを含むように経路を設計する。そして、コントローラは、設計経路上の各スイッチに対して、当該設計経路に沿ってパケットが転送されるようにフローテーブルを設定することを指示する。

Description

本発明は、ネットワークシステムとその制御方法に関する。
ネットワークシステムにおいて、負荷分散(load balancing)は重要な課題の1つである。例えば、非特許文献1に記載された技術は、エンタープライズネットワークのような非構造的なネットワークにおいて、ネットワーク輻輳状態とサーバ負荷状態を考慮することによって総合的な負荷分散を実現している。
特許文献1(特開2005−64882号公報)には、高位レイヤ処理システムが開示されている。その高位レイヤ処理システムにおいて、システムのスケーラビリティ確保のため、複数の高位レイヤ処理装置が並列に配置される。それら高位レイヤ処理装置群のリソースを均等に活用するために、高位レイヤ処理装置群の前段にパケット振分装置が設けられる。パケット振分装置は、受信パケットのL3以下の情報に基づいて、複数の高位レイヤ処理装置に対してパケットを振り分ける。具体的には、パケット振分装置は、ハッシュ値を受信パケットに組み込み、そのパケットを高位レイヤ処理装置に送信する。高位レイヤ処理装置は、そのパケットを受け取り、自分が輻輳するおそれがある場合にはその旨をパケット振分装置に通知する。その場合、パケット振分装置は、他の高位レイヤ処理装置を選択する。これにより、特定の高位レイヤ処理装置への負荷集中が防止される。
特開2005−64882号公報
Nikhil Handigol et al., "Plug−n−Serve: Load−Balancing Web Traffic using OpenFlow", ACM SIGCOMM, 2009, (http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf)
上記特許文献1に記載された技術によれば、複数の高位レイヤ処理装置の前段にパケット振分装置が設けられ、それにより、特定の高位レイヤ処理装置への負荷集中が抑制される。しかしながらこの場合、そのパケット振分装置自体がボトルネックとなる。従って、パケット振分装置自体のスケーラビリティも確保することが好ましい。
より一般的に、パケット振分装置に限らず、ロードバランサ(load balancer;負荷分散装置)やファイアウォール(fire wall)等の装置は、以下「中継処理装置」と参照される。本発明の1つの目的は、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することにある。
本発明の1つの観点において、ネットワークシステムが提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、複数のスイッチを制御するコントローラと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の他の観点において、ネットワーク中に配置された複数のスイッチを制御するコントローラが提供される。ネットワークには複数のサーバと複数の中継処理装置が接続される。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の更に他の観点において、ネットワークシステムの制御方法が提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。制御方法は、(A)複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、(B)設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示するステップと、を含む。(A)経路を設計するステップは、(A1)ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、ネットワーク構成情報は、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示し、割当情報は、複数のサーバと複数の中継処理装置との間の割り当て関係を示し、(A2)割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、(A3)ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計するステップと、を含む。
本発明によれば、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、本発明の実施の形態に係るネットワークシステムの構成例を示すブロック図である。 図2は、本発明の実施の形態におけるスイッチの構成例を示すブロック図である。 図3は、本発明の実施の形態におけるフローテーブルを示す概念図である。 図4は、本発明の実施の形態に係るネットワークシステムの動作を示すフローチャートである。 図5Aは、本発明の実施の形態に係るコントローラのハードウェア構成例を示すブロック図である。 図5Bは、本発明の実施の形態に係るコントローラの機能構成を示す機能ブロック図である。 図6は、本発明の実施の形態における割当情報を示す概念図である。 図7は、本発明の実施の形態におけるステップS110(経路設計)の処理を示すフローチャートである。 図8は、本発明の実施の形態におけるステップS140の処理を示すフローチャートである。 図9は、本発明の実施の形態におけるステップS150の処理を示すフローチャートである。 図10は、本発明の実施の形態におけるステップS160の処理を示すフローチャートである。 図11は、本発明の実施の形態におけるステップS170の処理を示すフローチャートである。 図12は、第1の例におけるネットワークシステムの構成を示している。 図13は、第1の例におけるネットワークシステムの論理構成を示している。 図14は、第1の例における割当情報を示している。 図15は、第2の例におけるネットワークシステムの構成を示している。 図16は、第2の例におけるネットワークシステムの論理構成を示している。 図17は、第2の例における割当情報を示している。
添付図面を参照して、本発明の実施の形態を説明する。
1.ネットワークシステム
図1は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、複数のスイッチ10、複数の中継処理装置20、複数のサーバ30、及びコントローラ100を備えている。
中継処理装置20及びサーバ30は、スイッチ10を介してネットワークに接続されている。中継処理装置20は、サーバ30宛のフローを処理するための専用装置である。中継処理装置20としては、ロードバランサ(負荷分散装置)やファイアウォールといったネットワークアプライアンスが例示される。ネットワークアプライアンスは、専用のハードウェアによって、あるいは、汎用サーバにソフトウェアを実装することによって実現される。あるいは、ネットワークアプライアンスは、汎用サーバ上の仮想マシン(Virtual Machine)にソフトウェアを実装することによって実現されてもよい(仮想アプライアンスと呼ばれる)。
本実施の形態では、中継処理装置20のスケーラビリティを確保するため、複数の中継処理装置20が設けられる。また、複数の中継処理装置20と複数のサーバ30とは互いに関連付けられる。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。そして、各中継処理装置20は、自身に割り当てられたサーバ30へのフローのパケットに対して、所定の処理(ロードバランサとしての処理、ファイアウォールとしての処理、等)を実行する。
尚、中継処理装置20及びサーバ30は、管理装置(図示されない)によってそれぞれ管理される。それぞれの管理装置は、コントローラ100からの要求に応じて、中継処理装置20及びサーバ30の識別情報等をコントローラ100に通知する。
複数のスイッチ10は、ネットワーク内に分散的に配置されている。スイッチ10間はリンク(回線)で接続されており、複数のスイッチ10によってスイッチネットワークが構成される。このスイッチネットワークは、外部ネットワークと中継処理装置20、サーバ30との間、及び、中継処理装置20とサーバ30との間に介在している。各スイッチ10は、受信したパケットを指定された転送先に転送する機能を有している。その指定を行うのが、コントローラ100である。コントローラ100は、制御回線5を介してスイッチ10に接続されており、制御回線5を介して各スイッチ10を制御する機能を有している。
図2は、スイッチ10の構成例を示している。スイッチ10は、スイッチ処理部11、コントローラ通信部12、記憶部13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。スイッチ処理部11は、入力ポートから出力ポートへのパケット転送等、スイッチの主要な処理を行う。コントローラ通信部12は、制御回線5を介してコントローラ100に接続されており、コントローラ100と通信を行う。
記憶部13には、フローテーブル(転送テーブル)TBLが格納されている。このフローテーブルTBLは、パケットの入力元(入力ポート)と転送先(出力ポート)との対応関係を、フロー毎に示している。スイッチ処理部11は、記憶部13に格納されているフローテーブルTBLを参照することによって、入力ポートから受け取ったパケットを指定された出力ポートに転送することができる。より詳細には、次の通りである。
図3は、フローテーブルTBLを示す概念図である。フローテーブルTBLは、フロー毎に異なるエントリを有している。1つのエントリは、入力ポート、ヘッダ情報、出力ポート、及びアクションの対応関係を示している。ヘッダ情報は、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス等、パケットヘッダから得られる情報である。このヘッダ情報を用いることにより、フローを識別することができる。アクションは、受信パケットに対する処理内容(転送、消去等)を示す。
図4は、本実施の形態に係るネットワークシステム1の動作を示すフローチャートである。スイッチ10は、あるフローのパケットを受信する(ステップS11)。具体的には、スイッチ処理部11が、入力ポートを通してパケットを受信する。入力ポートからパケットを受け取ると、スイッチ処理部11は、受信パケットのヘッダ情報を抽出する。そして、スイッチ処理部11は、抽出したヘッダ情報と入力ポートを検索キーとして用いてフローテーブルTBLの検索を行う(ステップS12)。検索キーに一致するエントリが有る場合(ステップS13;Yes)、スイッチ処理部11は、該当エントリに示されているアクションを実行する(ステップS14)。典型的には、スイッチ処理部11は、該当エントリに示される出力ポートに受信パケットを出力する。
一方、検索キーに一致するエントリがフローテーブルTBLに無い場合(ステップS13;No)、それは、スイッチ10が当該フローのパケットを初めて受信したことを意味する。この場合、スイッチ処理部11は、当該フローのパケットの転送経路を設定するよう、コントローラ100に対して要求する。具体的には、スイッチ処理部11は、コントローラ通信部12を介して、受信パケット(あるいは受信パケットのヘッダ情報)をコントローラ100に送信する(ステップS15)。この経路設定要求をコントローラ100に送信したスイッチ10は、以下「要求元スイッチ」と参照される。
コントローラ100は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、コントローラ100は、当該フローの経路を設計する(ステップS110)。より詳細には、コントローラ100は、経路設定要求からパケットの宛先アドレスを抽出し、要求元スイッチからその宛先アドレスまでの経路を設計(決定)する。このとき、本実施の形態に係るコントローラ100は、複数の中継処理装置20の中から最適なものを選び、最適な中継処理装置20を通過するようにフロー経路を設計する。詳細は後述される(第2節参照)。
次に、コントローラ100は、設計経路上のスイッチ10(要求元スイッチを含む)に対して、設計経路に沿ったフロー通信を実現するように指示する(ステップS120)。具体的には、コントローラ100は、設計経路上の各スイッチ10に対して、当該設計経路をフローテーブルTBLに反映するよう指示する。すなわち、コントローラ100は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
フローテーブルTBLの設定後、コントローラ100は、受信パケットを要求元スイッチに返送する(ステップS130)。それ以降、設計経路上の各スイッチ10は、当該フローのパケットを受け取った際に、そのパケットを指定された経路に沿って転送することができる。
このように、コントローラ100は、フロー経路を決定し、そのフロー経路に沿った通信が実現されるようにネットワーク中のスイッチ10を制御する。つまり、コントローラ100は、スイッチ10を制御することによって、ネットワーク通信を適宜制御することができる。このような処理を実現するためのコントローラ100とスイッチ10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ100となり、「Openflow Switch」が各スイッチ10となる。Openflowの「Secure Channel」を利用することにより、各スイッチ10のフローテーブルTBLの設定が可能である。
尚、本実施の形態に係るネットワークシステム1は、例えばデータセンター(data center)に適用される。一般的に、データセンターではサーバ群はラックに収容される。単一テナントの場合、ラック内のサーバ、あるいは、サーバ内の仮想マシンは全て、同じテナントに属することになる。一方、マルチテナントの場合、ラック内に複数のテナント環境が混在し得る。その場合、VLANなどのネットワーク仮想化技術によって、物理ネットワーク上に仮想的なネットワークが多重される。そして、個々の仮想的なネットワークにおいて、中継処理装置及びサーバが接続管理される。
2.コントローラ
2−1.構成
次に、本実施の形態に係るコントローラ100を詳しく説明する。図5Aは、コントローラ100のハードウェア構成例を示すブロック図である。コントローラ100は、CPU(Central Processing Unit)101、メモリ102、二次記憶装置103、ネットワークインタフェース104等を備える計算機である。
図5Bは、コントローラ100の機能構成を示す機能ブロック図である。コントローラ100は、経路設計部110、スイッチ設定部120、スイッチ通信部130、割当管理部140、管理インタフェース150、及び記憶部160を備えている。
経路設計部110は、上述のステップS110(経路設計)を実行する。スイッチ設定部120は、上述のステップS120(スイッチ設定)を実行する。スイッチ通信部130は、制御回線5を介して各スイッチ10に接続されており、各スイッチ10と通信を行う。割当管理部140は、後述される割当管理処理(ステップS140、S150、S160、S170)を実行する。管理インタフェース150は、中継処理装置20及びサーバ30の管理装置と通信を行う。スイッチ通信部130及び管理インタフェース150は、図5A中のネットワークインタフェース104に対応している。経路設計部110、スイッチ設定部120、割当管理部140等は、CPU101がコンピュータプログラムを実行することにより実現される。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
記憶部160は、RAM(Random Access Memory)やHDD(Hard Disk Drive)といった記憶装置であり、図5A中のメモリ102及び二次記憶装置103に相当する。この記憶部160には、ネットワーク構成情報TPL、負荷情報LAD、リンク情報LNK、設計経路情報RTE、ポリシ情報POL、割当情報ASNなどが格納される。
ネットワーク構成情報TPLは、ネットワークの物理構成及び論理構成を示す。すなわち、ネットワーク構成情報TPLは、複数のサーバ30、複数の中継処理装置20、複数のスイッチ10間の接続状態(トポロジ)を示す。例えば、ネットワーク構成情報TPLは、各サーバ30がどのスイッチ10のどのポート15に接続されているか、各中継処理装置20がどのスイッチ10のどのポート15に接続されているか、などを示す。
負荷情報LADは、それぞれの中継処理装置20の負荷を示す。各中継処理装置20の負荷は、各中継処理装置20によって計測される。コントローラ100は、中継処理装置20の管理装置を通して、計測された負荷に関する情報を取得する。
リンク情報LNKは、ネットワークにおけるリンク(回線)の状態を示す。リンク状態は、リンク容量(通信能力)及び輻輳状態を含む。リンク容量は予め決まっている。輻輳状態は、各スイッチ10により計測され、コントローラ100に通知される。尚、ここでのリンクは、物理的な回線だけでなく、物理的な回線を分割した仮想リンクも含む。この場合、スイッチ間の通信能力は、仮想リンクの帯域幅で規定される。
設計経路情報RTEは、ステップS110の結果作成される情報であり、あるフローのパケットの転送経路を示す。
ポリシ情報POLは、中継処理装置20(ロードバランサ、ファイアウォール)のポリシを示す。このポリシ情報POLは、中継処理装置20へのポリシ設定に利用される。
割当情報ASNは、複数のサーバ30と複数の中継処理装置20との間の割り当て関係を示す。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。図6は、割当情報ASNを示す概念図である。例えば、割当情報ASNは、各中継処理装置20の識別情報と、各中継処理装置20に割り当てられたサーバ30の識別情報及びIPアドレスを示す。
2−2.経路設計(ステップS110)及びスイッチ設定(ステップS120)
ステップS110において、経路設計部110は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、経路設計部110は、要求元スイッチから宛先までのフローの経路を設計する。図7に示されるフローチャートを参照して、本実施の形態におけるステップS110を以下に詳しく説明する。
ステップS111:
経路設計部110は、受け取った経路設定要求からパケットの宛先IPアドレスを抽出する。続いて、経路設計部110は、記憶部160に格納されている上記割当情報ASNを参照して、宛先IPアドレスに関連付けられている中継処理装置20を抽出する。つまり、経路設計部110は、割当情報ASNを参照することによって、宛先IPアドレスで指定されるサーバに対して割り当てられている中継処理装置20を抽出する。
ステップS113:
抽出数が1の場合、すなわち、宛先IPアドレスが単一の中継処理装置20にだけ割り当てられている場合(ステップS112;Yes)、経路設計部110は、その単一の中継処理装置20を“ターゲット”として選択する。
ステップS114:
抽出数が複数の場合、すなわち、宛先IPアドレスが2以上の中継処理装置20に割り当てられている場合(ステップS112;No)、経路設計部110は、それら中継処理装置20のうちいずれか1つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部110は、通信効率や中継処理装置20の負荷分散を考慮する。そのため、経路設計部110は、記憶部160に格納されているリンク情報LINKあるいは/及び負荷情報LADを参照する。そして、経路設計部110は、通信効率や負荷分散の観点から最適な1つの中継処理装置20をターゲットとして選択する。
ステップS115:
経路設計部110は、ネットワーク構成情報TPLを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部110は、上述の選択ターゲットを通過するように経路を設計(決定)する。
ステップS116:
経路設計部110は、設計した経路を示す設計経路情報RTEを作成し、その設計経路設計情報RTEを記憶部160に格納する。
その後、スイッチ設定部120は、記憶部160に格納された設計経路情報RTEを参照して、ステップS120を実行する。具体的には、スイッチ設定部120は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
以上に説明されたように、本実施の形態によれば、中継処理装置20のスケーラビリティを確保するために、複数の中継処理装置20が設けられる。更に、それら複数の中継処理装置20の前段に複数のスイッチ10が設けられる。コントローラ100は、複数の中継処理装置20の中から宛先に応じた適切なものをターゲットとして選択し、そのターゲットを通過するように経路を設計する。そして、設計経路に沿ってパケットが転送されるように、中継処理装置20の前段に設けられたスイッチ10を制御する。これは、複数の中継処理装置20に対するフローの分配(振り分け)が、スイッチ10とコントローラ100によって実現されていることを意味する。従って、状況に応じて、中継処理装置20を簡単にスケールアウトすることができる。このように、本実施の形態によれば、中継処理装置20のスケーラビリティを容易に確保することができる。
2−3.割当管理
例えばサーバ30や中継処理装置20が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ100の割当管理部140は、割当情報ASNの更新を行う。
(ステップS140:サーバ追加)
図8を参照して、新規サーバをネットワークに追加登録する場合の処理(ステップS140)を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
ステップS141:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS142:
割当管理部140は、ネットワーク構成情報TPL(論理的なネットワーク接続関係)と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置20を決定する。このとき、割当管理部140は、新規サーバに必要な機能を有する中継処理装置20を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部140は、ロードバランサ機能をもつ中継処理装置20を選択する。
ステップS143:
割当管理部140は、ステップS142で選択された中継処理装置20に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置20に登録されてもよい。中継処理装置20がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置20がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ100に保持しておく。
ステップS144:
割当管理部140は、割当情報ASNを更新する。
(ステップS150:サーバ削除)
図9を参照して、サーバを登録から削除する場合の処理(ステップS150)を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
ステップS151:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから削除サーバ情報を取得する。
ステップS152:
割当管理部140は、割当情報ASNを参照して、削除サーバに割り当てられている中継処理装置20を認識する。
ステップS153:
割当管理部140は、ステップS152で得られた中継処理装置20から、サーバ情報を削除する。
ステップS154:
割当管理部140は、割当情報ASNを更新する。
(ステップS160:中継処理装置の追加)
図10を参照して、新規中継処理装置を追加する場合の処理(ステップS160)を説明する。典型的には、典型的には、中継処理装置20の性能が足りなくなった場合や、サーバ30までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
ステップS161:
割当管理部140は、中継処理装置20の管理装置あるいは中継処理装置20の設定情報ファイルから、新規中継処理装置の識別情報(機能、アドレス等)及び接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS162:
割当管理部140は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置20が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
ステップS163:
割当管理部140は、ステップS162で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
ステップS164:
割当管理部140は、割当情報ASNを更新する。
(ステップS170:割当サーバ数の変更)
図11を参照して、中継処理装置20に対する割当サーバ数を変更する場合の処理(ステップS170)を説明する。
ステップS171:
中継処理装置20は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ100に通知する。あるいは、コントローラ100の負荷情報収集部(図示されない)が、各中継処理装置20から計測負荷情報を収集してもよい。割当管理部140は、それぞれの中継処理装置20の負荷を示す上述の負荷情報LADを記憶部160に格納する。
ステップS172:
割当管理部140は、負荷情報LADを参照し、各中継処理装置20の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合(ステップS172;No)、処理は終了する。
ステップS173:
一方、ある中継処理装置20(移行元の中継処理装置)に関する計測負荷が閾値を超えている場合(ステップS172;Yes)、割当管理部140は、他の中継処理装置20に余裕があるかどうか調べる。余裕のある他の中継処理装置20が有る場合(ステップS173;Yes)、割当管理部140は、その中継処理装置20を移行先の中継処理装置とする。
ステップS174:
一方、余裕のある中継処理装置20が他に無い場合(ステップS173;No)、上記ステップS160と同様に、新規中継処理装置が追加される。この場合、割当管理部140は、新規中継処理装置を移行先の中継処理装置とする。
ステップS175:
割当管理部140は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部140は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
ステップS176:
割当管理部140は、割当情報ASNを更新する。このようにして、各中継処理装置20に割り当てるサーバ数を、各中継処理装置20の負荷に応じて増減させることが可能となる。それにより、中継処理装置20のリソースを効率的に利用することが可能となる。
3.具体例
3−1.第1の例:ロードバランサ
図12〜図14を参照して、本実施の形態の第1の例を説明する。図12は、第1の例におけるネットワークシステム1の構成を示している。図13は、第1の例におけるネットワークシステム1の論理構成を示している。図14は、第1の例における割当情報ASNを示している。
第1の例では、中継処理装置20がロードバランサLBである。図12に示されるように、第1のロードバランサLB1がスイッチ10−1に接続されており、第2のロードバランサLB2がスイッチ10−2に接続されている。第1のロードバランサLB1には、20台のサーバSV1−1〜SV1−20が割り当てられており、第1のロードバランサLB1は、それらサーバSV1−1〜SV1−20に対する負荷分散を行う。第2のロードバランサLB2には、10台のサーバSV2−1〜SV2−10が割り当てられており、第2のロードバランサLB2は、それらサーバSV2−1〜SV2−10に対する負荷分散を行う。
図13及び図14に示されるように、ロードバランサLB1、LB2が処理するサーバ群の仮想IPアドレスは共通の「20.1.1.1」であるとする。各ロードバランサLB1、LB2は、宛先IPアドレスが「20.1.1.1」であるパケットを受信すると、配下の複数の実サーバ30のうち1つを選択し、その実サーバに受信パケットを振り分ける(どの実サーバに送信しても処理は可能である)。つまり、宛先IPアドレスは複数のサーバSV間で共通であり、その単一の宛先IPアドレスが2つのロードバランサLB1、LB2に対応付けられている。これは、各サーバSVが、2つのロードバランサLB1、LB2に割り当てられていることと等価である。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10−2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10−2に近い第2のロードバランサLB2の配下に組み込む(ステップS142)。続いて、コントローラ100は、第2のロードバランサLB2のロードバランスグループに、新規サーバSV3のサーバ情報を追加する(ステップS143)。そして、コントローラ100は、図14で示されるように割当情報ASNを更新する(ステップS144)。
尚、並列で第1のロードバランサLB1にも、新規サーバSV3を少ない重み付けで登録してもよい。この場合、サーバSV3を利用するトラヒックのほとんどは第2のロードバランサLB2で処理されるが、第1のロードバランサLB1の配下のサーバSV1−1〜SV1−20が過負荷のときにサーバSV3を選択するといった処理も可能となる。
スイッチ10−4(図12参照)が、「宛先IPアドレス=20.1.1.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10−4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10−4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.1.1」を抽出する。更に、経路設計部110は、図14に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.1.1」に対応付けられている2台のロードバランサLB1、LB2を抽出する(ステップS111、ステップS112;No)。
この場合、経路設計部110は、通信効率や負荷分散を考慮して、2台のロードバランサLB1、LB2のうちいずれか1つをターゲットとして選択する(ステップS114)。例えば、図12に示されるように、第1のロードバランサLB1が接続されているスイッチ10−1と要求元スイッチ10−4との間のリンク容量が1Gbpsであり、第2のロードバランサLB2が接続されているスイッチ10−2と要求元スイッチ10−4との間のリンク容量が10Gbpsである場合を考える。経路設計部110は、ネットワーク構成情報TPLやリンク情報LNKに基づいて、第2のロードバランサLB2の方をターゲットとして選択する。
経路設計部110は、要求元スイッチ10−4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のロードバランサLB2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10−4、10−2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10−4、10−2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のロードバランサLB2は、配下のサーバSV2−1〜2−10、SV3に対して分散処理を実施する。
3−2.第2の例:ファイアウォール
図15〜図17を参照して、本実施の形態の第2の例を説明する。図15は、第2の例におけるネットワークシステム1の構成を示している。図16は、第2の例におけるネットワークシステム1の論理構成を示している。図17は、第2の例における割当情報ASNを示している。
第2の例では、中継処理装置20がファイアウォールFWである。ファイアウォールFWは、個別の宛先サーバ30に対するパケットを中継する。図15に示されるように、第1のファイアウォールFW1がスイッチ10−1に接続されており、第2のファイアウォールFW2がスイッチ10−2に接続されている。第1のファイアウォールFW1には、20台のサーバSV1−1〜SV1−20が割り当てられており、第1のファイアウォールFW1は、それらサーバSV1−1〜SV1−20に対するパケットを中継する。第2のファイアウォールFW2には、10台のサーバSV2−1〜SV2−10が割り当てられており、第2のファイアウォールFW2は、それらサーバSV2−1〜SV2−10に対するパケットを中継する。
図16及び図17に示されるように、ファイアウォールFW1、FW2の各々のIPアドレスは「20.1.1.2」である。各ファイアウォールFW1、FW2は、「IPアドレス=20.1.1.2」が転送次ホップとして指定されたパケットを受信し、ファイアウォールポリシに従ってフィルタ処理を行ったのち、当該パケットを宛先IPアドレスで指定される個々のサーバ30へ転送する。尚、ファイアウォールポリシは、ポリシ情報POLに従って、コントローラ100によって各ファイアウォールFW1、FW2に設定される。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10−2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10−2に近い第2のファイアウォールFW2の配下に組み込む(ステップS142)。そして、コントローラ100は、図17で示されるように割当情報ASNを更新する(ステップS144)。但し、第1のファイアウォールFW1からもサーバSV3に接続は可能である。サーバSV3を利用するトラヒックのほとんどが第2のファイアウォールFW2から接続されるが、第2のファイアウォールFW2が過負荷のときには、第1のファイアウォールFW1を介してサーバSV3に接続することも可能である。
スイッチ10−4(図15参照)が、「宛先IPアドレス=20.1.3.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10−4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10−4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.3.1」を抽出する。更に、経路設計部110は、図17に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.3.1」に対応付けられている第2のファイアウォールFW2を抽出する(ステップS111、ステップS112;Yes)。この場合、経路設計部110は、この第2のファイアウォールFW2をターゲットとして選択する(ステップS113)。
経路設計部110は、要求元スイッチ10−4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のファイアウォールFW2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10−4、10−2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10−4、10−2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のファイアウォールFW2は、宛先IPアドレスで指定されるサーバSV3に対するパケットを中継する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
本出願は、2009年10月23日に出願された日本国特許出願2009−244872を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (9)

  1. ネットワークに接続された複数のサーバと、
    前記ネットワークに接続された複数の中継処理装置と、
    前記ネットワーク中に配置された複数のスイッチと、
    前記複数のスイッチを制御するコントローラと
    を備え、
    前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
    前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
    前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
    前記コントローラは、
    記憶部と、
    前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
    前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
    を備え、
    前記記憶部には、
    前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
    前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
    が格納され、
    前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
    前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち2以上の中継処理装置に割り当てられており、
    前記経路設計部は、前記2以上の中継処理装置のうちいずれか1つを前記ターゲットとして選択する
    ネットワークシステム。
  3. 請求項2に記載のネットワークシステムであって、
    前記記憶部には、更に、
    前記複数の中継処理装置のそれぞれの負荷を示す負荷情報と、
    前記ネットワークにおけるリンクの状態を示すリンク情報と
    が格納され、
    前記経路設計部は、前記負荷情報と前記リンク情報のうち少なくとも一方を参照することによって、前記2以上の中継処理装置のうち最適な1つを前記ターゲットとして選択する
    ネットワークシステム。
  4. 請求項2又は3に記載のネットワークシステムであって、
    前記各中継処理装置は、ロードバランサである
    ネットワークシステム。
  5. 請求項1に記載のネットワークシステムであって、
    前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち1つの中継処理装置に割り当てられており、
    前記経路設計部は、前記1つの中継処理装置を前記ターゲットとして選択する
    ネットワークシステム。
  6. 請求項5に記載のネットワークシステムであって、
    前記各中継処理装置は、ファイアウォールである
    ネットワークシステム。
  7. 請求項1乃至6のいずれか一項に記載のネットワークシステムであって、
    前記コントローラは、更に、サーバあるいは中継処理装置の追加に応答して前記割当情報を更新する割当管理部を備える
    ネットワークシステム。
  8. ネットワーク中に配置された複数のスイッチを制御するコントローラであって、
    前記ネットワークには複数のサーバと複数の中継処理装置が接続され、
    前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
    前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
    前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
    前記コントローラは、
    記憶部と、
    前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
    前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
    を備え、
    前記記憶部には、
    前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
    前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
    が格納され、
    前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
    前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
    コントローラ。
  9. ネットワークシステムの制御方法であって、
    前記ネットワークシステムは、
    ネットワークに接続された複数のサーバと、
    前記ネットワークに接続された複数の中継処理装置と、
    前記ネットワーク中に配置された複数のスイッチと
    を備え、
    前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
    前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
    前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
    前記制御方法は、
    前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、
    前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するステップと
    を含み、
    前記経路を設計するステップは、
    ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、前記ネットワーク構成情報は、前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示し、前記割当情報は、前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示し、
    前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、
    前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計するステップと
    を含む
    制御方法。
JP2011537284A 2009-10-23 2010-10-20 ネットワークシステムとその制御方法、及びコントローラ Withdrawn JPWO2011049135A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009244872 2009-10-23
JP2009244872 2009-10-23
PCT/JP2010/068504 WO2011049135A1 (ja) 2009-10-23 2010-10-20 ネットワークシステムとその制御方法、及びコントローラ

Publications (1)

Publication Number Publication Date
JPWO2011049135A1 true JPWO2011049135A1 (ja) 2013-03-14

Family

ID=43900358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011537284A Withdrawn JPWO2011049135A1 (ja) 2009-10-23 2010-10-20 ネットワークシステムとその制御方法、及びコントローラ

Country Status (3)

Country Link
US (1) US8832272B2 (ja)
JP (1) JPWO2011049135A1 (ja)
WO (1) WO2011049135A1 (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
WO2011074630A1 (ja) * 2009-12-17 2011-06-23 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
CN103348642B (zh) * 2011-01-28 2016-07-20 日本电气株式会社 通信系统、转发节点、控制设备、通信控制方法
JP5668503B2 (ja) * 2011-02-01 2015-02-12 日本電気株式会社 有害サイトフィルタリングシステム及びフィルタリング方法
JP5566952B2 (ja) * 2011-06-14 2014-08-06 日本電信電話株式会社 ネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラム
EP2712128B1 (en) 2011-07-06 2016-01-13 Huawei Technologies Co., Ltd. Message processing method and related device thereof
EP2761824B1 (en) * 2011-09-28 2017-08-30 Telefonaktiebolaget LM Ericsson (publ) Centralized data plane flow control
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US8923296B2 (en) * 2012-02-23 2014-12-30 Big Switch Networks, Inc. System and methods for managing network packet forwarding with a controller
US9185166B2 (en) 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
JP5967187B2 (ja) * 2012-03-02 2016-08-10 日本電気株式会社 経路制御システム、コントロール装置及び経路制御方法
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US9013995B2 (en) * 2012-05-04 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in packet data networking
JP5975752B2 (ja) * 2012-06-21 2016-08-23 エヌ・ティ・ティ・コムウェア株式会社 ノード管理装置、ノード管理方法、及びプログラム
EP2680512B1 (en) * 2012-06-25 2019-07-24 Alcatel Lucent Network entity of a communication network
US8782221B2 (en) 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
CN108027805B (zh) 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
US10021174B2 (en) * 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US9042234B1 (en) * 2012-10-31 2015-05-26 Big Switch Networks, Inc. Systems and methods for efficient network traffic forwarding
US9338225B2 (en) * 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
JP6032026B2 (ja) * 2013-01-24 2016-11-24 富士通株式会社 中継プログラム、中継方法および中継処理装置
US8966586B2 (en) * 2013-01-27 2015-02-24 International Business Machines Corporation Authentication within OpenFlow network
US9374285B1 (en) * 2013-02-07 2016-06-21 Big Switch Networks, Inc. Systems and methods for determining network topologies
KR20140106235A (ko) * 2013-02-26 2014-09-03 한국전자통신연구원 오픈플로우 스위치 및 그 패킷 처리 방법
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
CN104243337B (zh) 2013-06-09 2017-09-01 新华三技术有限公司 一种跨集群负载均衡的方法及装置
US9391897B2 (en) * 2013-07-31 2016-07-12 Oracle International Corporation Methods, systems, and computer readable media for mitigating traffic storms
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US20150163072A1 (en) * 2013-12-05 2015-06-11 Broadcom Corporation Virtual Port Extender
US20150169345A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Software-defined networking (sdn) for management of traffic between virtual processors
WO2015133059A1 (ja) * 2014-03-07 2015-09-11 日本電気株式会社 経路制御装置、経路制御方法および経路制御プログラム
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
EP3142306B1 (en) * 2014-06-03 2019-01-09 Huawei Technologies Co., Ltd. Openflow communication method, system, controller, and service gateway
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9531590B2 (en) * 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US10268467B2 (en) 2014-11-11 2019-04-23 A10 Networks, Inc. Policy-driven management of application traffic for providing services to cloud-based applications
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11212356B2 (en) 2020-04-06 2021-12-28 Vmware, Inc. Providing services at the edge of a network using selected virtual tunnel interfaces
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055173B1 (en) * 1997-12-19 2006-05-30 Avaya Technology Corp. Firewall pooling in a network flowswitch
US6601084B1 (en) * 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
JP3898498B2 (ja) * 2001-12-06 2007-03-28 富士通株式会社 サーバ負荷分散システム
JP3897603B2 (ja) * 2002-01-28 2007-03-28 富士通株式会社 フロントエンドプロセッサ、ルーティング管理方法、およびルーティング管理プログラム
JP2004064490A (ja) * 2002-07-30 2004-02-26 Fujitsu Ltd データ通信システム
JP2004129156A (ja) * 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
US20050169254A1 (en) * 2003-04-14 2005-08-04 Fujitsu Limited Data relay apparatus, data relay method, data relay program, service selection apparatus, service selection method and service selection program
JP4041038B2 (ja) 2003-08-13 2008-01-30 富士通株式会社 高位レイヤ処理方法及びシステム
US9019830B2 (en) * 2007-05-15 2015-04-28 Imagine Communications Corp. Content-based routing of information content
US9083609B2 (en) * 2007-09-26 2015-07-14 Nicira, Inc. Network operating system for managing and securing networks

Also Published As

Publication number Publication date
US20120023231A1 (en) 2012-01-26
US8832272B2 (en) 2014-09-09
WO2011049135A1 (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
WO2011049135A1 (ja) ネットワークシステムとその制御方法、及びコントローラ
JP6335363B2 (ja) 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供
EP3435606B1 (en) Message processing method, computing device, and message processing apparatus
JP5637148B2 (ja) スイッチネットワークシステム、コントローラ、及び制御方法
US10257066B2 (en) Interconnect congestion control in a storage grid
JP5648926B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
US20170264677A1 (en) Service Processing Apparatus and Method
US8218561B2 (en) Flow redirection employing state information
JP6619096B2 (ja) ファイアウォールクラスタ
WO2011074516A1 (ja) ネットワークシステムとその制御方法、及びコントローラ
JP2015503274A (ja) 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法
JP6277853B2 (ja) 制御装置、通信装置、および、通信方法
US9584422B2 (en) Methods and apparatuses for automating return traffic redirection to a service appliance by injecting traffic interception/redirection rules into network nodes
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
US8908702B2 (en) Information processing apparatus, communication apparatus, information processing method, and relay processing method
JPWO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
JP2011159247A (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
US20170228539A1 (en) Control device, control system, control method, and control program
US20150319099A1 (en) Storage area network system, controller, access control method and program
JP6888566B2 (ja) 負荷分散システム及び負荷分散方法
JP7052634B2 (ja) 負荷分散システム及び負荷分散方法
JP7003873B2 (ja) 負荷分散システム及び負荷分散方法
JPWO2014142094A1 (ja) 通信システム、物理マシン、仮想ネットワーク管理装置、および、ネットワーク制御方法
WO2020162185A1 (ja) 負荷分散システム及び負荷分散方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140107