JP2017063409A - 設定方法、サーバ装置及びサービスチェインシステム - Google Patents

設定方法、サーバ装置及びサービスチェインシステム Download PDF

Info

Publication number
JP2017063409A
JP2017063409A JP2016160310A JP2016160310A JP2017063409A JP 2017063409 A JP2017063409 A JP 2017063409A JP 2016160310 A JP2016160310 A JP 2016160310A JP 2016160310 A JP2016160310 A JP 2016160310A JP 2017063409 A JP2017063409 A JP 2017063409A
Authority
JP
Japan
Prior art keywords
virtual
vnf
communication function
virtual communication
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016160310A
Other languages
English (en)
Inventor
慎也 加納
Shinya Kano
慎也 加納
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to EP16188937.3A priority Critical patent/EP3148125A1/en
Priority to US15/270,802 priority patent/US10129152B2/en
Publication of JP2017063409A publication Critical patent/JP2017063409A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】仮想分散機能の数を少なくして転送遅延を抑制できるサーバ装置等を提供する。【解決手段】サーバ装置は、仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する。サーバ装置は、前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する。サーバ装置は、決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する。【選択図】図3

Description

本発明は、設定方法、サーバ装置及びサービスチェインシステムに関する。
最近のネットワークでは、拠点から外部のサイト、又は、拠点から他の拠点にアクセスする際に、要求に応じてFW(FireWall)やProxy等のNW(NetWork)機能を通信経路上に仮想的に配置してパケットを転送するサービスチェインシステムがある。仮想的なNW機能を経由する通信経路をサービスチェインという。
従来、NW機能は、NWサーバ等の物理NW装置で機能していた。しかしながら、近年の汎用サーバの性能向上によって汎用サーバ上のソフトウェア処理でもNW機能が機能できる。従って、汎用サーバの仮想化環境の仮想マシン上でNW機能のプログラムを動作させる形態でNW機能の運用を開始している。尚、仮想マシン上で動作するNWに関するソフトウェア処理を仮想NW機能(Virtual Network Function:VNF)という。
しかしながら、データ転送等のNW関連の処理が物理NW装置から汎用サーバ上のソフトウェア処理のVNFに運用形態が移行した結果、データ転送の処理性能が低下する事態が生じている。そこで、複数のプログラムを並列に実行し、複数のサーバ上に仮想マシンを並列動作してスケールアウトすることで、データ転送の負荷を分散し、データ転送の処理性能を改善している。
図30は、サービスチェインの配置構成の一例を示す説明図である。図30に示すサービスチェイン200は、例えば、FW201A、IDS(Intrusive Detection System)201B及びProxy201C等の各VNF201を配置している。更に、サービスチェイン200は、各VNF201の前段にトラヒック負荷を分散するLB(Load Balancer)202を仮想的に配置している。LB202は、次段に配置する各VNF201にトラヒックを分配する。その結果、各VNF201の転送処理の負荷を分配することで、ソフトウェア化による処理性能の低下を抑制している。
特開2014−225157号公報 特開2014−21854号公報
しかしながら、サービスチェイン200を構成するVNF201では、VNF201毎にLB202を要し、LB202を通過する毎に転送遅延が生じる。しかも、サービスチェイン200は、多数のLB202を要するため、汎用サーバ上の仮想領域のリソースが使われることになる。
一つの側面では、LBの数を少なくして転送遅延を抑制できる設定方法、サーバ装置及びサービスチェインシステムを提供することを目的とする。
一つの態様の設定方法としては、仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する処理を実行する。更に、設定方法としては、前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する処理を実行する。更に、設定方法としては、決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する処理を実行する。
一つの側面として、仮想分散機能を集約して転送遅延を抑制できる。
図1は、実施例1のサービスチェインシステムの一例を示す説明図である。 図2は、管理サーバのハードウェア構成の一例を示す説明図である。 図3は、管理サーバのプロセッサの機能構成の一例を示す説明図である。 図4は、構成要求のフォーマットの一例を示す説明図である。 図5は、構成要求のLB集約前の配置構成の一例を示す説明図である。 図6は、図5に示す構成要求に関わるトポロジ構成の一例を示す説明図である。 図7は、図5に示す構成要求に関わる終端宛先の一例を示す説明図である。 図8は、図5に示す構成要求に関わる最適経路の一例を示す説明図である。 図9は、図5に示す構成要求に関わる集約LBの分配割合の一例を示す説明図である。 図10は、図5に示す構成要求に関わるVNFの負荷割合の一例を示す説明図である。 図11は、サービスチェイン構築処理に関わる管理サーバの処理動作の一例を示すフローチャートである。 図12は、他の構成要求のフォーマットの一例を示す説明図である。 図13は、他の構成要求のLB集約前の配置構成の一例を示す説明図である。 図14は、図13に示す構成要求に関わるトポロジ構成の一例を示す説明図である。 図15は、図13に示す構成要求に関わる終端宛先の一例を示す説明図である。 図16は、図13に示す構成要求に関わる最適経路の一例を示す説明図である。 図17は、図13に示す構成要求に関わる集約LBの分配割合の一例を示す説明図である。 図18は、図13に示す構成要求に関わるVNFの負荷割合の一例を示す説明図である。 図19Aは、構成要求のLB集約前の配置構成の一例を示す説明図である。 図19Bは、図19Aに示す構成要求に関わるLB集約後の配置構成の一例を示す説明図である。 図20Aは、構成要求のLB集約前の配置構成の一例を示す説明図である。 図20Bは、図20Aに示す構成要求に関わるLB集約後の配置構成の一例を示す説明図である。 図21Aは、構成要求のLB集約前の配置構成の一例を示す説明図である。 図21Bは、図21Aに示す構成要求に関わるLB集約後の配置構成の一例を示す説明図である。 図22Aは、実施例2のFW5追加前の配置構成の一例を示す説明図である。 図22Bは、FW5追加後の配置構成の一例を示す説明図である。 図23は、FW5追加前後の集約LBの分配割合及び各VNFの転送経路の一例を示す説明図である。 図24は、実施例2の管理サーバのプロセッサの機能構成の一例を示す説明図である。 図25は、VNF追加処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。 図26Aは、実施例3のFW5削除前の配置構成の一例を示す説明図である。 図26Bは、FW5削除後の配置構成の一例を示す説明図である。 図27は、FW5削除前後の集約LBの分配割合及び各VNFの転送経路の一例を示す説明図である。 図28は、VNF削除処理に関わる管理サーバ内のプロセッサの処理動作の一例を示すフローチャートである。 図29は、サービスチェイン構築プログラムを実行する情報処理装置の一例を示す説明図である。 図30は、サービスチェインの配置構成の一例を示す説明図である。
以下、図面に基づいて、本願の開示する設定方法、サーバ装置及びサービスチェインシステムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、実施例1のサービスチェインシステム1の一例を示す説明図である。図1に示すサービスチェインシステム1は、キャリアNW2と、管理サーバ3と、端末装置4とを有する。キャリアNW2は、例えば、企業の本社、支社や海外拠点等の拠点2Aと接続するNWである。キャリアNW2は、例えば、複数の汎用サーバ2Bで構成し、各汎用サーバ2Bのリソース領域にある仮想領域で稼働する仮想NW11と、その仮想NW11上に配置した複数のVNF12とを有する。管理サーバ3は、拠点2A間で通信するサービスチェインを仮想領域に確立する。
VNF12は、例えば、Webキャッシュ12A、パケットモニタリング12B、FW12C、高速WAN12D、アドレス変換部12E、VPN12F、IDSやProxy等の仮想NW機能である。Webキャッシュ12Aは、図示せぬWebサーバとのキャッシュデータを格納するNW機能である。パケットモニタリング12Bは、通信経路上のパケットの状態を監視するNW機能である。FW12Cは、不正アクセスを防止するNW機能である。高速WAN12Dは、高速WAN等のNW機能である。アドレス変換部12Eは、アドレスを変換するNW機能である。VPN12Fは仮想専用線等のNW機能である。IDSは、外部からの不正侵入を検知するNW機能である。Proxyは、代理サーバのNW機能である。VNF12は、汎用サーバ2B上の仮想領域に仮想的に配置した仮想通信機能である。
管理サーバ3は、端末装置4からサービスチェインの構成要求に応じて、キャリアNW2内の各汎用サーバ2Bの仮想領域上に所望の仮想NW11及びVNF12を配置するサーバ装置である。端末装置4は、例えば、FW4A、高速WAN4BやVPN4C等を経由して管理サーバ3と接続し、管理サーバ3に対してサービスチェインの構成要求を指示する、例えば、システム管理者等の端末装置である。尚、構成要求は、パケット転送の通信経路上に1台若しくは複数台のVNF12の配置を要求するコマンドである。また、構成要求は、VNF12及びLB13のインスタンス数を指定する場合の他に、VNF12のインスタンス数のみを指定する場合もある。また、構成要求には、例えば、サービスチェインの要求品質を指定する場合もある。管理サーバ3は、要求品質を指定した構成要求を検出した場合、構成要求で指定された所望の機能や負荷状況からVNF12やLB13のインスタンス数を決定する。
図2は、管理サーバ3のハードウェア構成の一例を示す説明図である。図2に示す管理サーバ3は、例えば、NWサーバとしての専用コンピュータや、汎用コンピュータに相当する。管理サーバ3は、NWインタフェース31と、入力装置32と、出力装置33と、補助記憶装置34と、主記憶装置35と、プロセッサ36とを有する。NWインタフェース31は、キャリアNW2と接続すると共に、VPN12と接続する通信インタフェースである。尚、NWインタフェース31は、例えば、有線又は無線の通信を司る通信インタフェースである。NWインタフェース31は、例えば、NIC(Network Interface Card)やLAN(Local Area Network)カード等の通信カードである。
入力装置32は、各種情報を入力する、例えば、キーボードやマウス等のポインティングデバイス等の入力インタフェースである。出力装置33は、各種情報を出力する、例えば、音声出力装置や表示装置等の出力インタフェースである。補助記憶装置34は、例えば、各種プログラムや、プロセッサ36が使用するデータ等の各種情報を記憶する、例えば、EPROM(Erasable Programmable ROM)、又はハードディスクドライブ(Hard Disc Drive)等の不揮発性のメモリである。更に、補助記憶装置34は、例えば、オペレーティングシステム(OS)や、その他様々なアプリケーションプログラムを保持する領域である。
主記憶装置35は、各種情報、例えば、補助記憶装置34に格納されているプログラムをロードする領域や作業領域を提供する、例えば、RAM(Random Access Memory)等の半導体メモリである。プロセッサ36は、管理サーバ3全体を制御する、例えば、CPU(Central Processing Unit)等の制御部である。プロセッサ36は、補助記憶装置34又は可搬記録媒体に保持されたOSや様々なアプリケーションプログラムを主記憶装置35にロードして実行することで各種処理機能を実行する。プロセッサ36は、1個に限定されるものではなく、複数個設けても良い。
図3は、管理サーバ3のプロセッサ36の機能構成の一例を示す説明図である。プロセッサ36は、補助記憶装置34に格納されたプログラムを読み出し、読み出したプログラムを実行することで、機能構成として、第1の決定部41と、第2の決定部42と、設定部43とを有する。
図4は、構成要求のフォーマットの一例を示す説明図、図5は、構成要求のLB集約前の配置構成の一例を示す説明図である。構成要求50は、端末装置4から管理サーバ3にサービスチェインの構築を要求するコマンドである。尚、図4に示す構成要求50は、図5に示すように、3種類#1〜#3のVNF群20の種別と、VNF群20毎のVNF12のインスタンス数と、VNF群20に設定する3種類のLB群21の種別と、LB群21毎のLB13のインスタンス数とを有する。尚、説明の便宜上、#1のVNF群20は「VNF#1」、#2のVNF群20は「VNF#2」及び#3のVNF群20は「VNF#3」で表現する。
構成要求50は、メッセージ種別51と、要求VNF数52と、VNF#1のLB種別53Aと、VNF#1のLBインスタンス数54Aと、VNF#1の種別55Aと、VNF#1のインスタンス数56Aとを有する。更に、構成要求50は、VNF#2のLB種別53Bと、VNF#2のLBインスタンス数54Bと、VNF#2の種別55Bと、VNF#2のインスタンス数56Bとを有する。更に、構成要求50は、VNF#3のLB種別53Cと、VNF#3のLBインスタンス数54Cと、VNF#3の種別55Cと、VNF#3のインスタンス数56Cと、送信元アドレス57と、宛先アドレス58とを有する。
メッセージ種別51は、構成要求50のメッセージ種別を識別する情報であって、例えば、「サービスチェイン構成要求」である。要求VNF数52は、構成要求50のLB種別及びVNF種別の合計数であって、例えば、「6」個とする。尚、例えば、VNF#1、VNF#1のLB13、VNF#2、VNF#2のLB13、VNF#3、VNF#3のLB13の「6」個とする。VNF#1のLB種別53Aは、VNF#1の前段に配置するLB13の種別を識別する情報であって、例えば、レベルL3の「L3レベルLB」とする。VNF#1のLBインスタンス数54Aは、VNF#1の前段に配置を要求するLB13の数に相当し、例えば、「1」個とする。VNF#1の種別55Aは、配置を要求するVNF#1の種別を識別する情報であって、例えば、「FW」とする。VNF#1のインスタンス数56Aは、配置を要求するVNF#1内のVNF12の数に相当し、例えば、「4」個とする。
VNF#2のLB種別53Bは、VNF#2の前段に配置するLB13の種別を識別する情報であって、例えば、「L4レベルLB」とする。VNF#2のLBインスタンス数54Bは、VNF#2の前段に配置を要求するLB13の数に相当し、例えば、「2」個とする。VNF#2の種別55Bは、配置を要求するVNF#2の種別を識別する情報であって、例えば、「IDS」とする。VNF#2のインスタンス数56Bは、配置を要求するVNF#2内のVNF12の数に相当し、例えば、「3」個とする。
VNF#3のLB種別53Cは、VNF#3の前段に配置するLB13の種別を識別する情報であって、例えば、「L4レベルLB」とする。VNF#3のLBインスタンス数54Cは、VNF#3の前段に配置を要求するLB13の数に相当し、例えば、「2」個とする。VNF#3の種別55Cは、配置を要求するVNF#3の種別を識別する情報であって、例えば、「Proxy」とする。VNF#3のインスタンス数56Cは、配置を要求するVNF#3内のVNF12の数に相当し、例えば、「3」個とする。送信元アドレス57は、構成要求50に関わるサービスチェインを使用する通信の送信元アドレスである。宛先アドレス58は、構成要求50に関わるサービスチェインを使用する通信の宛先アドレスである。
第1の決定部41は、図5に示す構成要求50を検出すると、構成要求50内で指定する各VNF群20内のVNF12のインスタンス数に基づき、所定順序の内、最前段のVNF群20、すなわちVNF#1の前段に配置する集約LB13Aの数を決定する。尚、所定順序は、例えば、前段からVNF#1(FW)、VNF#2(IDS)及びVNF#3(Proxy)の順に配置する順序とする。
第1の決定部41は、図5に示す構成要求50を検出すると、構成要求50に基づき、VNF群20へのトラヒックを分配するLB13の特性の内、上位レイヤ「L4レベル」のLB群21(VNF#3に対するLB(L4))を特定する。尚、L4レベル(TCPセッション)単位の分配処理は、L3レベル(IP)単位の分配処理も実行できる。第1の決定部41は、上位レイヤ「L4レベル」の分配処理を実行するLB群21の内、LBインスタンス数が最大数となるLB13(すなわちVNF#3に対するLB(L4))を特定し、そのLBインスタンス数を集約LB13Aのインスタンス数と決定する。すなわち、第1の決定部41は、VNF#3のLBインスタンス数はL4レベルLBの2個であるため、そのL4レベルLBの2個を集約LB13Aとして決定する。尚、L4レベルのVNF群20を特定する理由は、L4レベル(TCPセッション)単位の処理でL3レベル(IP)単位の処理も実行できるためである。
更に、第1の決定部41は、VNF#1、VNF#2及びVNF#3の配置順序としてトポロジ構成を決定する。図6は、図5に示す構成要求50に関わるトポロジ構成の一例を示す説明図である。第1の決定部41は、図6に示すようにサービスチェインの最前段にVNF#1、VNF#1の次段にVNF#2、VNF#2の次段にVNF#3を配置し、更に、最前段のVNF#1の前段に集約LB13Aを配置するトポロジ構成を決定する。
図6に示すトポロジ構成は、最前段に集約LB13A内のLB1及びLB2、次段にVNF#1内のFW1〜FW4、その次段にVNF#2内のIDS1〜IDS3、その次段にVNF#3内のProxy1〜Proxy3を配置する構成である。
第2の決定部42は、集約LB13Aから複数のVNF群20の内、終端のVNF群20内の各VNF12までのトラヒック等の負荷が分散する、集約LB13Aのトラヒック等の負荷の分配割合及びVNF12の負荷割合(トラヒック割合)を決定する。第2の決定部42は、第3の決定部42Aと、第4の決定部42Bと、第5の決定部42Cとを有する。
図7は、図5に示す構成要求50に関わる終端宛先の一例を示す説明図である。第3の決定部42Aは、複数のVNF群20の内、終端となるVNF群20内のVNF12を決定すると共に、集約LB13Aから各終端のVNF12までの最適経路を決定する。
第3の決定部42Aは、集約LB13AがL4レベルのLBであるため、図7に示すように、集約LB13AからL4レベルが終端となる終端のVNF12として、例えば、VNF#3のProxy1〜Proxy3と決定する。集約LB13Aの「LB1」は、Proxy1〜Proxy3の3本の経路を決定する。更に、集約LB13Aの「LB2」も、Proxy1〜Proxy3の3本の経路を決定する。
図8は、図5に示す構成要求50に関わる最適経路の一例を示す説明図である。第3の決定部42Aは、集約LB13Aの「LB1」から終端VNF12、すなわちProxy1〜Proxy3までの3経路で、例えば、ダイクストラ法等の最短経路コスト法において計算済み経路上のリンクコストを高くして最短経路計算を行うことによって、VNF#1及びVNF#2を経由する経路が分散した最適経路R1、R3及びR5を決定する。第3の決定部42Aは、集約LB13Aの「LB2」から終端VNF、すなわちProxy1〜Proxy3までの3経路で、最短経路コスト法の利用とリンクコスト加算を行うことによってVNF#1及びVNF#2を経由する経路が分散した最適経路R2、R4及びR6を決定する。
第4の決定部42Bは、各最適経路R1〜R6に配置するVNF群20の内、VNF12のインスタンス数が最大数のVNF群20の各VNF12のトラヒック量等の負荷量が均等に分散するように、集約LB13Aから各最前段のVNF12への負荷の分配割合を決定する。
図9は、図5に示す構成要求50に関わる集約LB13Aの分配割合の一例を示す説明図である。第4の決定部42Bは、VNF#1〜VNF#3の内、最大個数のVNF12、すなわちVNF#1(FW1〜FW4)を特定する。第4の決定部42Bは、6本の最適経路の内、VNF#1のFW1〜FW4の負荷量(トラヒック量)が均等になるように集約LB13A「LB1」及び「LB2」からVNF#1内のFW1〜FW4に分配する分配割合を算出する。例えば、サービスチェイン全体の負荷量(トラヒック量)を「1」とした場合、LB1からFW1への分配割合はトラヒック量全体の1/4、LB1からFW2への分配割合はトラヒック量全体の1/8、LB1からFW3への分配割合はトラヒック量全体の1/8となる。更に、LB2からFW4への分配割合はトラヒック量全体の1/4、LB2からFW2への分配割合はトラヒック量全体の1/8、LB2からFW3への分配割合はトラヒック量全体の1/8となる。その結果、FW1〜FW4は、各々、1/4の負荷量(トラヒック量)が均等に割り当てられることになる。
第5の決定部42Cは、最適経路毎に各VNF12への負荷量の負荷割合が最適となるように各VNF12から次段のVNF12への負荷割合を算出する。図10は、図5に示す構成要求50に関わるVNF12の負荷割合の一例を示す説明図である。第5の決定部42Cは、集約LB13Aの「LB1」及び「LB2」から各VNF#1内の各FW1〜FW4の負荷の分配割合を決定した後、先に決定した最適経路R1〜R6上の転送経路を決定すると共に、その転送経路上の各VNF12への分配割合を決定する。転送経路は、最適経路の内、VNF12が次段のVNF12にパケットを転送する経路である。
集約LB13Aの「LB1」の転送経路は、Proxy1宛のパケットをFW1に転送する経路、Proxy2宛のパケットをFW2に転送する経路、Proxy3宛のパケットをFW3に転送する経路となる。集約LB13Aの「LB2」の転送経路は、Proxy1宛のパケットをFW2に転送する経路、Proxy2宛のパケットをFW3に転送する経路、Proxy3宛のパケットをFW4に転送する経路となる。
更に、FW1の転送経路は、Proxy1宛のパケットをIDS1に転送する経路となる。FW2の転送経路は、Proxy1宛のパケットをIDS1に転送する経路及び、Proxy2宛のパケットをIDS2に転送する経路となる。FW3の転送経路は、Proxy2宛のパケットをIDS2に転送する経路及び、Proxy3宛のパケットをIDS3に転送する経路となる。FW4の転送経路は、Proxy3宛のパケットをIDS3に転送する経路となる。
更に、IDS1の転送経路は、Proxy1宛のパケットをProxy1に転送する経路となる。IDS2の転送経路は、Proxy2宛のパケットをProxy2に転送する経路となる。IDS3の転送経路は、Proxy3宛のパケットをProxy3に転送する経路となる。
更に、第5の決定部42Cは、各転送経路の各VNF12の負荷量が最適となるように各VNF12の負荷割合(トラヒック割合)を決定する。尚、各VNF12の負荷割合は、例えば、Weighted Round Robin方式やWeighted HASH振り分け方式等で算出する。
第5の決定部42Cは、VNF#1からVNF#2までの転送経路毎に負荷割合(トラヒック割合)を決定する。例えば、FW1からIDS1への転送経路の負荷割合は2/8、FW2からIDS1への転送経路の負荷割合は1/8、FW2からIDS2への転送経路の負荷割合は1/8となる。更に、FW3からIDS2への転送経路の負荷割合は1/8、FW3からIDS3への転送経路の負荷割合は1/8、FW4からIDS3への転送経路の負荷割合は2/8となる。
更に、第5の決定部42Cは、VNF#2からVNF#3までの転送経路毎に負荷割合(トラヒック割合)を決定する。例えば、IDS1からProxy1への転送経路の負荷割合は3/8、IDS2からProxy2への転送経路の負荷割合は2/8、IDS3からProxy3への転送経路の負荷割合は3/8となる。尚、説明の便宜上、VNF#2からVNF#3までの転送経路の負荷割合は、例えば、3/8、2/8及び3/8としたが、転送経路毎に負荷割合を均等になるように調整しても良い。
設定部43は、配置部43Aと、割合設定部43Bとを有する。配置部43Aは、集約LB13A及びVNF12の数、最適経路R1〜R6及び転送経路に基づき、集約LB13A及びVNF12を汎用サーバ2B等の仮想領域に配置して機能を起動させる。
割合設定部43Bは、第4の決定部42Bで決定した集約LB13Aの分配割合を配置された集約LB13Aに設定する。割合設定部43Bは、第5の決定部42Cで決定した各VNF12の負荷割合を配置されたVNF12に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
管理サーバ3は、集約LB13A、集約LB13Aから終端VNF12までの最適経路R、集約LB13Aの分配割合及び各VNF12の負荷割合に基づき、キャリアNW2上の指定の汎用サーバ2Bの仮想領域に、構成要求のサービスチェインを構築する。
次に本実施例のサービスチェインシステム1の動作について説明する。図11は、サービスチェイン構築処理に関わる管理サーバ3内の処理動作の一例を示すフローチャートである。図11に示すサービスチェイン構築処理は、端末装置4からの構成要求に応じて、構成要求に対応したサービスチェインを仮想領域上に構築する処理である。
図11において管理サーバ3内のプロセッサ36内の第1の決定部41は、端末装置4から構成要求を受信したか否かを判定する(ステップS11)。第1の決定部41は、構成要求を受信した場合(ステップS11肯定)、構成要求内のVNF群20内のVNF12のインスタンス数及びVNF群20毎のLB13のインスタンス数に基づき、集約LB13Aの数を決定する(ステップS12)。尚、第1の決定部41は、構成要求内の上位レベルのVNF群20の内、そのVNF12のインスタンス数が最大数のVNF群20を特定し、特定されたVNF群20のLBインスタンス数を集約LB13Aの数と決定する。更に、第1の決定部41は、構成要求内のVNF群20に基づき、図6に示すように集約LB13A、VNF群20のトポロジ構成を決定する(ステップS13)。
第3の決定部42Aは、図7に示すように、複数のVNF群20の内、終端となるVNF群20内のVNF12を決定すると共に、図8に示すように、集約LB13Aから各終端のVNF群20までの最適経路Rを決定する(ステップS14)。
第4の決定部42Bは、各最適経路に配置するVNF群20の内、最大数のVNF群20の各VNF12の負荷量(トラヒック量)が均等にすべく、図9に示すように集約LB13Aから各最前段のVNF群20の各VNF12への分配割合を算出して決定する(ステップS15)。
更に、第5の決定部42Cは、図10に示すように、最適経路毎の転送経路を決定する(ステップS16)。
更に、配置部43Aは、集約LB13A、VNF12、最適経路及び転送経路に基づき、集約LB13A及びVNF12を汎用サーバ2B上の仮想領域に配置して、その機能を起動する(ステップS17)。更に、割合設定部43Bは、集約LB13Aの分散割合を仮想領域上の集約LB13Aに設定すると共に、各VNF12の負荷割合(トラヒック割合)を仮想領域上の各VNF12に設定し(ステップS18)、図11に示す処理動作を終了する。その結果、構成要求に応じたサービスチェインを仮想領域上に配置できる。
上記実施例では、サービスチェインの最前段に複数の集約LB13Aを配置し、集約LB13Aから終端のVNF12までの負荷量(トラヒック量)が均等になるように集約LB13Aの分配割合及び各VNF12の負荷割合(トラヒック割合)を決定する。その結果、LB13の数を少なくすることで転送遅延を抑制できると共に、有限な仮想領域の資源を節減できる。
尚、同一構成のVNF12のサービスチェインを複数配置し、各サービスチェインの最前段に単一のLB13を配置し、単一のLB13で負荷量(トラヒック量)を分散する方法も考えられる。しかしながら、各サービスチェイン内のVNF12の性能、例えば、FW、IDSやProxyの性能に余裕がある場合でも、ボトルネックとなるVNF12の増設数に合わせて全てのVNF12を同じ数だけ用意する必要があり、部品コストが嵩んでしまう。これに対して、本実施例では、必要最小限のVNF12で済むため、部品コストも節減できる。
尚、上記実施例では、構成要求50のフォーマットとしてVNF群20及びVNF群20に使用するLB13の情報を含む場合を例示したが、VNF群20毎に使用するLB13が1台の場合、使用するLB13の情報を含めなくても良い。図12は、他の構成要求50Aのフォーマットの一例を示す説明図である。図12に示す構成要求50Aは、メッセージ種別51、要求VNF数52、VNF群20の種別55A〜55C、VNF群20のインスタンス数56A〜56C、送信元アドレス57及び宛先アドレス58を含む。そして、構成要求50Aは、VNF群20のLB種別53及びLBインスタンス数54等のLB13の情報を含めないものとする。その結果、構成要求の容量をコンパクト化できる。
図13は、他の構成要求50BのLB集約前の配置構成の一例を示す説明図である。図13に示す構成要求50Bは、VNF#1のFWを2インスタンス、VNF#1のLB13を1インスタンス、VNF#2のIDSを3インスタンス、VNF#2のLB13を1インスタンスとする。更に、VNF#3のProxyを3インスタンス、VNF#3のLB13を1インスタンスとする。更に、VNF#1のLB13はL3レベルのLB13、VNF#2のLB13はL3レベルのLB13及びVNF#3のLB13はL4レベルのLB13とする。
第1の決定部41は、図13に示す構成要求50Bを検出すると、構成要求50Bに基づき、VNF群20へのトラヒックを分配するLB13の特性の内、上位レイヤ「L4レベル」のLB群21(VNF#3に対するLB(L4))を特定する。第1の決定部41は、上位レイヤ「L4レベル」の分配処理を実行するLB群21の内、LBインスタンス数が最大数となるLB13(すなわちVNF#3に対するLB(L4))を特定し、そのLBインスタンス数を集約LB13Aのインスタンス数と決定する。すなわち、第1の決定部41は、VNF#3のLBインスタンス数がL4レベルLBの1個であるため、そのL4レベルLBの1個を集約LB13Aとして決定する。
更に、第1の決定部41は、VNF#1、VNF#2及びVNF#3の配置順序としてトポロジ構成を決定する。図14は、図13に示す構成要求50Bに関わるトポロジ構成の一例を示す説明図である。第1の決定部41は、図14に示すようにサービスチェインの最前段にVNF#1、VNF#1の次段にVNF#2、VNF#2の次段にVNF#3を配置し、更に、最前段のVNF#1の前段に集約LB13Aを配置するトポロジ構成を決定する。
図14に示すトポロジ構成は、最前段に集約LB13A内の「LB1」、次段にVNF#1内のFW1及びFW2、その次段にVNF#2内のIDS1〜IDS3、その次段にVNF#3内のProxy1〜Proxy3を配置する構成である。
図15は、図13に示す構成要求50Bに関わる終端宛先の一例を示す説明図である。第3の決定部42Aは、集約LB13AがL4レベルのLBであるため、図15に示すように集約LB13AからL4レベルが終端となる終端のVNF12として、例えば、VNF#3のProxy1〜Proxy3を決定する。集約LB13Aの「LB1」は、Proxy1〜Proxy3の3本の経路を決定する。
図16は、図13に示す構成要求50Bに関わる最適経路の一例を示す説明図である。第3の決定部42Aは、集約LB13Aの「LB1」から終端VNF12、すなわちProxy1〜Proxy3までの3経路で、ダイクストラ法等の最短経路コスト法において計算済み経路上のリンクコストを高くして最短経路計算を行うことによって、VNF#1及びVNF#2を経由する経路が分散した最適経路R1〜R3を決定する。
図17は、図13に示す構成要求50Bに関わる集約LB13Aの分配割合の一例を示す説明図である。第4の決定部42Bは、VNF#1〜VNF#3の内、最大数のVNF12、すなわちVNF#2を特定する。第4の決定部42Bは、LB1から終端VNF12までの3本の最適経路の内、VNF#2のIDS1〜IDS3に負荷量(トラヒック量)が均等になるように「LB1」でVNF#1のFW1及びFW2に分配する分配割合を算出する。例えば、「LB1」から「FW1」への分配割合は2/3、「LB1」から「FW2」への分配割合は1/3となる。
図18は、図13に示す構成要求50Bに関わるVNF12の負荷割合の一例を示す説明図である。第5の決定部42Cは、集約LB13Aの「LB1」から各VNF#1内の各FW1及びFW2の負荷の分配割合を決定した後、先に決定した最適経路R1〜R3上の転送経路を決定する。更に、第5の決定部42Cは、その転送経路上の各VNF12の負荷割合を算出して決定する。
集約LB13Aの「LB1」の転送経路は、Proxy1宛のパケットをFW1に転送する経路、Proxy2宛のパケットをFW1に転送する経路、Proxy3宛のパケットをFW2に転送する経路となる。
更に、FW1の転送経路は、Proxy1宛のパケットをIDS1に転送する経路及び、Proxy2宛のパケットをIDS2に転送する経路となる。FW2の転送経路は、Proxy3宛のパケットをIDS3に転送する経路となる。
更に、IDS1の転送経路は、Proxy1宛のパケットをProxy1に転送する経路となる。IDS2の転送経路は、Proxy2宛のパケットをProxy2に転送する経路となる。IDS3の転送経路は、Proxy3宛のパケットをProxy3に転送する経路となる。
更に、第5の決定部42Cは、VNF#1からVNF#2までの転送経路毎に負荷割合(トラヒック割合)を算出して決定する。例えば、FW1からIDS1への転送経路の負荷割合は1/3、FW1からIDS2への転送経路の負荷割合は1/3、FW2からIDS3への転送経路の負荷割合は1/3となる。
更に、第5の決定部42Cは、VNF#2からVNF#3までの転送経路毎の負荷割合を算出して決定する。例えば、IDS1からProxy1への転送経路の負荷割合は1/3、IDS2からProxy2への転送経路の負荷割合は1/3、IDS3からProxy3への転送経路の負荷割合は1/3となる。
配置部43Aは、集約LB13A及びVNF12の数、最適経路R1〜R3及び転送経路に基づき、集約LB13A及びVNF12を汎用サーバ2B等の仮想領域に配置して機能を起動させる。
割合設定部43Bは、第4の決定部42Bで決定した集約LB13Aの分配割合を配置された集約LB13Aに設定する。割合設定部43Bは、第5の決定部42Cで決定した各VNF12の負荷割合を配置されたVNF12に設定する。その結果、仮想環境下で構成要求のサービスチェインを構築できる。
管理サーバ3は、集約LB13A及び各VNF12の数、最適経路、転送経路、集約LB13Aの分配割合及び各VNF12の負荷割合に基づき、キャリアNW2上の指定の汎用サーバ2Bの仮想領域に、構成要求のサービスチェインを構築する。その結果、LB13の数を少なくすることで、LB13配置に伴う転送遅延を抑制し、そのLB13の配置に要する仮想領域の資源を節減できる。
図18に示す例では、サービスチェインの最前段に単一の集約LB13Aを配置し、集約LB13Aから終端のVNF12までの負荷量(トラヒック量)が均等になるように集約LB13Aの分配割合及び各VNF12の負荷割合(トラヒック割合)を決定する。その結果、LB13の数を1台にすることで、転送遅延を抑制できると共に、有限な仮想領域の資源を節減できる。
本実施例の管理サーバ3は、仮想領域上にVNF群20を複数段に配置する際に最前段のVNF群20(VNF#1)の前段に配置する集約LB13Aを決定する。管理サーバ3は、集約LB13Aから終端のVNF群20内の各VNF12までの負荷(トラヒック)が分散する、集約LB13Aの分配割合及び各VNF12の負荷割合(トラヒック割合)を決定する。そして、管理サーバ3は、集約LB13Aの分配割合を仮想領域上の集約LB13Aに設定すると共に、各VNF12の負荷割合(トラヒック割合)を仮想領域上の集約LB13Aに設定する。その結果、管理サーバ3は、サービスチェインを構築する際にVNF群20の前段に配置するLB13を集約してLB13の数を少なくすることで、その処理遅延を抑制できる。しかも、LB13の配置による仮想領域の資源を節減できる。
管理サーバ3は、仮想領域上にVNF群20を複数段に配置する際に指定するVNF群20毎のLBインスタンス数に基づき、最前段のVNF群20(VNF#1)の前段に配置する集約LB13Aの数を決定する。その結果、管理サーバ3は、サービスチェインを構築する際に要する最小限の集約LB13Aの数を決定できる。
管理サーバ3は、構成要求で指定された各VNF群20の任意の機能特性、例えば、L4レベルのVNF群20を特定し、特定されたVNF群20内のLBインスタンス数に応じて、集約LB13Aの数を決定する。その結果、管理サーバ3は、サービスチェインを構築する際に、任意の機能特性に適した最小限の集約LB13Aの数を決定できる。
管理サーバ3は、構成要求で指定された各VNF群20の任意の機能特性、例えば、L4レベルのVNF群20を特定する。更に、管理サーバ3は、特定されたVNF群20の内、VNF12の数が最大数のVNF群20を特定する。更に、管理サーバ3は、特定されたVNF群20のLBインスタンス数に応じて集約LB13Aの数を決定する。その結果、管理サーバ3は、サービスチェインを構築する際に、任意の機能特性の最大数のVNF12を収容したVNF群20に適し、かつ、最小限の集約LB13Aの数を決定できる。
管理サーバ3は、構成要求で指定された各VNF群20の内、上位レイヤ特性、例えばL4レベルのVNF群20を特定し、特定されたVNF群20内のLBインスタンス数に応じて、集約LB13Aの数を決定する。その結果、管理サーバ3は、サービスチェインを構築する際に、上位レイヤ特性のVNF12を収容したVNF群20に適し、かつ、最小限の集約LB13Aの数を決定できる。
管理サーバ3は、構成要求で指定されたVNF群20毎のVNF12の数に基づき、複数のVNF群20の内、上位レイヤ特性のVNF群20を特定する。更に、特定されたVNF群20内のLBインスタンス数に応じて、集約LB13Aの数を決定すると共に、指定されたLB13の数を削除する。
尚、上記実施例では、構成要求で指定されたLBインスタンス数に応じて集約LB13Aの数を決定した。しかしながら、構成要求にLBインスタンス数が含まれていなくても良い。この場合、管理サーバ3は、構成要求で指定されたVNF群20のVNF12のインスタンス数に基づき、VNF群20毎に必要となる処理性能を算出しそれを処理するために必要なLBインスタンス数を算出する。そして、管理サーバ3は、自分で算出したVNF群20毎のLBインスタンス数に基づき集約LB13Aの数を決定しても良い。
また、上記実施例の第1の決定部41は、構成要求50を検出すると、構成要求50内の上位レイヤであるL4レベルのVNF群20を特定し、特定したVNF群20の内、そのVNF12のインスタンス数が最大数のVNF群20を特定する。そして、第1の決定部41は、特定したVNF群20内のLBインスタンス数に応じて集約LB13Aの数を決定した。しかしながら、これらに限定されるものではない。
図19Aは、構成要求50CのLB集約前の配置構成の一例を示す説明図、図19Bは、図19Aに示す構成要求50Cに関わるLB集約後の配置構成の一例を示す説明図である。図19Aに示す構成要求50Cは、VNF#1をURLフィルタ、VNF#1のインスタンス数を「4」、VNF#1のLB種別をL4レベルのLB13、VNF#1のLBインスタンス数を「1」とする。更に、VNF#2をProxy、VNF#2のインスタンス数を「3」、VNF#2のLB種別をL4レベルのLB13、VNF#2のLBインスタンス数を「2」とする。更に、VNF#3をCache、VNF#3のインスタンス数を「3」、VNF#3のLB種別をL4レベルのLB13、VNF#3のLBインスタンス数を「2」とする。
第1の決定部41は、全てのVNF12がL4レベルであるため、VNF群20の内、その最大インスタンス数のVNF群20、すなわちVNF#3を特定し、特定したVNF#3のL4レベルのLBのインスタンス数「2」を特定する。そして、第1の決定部41は、L4レベルのLBのインスタンス数「2」を集約LB13Aのインスタンス数として決定する。その結果、図19Bに示すように、L4レベルの集約LB13Aの2台を最前段に配置し、その次段にVNF#1、その次段にVNF#2、その次段にVNF#3を配置する構成となる。その結果、VNF群20が同一レベル特性(L4レベル)の場合、L4レベルのLB13を集約できる。
図20Aは、構成要求50DのLB集約前の配置構成の一例を示す説明図、図20Bは、図20Aに示す構成要求50Dに関わるLB集約後の配置構成の一例を示す説明図である。図20Aに示す構成要求50Dは、VNF#1をURLフィルタ、VNF#1のインスタンス数を「4」、VNF#1のLB種別をL4レベルのLB13、VNF#1のLBインスタンス数を「1」とする。VNF#2をProxy、VNF#2のインスタンス数を「3」、VNF#2のLB種別をL4レベルのLB13、VNF#2のLBインスタンス数を「2」とする。VNF#3をCache、VNF#3のインスタンス数を「3」、VNF#3のLB種別をL7レベルのLB13、VNF#3のLBインスタンス数を「2」とする。尚、VNF#1及びVNF#2がL4レベル、次段のVNF#3がL7レベルとする。
第1の決定部41は、L4レベルのVNF#1及びVNF#2が連続するため、L4レベルのVNF群20の内、その最大インスタンス数のVNF群20、すなわちVNF#1を特定し、特定したVNF#1のL4レベルのLBのインスタンス数「1」を特定する。そして、第1の決定部41は、L4レベルのLBのインスタンス数「1」を、VNF#1の前段に配置する集約LB13Aのインスタンス数と決定する。
更に、第1の決定部41は、L7レベルのVNF#3のVNF群20の内、最大インスタンス数のVNF群20、すなわちVNF#3を特定し、特定したVNF#3のL7レベルのLBのインスタンス数「2」を特定する。そして、第1の決定部41は、L7レベルのLB13のインスタンス数「2」を、VNF#3の前段に配置するL7レベルの集約LB13Bのインスタンス数と決定する。
つまり、図20Bに示す構成要求50Dのサービスチェインでは、レベル特性毎に集約LB13Aを配置、例えば、L4レベルの集約LB13AをVNF#1の前段に配置、レベルL7の集約LB13BをVNF#3の前段に配置した。その結果、集約LB13Aは、L4レベル、すなわちTCPのセッション単位で分配できる。更に、集約LB13Bは、レベルL7、すなわちアプリケーションレベルの識別子、例えば、HTTPプロトコルのURL、アプリケーションで使用するユーザ名やファイル名単位で分配できる。
管理サーバ3は、構成要求で指定された各VNF群20のレイヤ特性の内、各最適経路R内の同一レイヤ特性、例えばL4レベル又はL7レベルの最前段のVNF群20(VNF#1)の前段に配置する集約LB13A(13B)の数を決定する。更に、管理サーバ3は、VNF群20の内、同一レイヤ特性の範囲内で終端となるVNF12を決定すると共に、集約LB13Aから各終端のVNF12までの最適経路Rを決定する。管理サーバ3は、各最適経路Rの同一レイヤ特性の範囲内の最大数のVNF群20の各VNF12の負荷量(トラヒック量)が均等になるように、各最前段のVNF12(VNF#1)への負荷割合(トラヒック割合)を決定する。その結果、同一レイヤ特性毎に、集約LB13Aの数を少なくすることで、転送遅延を抑制できる。
図21Aは、構成要求50EのLB集約前の配置構成の一例を示す説明図、図21Bは、図21Aに示す構成要求50Eに関わるLB集約後の配置構成の一例を示す説明図である。図21Aに示す構成要求50Eは、VNF#1を「FW」、VNF#1のインスタンス数を「4」、VNF#1のLB種別をL3レベルのLB13、VNF#1のLBインスタンス数を「1」とする。VNF#2をCache、VNF#2のインスタンス数を「3」、VNF#2のLB種別をL4レベルのLB13、VNF#2のLBインスタンス数を「2」とする。VNF#3をProxy、VNF#3のインスタンス数を「3」、VNF#3のLB種別をL4レベルのLB13、VNF#3のLBインスタンス数を「2」とする。
VNF#1はL3レベル、VNF#2及びVNF#3はL4レベルとする。L3レベルは上位レイヤのL4レベルのLB13でTCPのセッション単位で分配できる。この際、VNF#2及びVNF#3はTCPセッションを終端するVNF群20となる。
LB13は、ICMP(Internet Control Message Protocol)パケットを送受することで分配先の通信疎通を監視する機能がある。しかしながら、L4レベルのLB13をVNF#1の前段に集約LB13Aとして配置した場合、VNF#2でTCPセッションを終端するため、ICMPパケットでVNF#2までの到達性を監視できるものの、VNF#3以降の到達性を監視できない。
そこで、第1の決定部41は、VNF#2のL4レベルのLB13のインスタンス数でVNF#1の前段に集約LB13Aを配置すると共に、VNF#3のL4レベルのLB13のインスタンス数でVNF#3の前段に集約LB13Bを配置する。その結果、集約LB13Aは、ICMPパケットでVNF#2までの到達性を監視し、集約LB13Bは、ICMPパケットでVNF#3までの到達性を監視できる。
上記実施例では、集約LB13Aの最適経路を決定し、集約LB13Aの分配割合を算出したが、集約LB13Aの分配割合を算出した後、集約LB13Aの最適経路を決定しても良い。
上記実施例では、集約LB13Aの分配割合を算出した後、各最適経路のVNF12毎の負荷割合を算出した。しかしながら、最適経路のVNF12毎の負荷割合を算出した後、集約LB13Aの分配割合を算出しても良く、特定アルゴリズムを用いて最適経路のVNF12毎の負荷割合及び集約LB13Aの分配割合を同時に算出しても良い。
上記実施例では、構成要求で指定された複数のVNF群20の内、機能特性、例えば、L4レベルのVNF群20のLBインスタンス数で集約LB13Aの数を決定した。しかしながら、機能特性として、例えば、送信元アドレスのハッシュ計算で分散する計算機能を使用するVNF群20を特定し、その特定されたVNF群20のLBインスタンス数で集約LB13Aの数を決定しても良い。
上記実施例では、構成要求で指定された各VNF群20のLBインスタンス数で最前段のLB13に集約し、最前段のLBインスタンス数を算出しても良い。また、最前段の集約LB13Aと、この集約LB13Aに接続する次段のVNF12と、そのVNF12のインスタンス数を指定する構成要求でも良い。
尚、上記実施例1の管理サーバ3は、仮想領域上にVNF群20を複数段に配置する際に最前段のVNF群20(VNF#1)の前段に配置する集約LB13Aを決定する。管理サーバ3は、集約LB13Aから終端のVNF群20内の各VNF12までの負荷が分散するように、集約LB13Aの分配割合、各VNF12の負荷割合(トラヒック割合)及び転送経路を決定する。そして、管理サーバ3は、集約LB13Aの分配割合を仮想領域上の集約LB13Aに設定すると共に、各VNF12のトラヒック割合を転送経路上の各VNF12に設定する。しかしながら、管理サーバ3では、例えば、サービスチェインシステム1内のトラヒック量の増大に応じて新規VNF12を追加するスケールアウトを実行する場合がある。この場合、サービスチェインシステム1内の複数のVNF12の設定を変更する必要がある。しかしながら、各VNF12の設定変更の同期を確保するのは困難であるため、集約LB13A及び各VNF12の転送経路の設定完了時刻に時間差が生じて通信断が発生する。そこで、VNF12の追加に伴う設定変更が生じた場合でも通信断の発生を回避できるサービスチェインシステム1の実施の形態につき、実施例2として以下に説明する。
図22Aは、実施例2のFW5追加前の配置構成の一例を示す説明図、図22Bは、FW5の追加後の配置構成の一例を示す説明図、図23は、FW5追加前後の集約LB13Aの分配割合及び各VNF12の転送経路の一例を示す説明図である。
図22Aに示す配置構成は、FW5追加前、すなわちスケールアウト前のサービスチェイン1のVNF12の配置構成である。図22Aに示す配置構成は、最前段のVNF群20として2台のLB1、LB2、次段のVNF#1として4台のFW1〜FW4、次段のVNF#2として3台のIDS1〜IDS3、最後段のVNF#3として3台のProxy1〜Proxy3として配置する。
FW5追加前のLB1の分配割合は、全体トラヒック量の2/8、つまり、LB1が受信するトラヒック量の1/4をProxy1宛にFW1経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/8、つまり、LB1が受信するトラヒック量の1/8をProxy2宛にFW2経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/8、つまり、LB1が受信するトラヒック量の1/8をProxy3宛にFW3経由で送信とする。
FW5の追加前のLB2の分配割合は、全体トラヒック量の1/8、つまり、LB2が受信するトラヒック量の1/8をProxy1宛にFW2経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の1/8、つまり、LB2が受信するトラヒック量の1/8をProxy2宛にFW3経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/8、つまり、LB2が受信するトラヒック量の1/4をProxy3宛にFW4経由で送信とする。
FW5追加前のLB1の転送経路は、Proxy1宛をFW1経由で送信、Proxy2宛をFW2経由で送信、Proxy3宛をFW3経由で送信とする。FW5追加前のLB2の転送経路は、Proxy1宛をFW2経由で送信、Proxy2宛をFW3経由で送信、Proxy3宛をFW4経由で送信とする。FW5追加前のFW1の転送経路は、Proxy1宛をIDS1経由で送信とする。FW5追加前のFW2の転送経路は、Proxy1宛をIDS1経由で送信、Proxy2宛をIDS2経由で送信とする。FW5追加前のFW3の転送経路は、Proxy2宛をIDS2経由で送信、Proxy3宛をIDS3経由で送信とする。FW5追加前のFW4の転送経路は、Proxy3宛をIDS3経由で送信とする。FW5追加前のIDS1の転送経路は、Proxy1宛をProxy1経由で送信とする。FW5追加前のIDS2の転送経路は、Proxy2宛をProxy2経由で送信とする。FW5追加前のIDS3の転送経路は、Proxy3宛をProxy3経由で送信とする。
図22Bに示す配置構成は、図22Aに示す配置構成のVNF#2にFW5を追加配置するスケールアウト後の配置構成である。
FW5追加後のLB1の分配割合は、全体トラヒック量の2/10、つまり、LB1が受信するトラヒック量の1/5をProxy1宛にFW1経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の2/10、つまり、LB1が受信するトラヒック量の1/5をProxy2宛にFW2経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/10、つまり、LB1が受信するトラヒック量の1/10をProxy3宛にFW3経由で送信とする。
FW5の追加後のLB2の分配割合は、全体トラヒック量の1/10、つまり、LB2が受信するトラヒック量の1/10をProxy1宛にFW3経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/10、つまり、LB2が受信するトラヒック量の1/5をProxy2宛にFW4経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/10、つまり、LB2が受信するトラヒック量の1/5をProxy3宛にFW5経由で送信とする。
FW5追加後のLB1の転送経路は、Proxy1宛をFW1経由で送信、Proxy2宛をFW2経由で送信、Proxy3宛をFW3経由で送信とする。FW5追加後のLB2の転送経路は、Proxy1宛をFW3経由で送信、Proxy2宛をFW4経由で送信、Proxy3宛をFW5経由で送信とする。FW5追加後のFW1の転送経路は、Proxy1宛をIDS1経由で送信とする。FW5追加後のFW2の転送経路は、Proxy2宛をIDS2経由で送信とする。FW5追加後のFW3の転送経路は、Proxy1宛をIDS1経由で送信、Proxy3宛をIDS3経由で送信とする。FW5追加後のFW4の転送経路は、Proxy2宛をIDS2経由で送信とする。FW5の転送経路は、Proxy3宛をIDS3経由で送信とする。FW5追加後のIDS1の転送経路は、Proxy1宛をProxy1経由で送信とする。FW5追加後のIDS2の転送経路は、Proxy2宛をProxy2経由で送信とする。FW5追加後のIDS3の転送経路は、Proxy3宛をProxy3経由で送信とする。
図24は、実施例2の管理サーバ3のプロセッサ36Aの機能構成の一例を示す説明図である。尚、実施例1のサービスチェインシステム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
図24に示すプロセッサ36Aは、第1の決定部41、第2の決定部42及び設定部43の他に、取得部44、比較部45及び記憶制御部46を有する。主記憶装置35には、例えば、設定テーブル35Aを格納する領域を有する。設定テーブル35Aは、現状の各VNF12及び集約LB13Aの転送経路及び集約LB13Aの分配割合等を格納している。補助記憶装置34には、例えば、後述する保持テーブル34Aを格納する領域を有する。取得部44は、設定テーブル34Aから追加前の集約LB13Aの分配割合と、各VNF12及び集約LB13Aの転送経路とを取得する。尚、追加前の集約LB13Aの分配割合は、新規VNF12をサービスチェインシステム1に追加する前の分配割合である。追加前の集約LB13A及び各VNF12の転送経路は、新規VNF12をサービスチェインシステム1に追加する前の転送経路である。また、取得部44は、追加後の集約LB13Aの分配割合と各VNF12及び集約LB13Aの転送経路とを取得する。尚、追加後の集約LB13Aの分配割合は、新規VNF12をサービスチェインシステム1に追加する場合に第2の決定部42で得た分配割合である。追加後の集約LB13A及び各VNF12の転送経路は、新規VNF12をサービスチェインシステム1に追加する場合の転送経路である。取得部44は、第2の決定部42Bにて算出された追加後の集約LB13A及び各VNF12の転送経路及び集約LB13Aの分配割合を取得する。
比較部45は、サービスチェインシステム1内の最後段のVNF群20を指定し、指定されたVNF群20内のVNF12毎に追加前後の転送経路同士を比較する。比較部45は、最後段のVNF群20内の全VNF12の追加前後の転送経路の比較が完了した場合、次に最後段のVNF群20を指定する。つまり、比較部45は、図22A及び22Bに示すように最後段のVNF#3(Proxy)→VNF#2(IDS)→VNF#1(FW)→最前段VNF群(LB)の順に各VNF群20を順次指定する。そして、比較部45は、指定されたVNF群20内のVNF12毎の追加前後の転送経路同士を順次比較する。記憶制御部46は、第1の更新部46Aと、第2の更新部46Bと、第3の更新部46Cとを有する。第1の更新部46Aは、比較部45にて指定VNF12の追加前後の転送経路同士を比較し、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路であるか否かを判定する。尚、宛先アドレスは、サービスチェインを使用する通信の宛先、例えば、Proxy1〜3等に相当し、未設定の宛先アドレスは、指定VNF12において、追加前の転送経路に未設定の宛先アドレスである。
第1の更新部46Aは、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合、指定VNF12の未設定の宛先アドレス宛の転送経路を設定テーブル35Aに追加登録する。尚、設定テーブル35Aは、現在設定中の追加前の転送経路を記憶した領域である。第1の更新部46Aは、例えば、図23に示すFW3の転送経路に着目した場合、追加前に未設定の宛先アドレス宛の追加後の転送経路として「Proxy1宛をIDS1経由で送信」の転送経路を設定テーブル35Aに追加登録する。
第2の更新部46Bは、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路でない場合、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する。第2の更新部46Bは、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合、設定テーブル35A内の指定VNF12の該当転送経路を更新する。第2の更新部46Bは、例えば、図23に示すLB2の転送経路に着目した場合、追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路として「Proxy1宛をFW3経由で送信」の転送経路を決定する。そして、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy1宛をFW2経由で送信」の転送経路を「Proxy1宛をFW3経由で送信」に更新する。尚、出力先とは、指定されたVNF12又は集約LB13Aの出力先である。更新には、削除や追加も含むものとする。
第3の更新部46Cは、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合、指定VNF12の追加前の転送経路が追加後の転送経路に該当なしの転送経路であるか否かを判定する。第3の更新部46Cは、指定VNF12の追加前の転送経路が追加後の転送経路に該当なしの転送経路の場合、該当なしの転送経路を保持テーブル34Aに保持する。第3の更新部46Cは、例えば、図23に示すFW3の転送経路に着目した場合、追加後の転送経路に該当なしの追加前の転送経路としてFW3の「Proxy2宛をIDS2経由で送信」と決定する。そして、第3の更新部46Cは、FW3の追加前の転送経路として「Proxy2宛をIDS2経由で送信」を保持テーブル34Aに保持する。
そして、設定部43は、全VNF群20内の全VNF12の追加前後の転送経路同士の比較が完了した場合、追加後の集約LB13Aの分配割合を設定する。更に、第3の更新部46Cは、集約LB13Aの分配割合を設定した後、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する。その結果、設定テーブル35Aは、FW5追加後の各VNF12の転送経路に更新されたことになる。
次にVNF追加時の管理サーバ3の動作について説明する。図25は、VNF追加処理に関わる管理サーバ3内のプロセッサ36Aの処理動作の一例を示すフローチャートである。
図25において管理サーバ3内のプロセッサ36Aは、VNF12の過負荷状態を検出したか否かを判定する(ステップS21)。プロセッサ36A内の設定部43は、VNF12の過負荷状態を検出した場合(ステップS21肯定)、過負荷状態の解消に対応する新規VNF12をサービスチェインシステム1に追加する(ステップS22)。
プロセッサ36A内の取得部44は、VNF12追加後のサービスチェイン構成の集約LB13Aの分配割合及び転送経路を算出する(ステップS23)。取得部44は、設定テーブル35AからVNF12追加前のサービスチェイン構成の集約LB13Aの分配割合及び転送経路を取得する(ステップS24)。
比較部45は、サービスチェイン構成の最後段のVNF群20を指定する(ステップS25)。尚、最後段のVNF群20は、図21Bに示す配置構成の場合、VNF群#3である。比較部45は、指定されたVNF群20内のVNF12を指定する(ステップS26)。比較部45は、指定VNF12の追加前後の転送経路同士を比較する(ステップS27)。
第1の更新部46Aは、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路であるか否かを判定する(ステップS28)。尚、宛先アドレス宛は、図22Bの配置構成の場合、例えば、Proxy1〜3等の最終宛先アドレスである。第1の更新部46Aは、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合(ステップS28肯定)、指定VNF12の追加後の該当転送経路を設定テーブル35Aに登録する(ステップS29)。比較部45は、該当転送経路を設定テーブル35A内に登録した後、指定VNF群20内に未指定のVNF12があるか否かを判定する(ステップS30)。
比較部45は、指定VNF群20内に未指定のVNF12がある場合(ステップS30肯定)、指定VNF群20内に未指定のVNF12の内、次のVNF12を指定する(ステップS31)。そして、比較部45は、次のVNF12を指定した後、指定VNF12の追加前後の転送経路同士を比較すべく、ステップS27に移行する。
第2の更新部46Bは、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路でない場合(ステップS28否定)、ステップS32に移行する。第2の更新部46Bは、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する(ステップS32)。第2の更新部46Bは、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合(ステップS32肯定)、ステップS33に移行する。第2の更新部46Bは、指定VNF12の追加後の転送経路に基づき、設定テーブル35A内の該当転送経路を更新する(ステップS33)。そして、比較部45は、未指定のVNF12があるか否かを判定すべく、ステップS30に移行する。
第3の更新部46Cは、指定VNF12の追加後の転送経路が追加前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合(ステップS32否定)、ステップS34に移行する。第3の更新部46Cは、指定VNF12の追加前の転送経路が追加後に該当なしの転送経路であるか否かを判定する(ステップS34)。第3の更新部46Cは、指定VNF12の追加前の転送経路が追加後に該当なしの転送経路である場合(ステップS34肯定)、指定VNF12の該当なしの転送経路を保持テーブル34Aに保持する(ステップS35)。そして、比較部45は、未指定のVNF群があるか否かを判定すべく、ステップS30に移行する。
比較部45は、指定VNF12の追加前の転送経路が追加後に該当なしの転送経路でない場合(ステップS34否定)、未指定のVNF12があるか否かを判定すべく、ステップS30に移行する。
比較部45は、指定VNF群20内に未指定のVNF12がない場合(ステップS30否定)、指定VNF群20がLBであるか否かを判定する(ステップS36)。比較部45は、指定VNF群20がLBでない場合(ステップS36否定)、指定VNF群20を除いて、最後段のVNF群20を指定し(ステップS37)、指定VNF群20内のVNF12を指定すべく、ステップS26に移行する。尚、ステップS37の最後段のVNF群20は、指定VNF群20がVNF群#3の場合、VNF群#2に相当し、指定VNF群20がVNF群#2の場合、VNF群#1に相当し、指定VNF群20がVNF群#1の場合、LBに相当する。
設定部43は、指定VNF群20がLBの場合(ステップS36肯定)、追加後の集約LB13Aの分配割合を更新する(ステップS38)。更に、第3の更新部46Cは、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除し(ステップS39)、図25に示す処理動作を終了する。
つまり、先ず、比較部45は、最後段のVNF群#3を指定し、VNF群#3内の各Proxy1〜3を順次指定し、VNF群#3内の指定Proxyの追加前後の転送経路同士を比較する。尚、比較部45は、最後段のVNF群#3のVNF12がProxyであるため、受信パケットを転送することがないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部45は、VNF群#3内の全Proxyの追加前後の転送経路同士の比較が完了した場合、VNF群#2を指定する。
比較部45は、指定したVNF群#2内の各VNF12、すなわちIDS1〜3を順次指定し、VNF群#2内の指定IDSの追加前後の転送経路同士を比較する。尚、比較部45は、VNF群#2のVNF12がIDSであるため、FW5の追加前後でも転送経路の変更がないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部45は、VNF群#2内の全IDS1〜3の追加前後の転送経路同士の比較が完了した場合、VNF#1を指定する。
比較部45は、指定したVNF群#1内の各VNF12、すなわちFW1〜5を順次指定し、VNF群#1内の指定FWの追加前後の転送経路同士を比較する。この際、記憶制御部46は、ステップS28、S32及びS34の判定処理を実行する。そして、第1の更新部46Aは、ステップS28の判定処理にて、FW3の「Proxy1宛をIDS1経由で送信」、FW4の「Proxy2宛をIDS2経由で送信」、FW5の「Proxy3宛をIDS3経由で送信」を該当転送経路と判断する。そして、第1の更新部46Aは、FW3の「Proxy1宛をIDS1経由で送信」、FW4の「Proxy2宛をIDS2経由で送信」、FW5の「Proxy3宛をIDS3経由で送信」の転送経路を設定テーブル35Aに追加登録する。
更に、第3の更新部46Cは、ステップS34の判定処理にてFW2の「Proxy1宛をIDS1経由で送信」、FW3の「Proxy2宛をIDS2経由で送信」を追加後に該当なし転送経路として保持テーブル34Aに保持する。また、第3の更新部46Cは、FW4の「Proxy3宛をIDS3経由で送信」も、追加後に該当なし転送経路として保持テーブル34Aに保持する。
次に比較部45は、VNF群#1内の全FW1〜5の追加前後の転送経路同士の比較が完了した場合、LBのVNF群20を指定する。比較部45は、指定されたLBのVNF群20内の指定VNF12、すなわちLB1及びLB2を順次指定する。比較部45は、LBのVNF群20内の指定LBの追加前後の転送経路同士を比較する。この際、比較部45は、ステップS28、S32及びS34の判定処理を実行する。そして、第2の更新部46Bは、ステップS32の判定処理にて、LB2の「Proxy1宛をFW3経由で送信」、「Proxy2宛をFW4経由で送信」及び「Proxy3宛をFW5経由で送信」を該当転送経路として判断する。そして、第2の更新部46Bは、ステップS32の判定結果に基づき、設定テーブル35A内のLB2の「Proxy1宛をFW2経由で送信」の転送経路を「Proxy1宛をFW3経由で送信」に更新する。更に、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy2宛をFW3経由で送信」の転送経路を「Proxy2宛をFW4経由で送信」に更新する。更に、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy3宛をFW4経由で送信」の転送経路を「Proxy3宛をFW5経由で送信」に更新する。
そして、設定部43は、集約LB13AのVNF群20内の全ての集約LB13Aの追加前後の転送経路同士の比較が完了した場合、追加後の集約LB13Aの分配割合を各VNF12に設定する。そして、第3の更新部46Cは、追加後の集約LB13Aの分配割合を各VNF12に設定した後、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する。例えば、第3の更新部46Cは、設定テーブル35AからFW2の「Proxy1宛をIDS1経由で送信」、FW3の「Proxy2宛をIDS2経由で送信」、FW4の「Proxy3宛をIDS3経由で送信」を削除する。その結果、設定テーブル35Aには、FW5追加後の各VNF12の転送経路が更新されたことになる。つまり、サービスチェインシステム1内にFW5を追加する場合でも集約LB13及び各VNF12の設定完了時刻の時間差による通信断の発生を回避できる。
実施例2の管理サーバ3は、新規のVNF12を追加する場合、追加前後の集約LB13A及び各VNF12の転送経路を取得する。管理サーバ3は、最後段のVNF群20からVNF群20を順次指定し、指定VNF群20内のVNF12を順次指定し、指定VNF12の追加前後の転送経路同士を比較する。管理サーバ3は、指定VNF12の追加後の転送経路が追加前に未設定の宛先アドレス宛の転送経路の場合、指定VNFの追加後の該当転送経路を設定テーブル35Aに追加登録する。また、管理サーバ3は、指定VNF12の追加後の転送経路が追加前の転送経路と同一宛先アドレス宛であって出力先が異なる転送経路の場合、指定VNF12の追加後の該当転送経路に基づき、設定テーブル35Aの追加前の該当転送経路を更新する。
更に、管理サーバ3は、指定VNF12の追加前の転送経路が追加後の転送経路内に該当なしの転送経路の場合、指定VNF12の該当なしの転送経路を保持テーブル34Aに保持する。更に、管理サーバ3は、全てのVNF群20内の全てのVNF12の追加前後の転送経路同士の比較が完了した場合、追加後の集約LB13Aの分配割合を設定した後、設定テーブル35Aから保持テーブル34Aに保持中の該当なしの転送経路を削除する。つまり、管理サーバ3は、設定テーブル35Aに対して、追加前に未設定の宛先アドレス宛の転送経路を追加、追加前と同一の宛先アドレス宛であって出力先が異なる転送経路を更新する。更に、管理サーバ3は、追加後の集約LB13Aの分配割合の設定を実行した後、追加後に該当なしの追加前の転送経路を設定テーブル35Aから削除する。その結果、サービスチェインシステム1内にVNF12を追加する場合でも、集約LB13A及び各VNF12の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
実施例1では、例えば、VNF#1にFW5を追加した場合、集約LB13Aの分配割合や転送経路の変更が求められるため、LB2、FW3、FW4、FW5の設定変更が生じ、例えばFW4が他の処理を実行中等で同時に設定変更ができず、通信断が生じる。また、FW4の変更処理が遅れてLB2での設定変更が先行して行われた場合、トラヒックがFW4に到着したとしてもFW4にはProxy2宛の転送経路が登録されていないため、パケットが廃棄されてしまう。しかしながら、実施例2では、未設定の宛先アドレスの転送経路の追加、追加前と同一宛先アドレスであって出力先が異なる転送経路の更新、追加後の集約LB13Aの分配割合の設定を実行した後、追加後に該当なしの転送経路を設定テーブル35Aから削除する。その結果、サービスチェインシステム1内にVNF12を追加する場合でも、集約LB13A及び各VNF12の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
尚、実施例2では、VNF群#1内にFW5を追加した場合を例示したが、VNF群#1に限定されるものではなく、他のVNF群20のIDS、ProxyやLB等のVNF12であっても良い。
また、比較部45は、指定VNF20群内の各VNF12を個別に指定して追加前後の転送経路同士を比較したが、指定VNF群20内のVNF12を複数個単位又は一括で指定して各指定VNF12の追加前後の転送経路同士を比較しても良い。
第3の更新部46Cは、ステップS34にて指定VNF12の追加前の転送経路が追加後の転送経路内に該当なしの転送経路であるか否かを判定し、その該当なし転送経路を保持テーブル34Aに保持したが、これに限定されるものではない。第3の更新部46Cは、ステップS38にて追加後の集約LB13Aの分配割合を設定した後、各VNF12につき、ステップS34の追加前の転送経路が追加後の転送経路内に該当なしの転送経路であるか否かを判定する。そして、第3の更新部46Cは、該当なしの転送経路を保持テーブル34Aに保持した後、その保持テーブル34Aに保持中の該当なしの転送経路を設定テーブル35Aから削除するステップS39に移行しても良い。また、第3の更新部46Cは、保持テーブル34Aに保持中の該当なしの転送経路を設定テーブル35Aから削除する順序は適宜変更可能であって、例えば、該当なしの転送経路をVNF12毎に削除、複数個単位、若しくは一括で削除しても良い。
取得部44は、追加前の転送経路を設定テーブル35Aから取得したが、転送経路を算出しても良い。
また、管理サーバ3では、例えば、サービスチェインシステム1内の負荷の低下に応じてVNF12を停止削除するスケールインを実行する場合もある。この場合も、サービスチェインシステム1内の複数のVNF12の設定を変更する必要がある。しかしながら、各VNF12の設定変更の同期を確保するのは困難であるため、集約LB13A及び各VNF12の転送経路の設定完了時刻に時間差が生じて通信断が発生する。そこで、VNF12の削除に伴う設定変更が生じた場合でも通信断の発生を回避できるサービスチェインシステム1の実施の形態につき、実施例3として以下に説明する。
図26Aは、実施例3のFW5削除前の配置構成の一例を示す説明図、図26Bは、FW5の削除後の配置構成の一例を示す説明図、図27は、FW5削除前後の集約LB13Aの分配割合及び各VNF12の転送経路の一例を示す説明図である。
図26Aに示すFW5削除前の配置構成は、FW5削除前、すなわちスケールイン前のサービスチェインシステム1のVNF12の配置構成である。図26Aに示す配置構成は、最前段のVNF群20として2台のLB1、LB2、次段のVNF#1として5台のFW1〜FW5、次段のVNF#2として3台のIDS1〜IDS3、最後段のVNF#3として3台のProxy1〜Proxy3として配置する。
FW5削除前のLB1の分配割合は、全体トラヒック量の2/10、つまり、LB1が受信するトラヒック量の1/5をProxy1宛にFW1経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の2/10、つまり、LB1が受信するトラヒック量の1/5をProxy2宛にFW2経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/10、つまり、LB1が受信するトラヒック量の1/10をProxy3宛にFW3経由で送信とする。
FW5削除前のLB2の分配割合は、全体トラヒック量の1/10、つまり、LB2が受信するトラヒック量の1/10をProxy1宛にFW3経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/10、つまり、LB2が受信するトラヒック量の1/5をProxy2宛にFW4経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/10、つまり、LB2が受信するトラヒック量の1/5をProxy3宛にFW5経由で送信とする。
FW5削除前のLB1の転送経路は、Proxy1宛をFW1経由で送信、Proxy2宛をFW2経由で送信、Proxy3宛をFW3経由で送信とする。FW5削除前のLB2の転送経路は、Proxy1宛をFW3経由で送信、Proxy2宛をFW4経由で送信、Proxy3宛をFW5経由で送信とする。FW5削除前のFW1の転送経路は、Proxy1宛をIDS1経由で送信とする。FW5削除前のFW2の転送経路は、Proxy2宛をIDS2経由で送信とする。FW5削除前のFW3の転送経路は、Proxy1宛をIDS1経由で送信、Proxy3宛をIDS3経由で送信とする。FW5削除前のFW4の転送経路は、Proxy2宛をIDS2経由で送信とする。FW5の転送経路は、Proxy3宛をIDS3経由で送信とする。FW5削除前のIDS1の転送経路は、Proxy1宛をProxy1経由で送信とする。FW5削除前のIDS2の転送経路は、Proxy2宛をProxy2経由で送信とする。FW5削除前のIDS3の転送経路は、Proxy3宛をProxy3経由で送信とする。
図26Bに示す配置構成は、図26Aに示す配置構成のVNF#2内のFW5を削除したスケールイン後の配置構成である。
FW5削除後のLB1の分配割合は、全体トラヒック量の2/8、つまり、LB1が受信するトラヒック量の1/4をProxy1宛にFW1経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/8、つまり、LB1が受信するトラヒック量の1/8をProxy2宛にFW2経由で送信とする。更に、LB1の分配割合は、全体トラヒック量の1/8、つまり、LB1が受信するトラヒック量の1/8をProxy3宛にFW3経由で送信とする。
FW5削除後のLB2の分配割合は、全体トラヒック量の1/8、つまり、LB2が受信するトラヒック量の1/8をProxy1宛にFW2経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の1/8、つまり、LB2が受信するトラヒック量の1/8をProxy2宛にFW3経由で送信とする。更に、LB2の分配割合は、全体トラヒック量の2/8、つまり、LB2が受信するトラヒック量の1/4をProxy3宛にFW4経由で送信とする。
FW5削除後のLB1の転送経路は、Proxy1宛をFW1経由で送信、Proxy2宛をFW2経由で送信、Proxy3宛をFW3経由で送信とする。FW5削除後のLB2の転送経路は、Proxy1宛をFW2経由で送信、Proxy2宛をFW3経由で送信、Proxy3宛をFW4経由で送信とする。FW5削除後のFW1の転送経路は、Proxy1宛をIDS1経由で送信とする。FW5削除後のFW2の転送経路は、Proxy1宛をIDS1経由で送信、Proxy2宛をIDS2経由で送信とする。FW5削除後のFW3の転送経路は、Proxy2宛をIDS2経由で送信、Proxy3宛をIDS3経由で送信とする。FW5削除後のFW4の転送経路は、Proxy3宛をIDS3経由で送信とする。FW5削除後のIDS1の転送経路は、Proxy1宛をProxy1経由で送信とする。FW5削除後のIDS2の転送経路は、Proxy2宛をProxy2経由で送信とする。FW5削除後のIDS3の転送経路は、Proxy3宛をProxy3経由で送信とする。
プロセッサ36Aは、第1の決定部41、第2の決定部42及び設定部43の他に、取得部44、比較部45及び記憶制御部46を有する。取得部44は、設定テーブル35Aから削除前の集約LB13Aの分配割合と、集約LB13A及び各VNF12の転送経路を取得する。尚、削除前の集約LB13Aの分配割合は、サービスチェインシステム1から配置VNF12を削除する前の分配割合である。削除前の集約LB13A及び各VNF12の転送経路は、配置VNF12をサービスチェインシステム1から削除する前の転送経路である。更に、取得部44は、削除後の集約LB13Aの分配割合と、各VNF12及び集約LB13Aの転送経路を取得する。削除後の集約LB13Aの分配割合は、サービスチェインシステム1から配置VNF12を削除する場合に第2の決定部42で得た分配割合である。削除後の集約LB13A及び各VNF12の転送経路は、サービスチェインシステム1から配置VNF12を削除する場合の転送経路である。取得部44は、第2の決定部42Bにて算出された削除後の集約LB13A及び各VNF12の転送経路及び集約LB13Aの分配割合を取得する。
比較部45は、サービスチェインシステム1内の最後段のVNF群20を指定し、指定されたVNF群20内のVNF12毎に削除前後の転送経路同士を比較する。比較部45は、最後段のVNF群20内の全VNF12の削除前後の転送経路同士の比較が完了した場合、次に最後段のVNF群20を指定する。そして、比較部45は、指定されたVNF群20内のVNF12毎の削除前後の転送経路同士を順次比較する。つまり、比較部45は、図26A及び26Bに示すように最後段のVNF#3(Proxy)→VNF#2(IDS)→VNF#1(FW)→最前段VNF群(LB)を順次指定する。そして、比較部45は、指定されたVNF群20内のVNF12毎の削除前後の転送経路同士を順次比較する。記憶制御部46は、第1の更新部46Aと、第2の更新部46Bと、第3の更新部46Cとを有する。第1の更新部46Aは、比較部45にて指定VNF12の削除前後の転送経路同士を比較し、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路であるか否かを判定する。尚、宛先アドレスは、サービスチェインを使用する通信の宛先、例えば、Proxy1〜3等に相当し、未設定の宛先アドレスは、指定VNF12において、削除前の転送経路に未設定の宛先アドレスである。
第1の更新部46Aは、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合、指定VNF12の未設定の宛先アドレス宛の転送経路を設定テーブル35Aに追加登録する。尚、設定テーブル35Aは、現在設定中の削除前の転送経路を記憶した領域である。第1の更新部46Aは、例えば、図27に示すFW2の転送経路に着目した場合、削除前に未設定の宛先アドレス宛の削除後の転送経路として「Proxy1宛をIDS1経由で送信」の転送経路を設定テーブル35Aに追加登録する。
第2の更新部46Bは、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路でない場合、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する。第2の更新部46Bは、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合、設定テーブル35A内の指定VNF12の該当転送経路を更新する。第2の更新部46Bは、例えば、図27に示すLB2の転送経路に着目した場合、削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路として「Proxy1宛をFW2経由で送信」の転送経路を決定する。そして、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy1宛をFW3経由で送信」の転送経路を「Proxy1宛をFW2経由で送信」に更新する。
第3の更新部46Cは、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合、指定VNF12の削除前の転送経路が削除後の転送経路に該当なしの転送経路であるか否かを判定する。第3の更新部46Cは、指定VNF12の削除前の転送経路が削除後の転送経路に該当なしの転送経路の場合、その該当なし転送経路を保持テーブル34Aに保持する。第3の更新部46Cは、例えば、図27に示すFW3の転送経路に着目した場合、削除後の転送経路に該当なしの削除前の転送経路としてFW3の「Proxy1宛をIDS1経由で送信」と決定する。そして、第3の更新部46Cは、FW3の追加前の転送経路として「Proxy1宛をIDS1経由で送信」を保持テーブル34Aに保持する。
そして、設定部43は、全VNF群20内の削除前後の全ての転送経路同士の比較が完了した場合、削除後の集約LB13Aの分配割合を設定する。更に、第3の更新部46Cは、集約LB13Aの分配割合を設定した後、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する。更に、設定部43は、削除前のサービスチェインシステム1からFW5を停止して削除する。
そして、設定部43は、全VNF群20内の全VNF12の削除前後の転送経路同士の比較が完了した場合、削除後の集約LB13Aの分配割合を設定する。更に、第3の更新部46Cは、集約LB13Aの分配割合を設定した後、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する。その結果、設定テーブル35Aは、FW5削除後の各VNF12の転送経路に更新されたことになる。そして、設定部43は、設定テーブル35Aの更新後、サービスチェインシステム1からFW5を削除する。
次にVNF削除時の管理サーバ3の動作について説明する。図28は、VNF削除処理に関わる管理サーバ3内のプロセッサ36Aの処理動作の一例を示すフローチャートである。
図28において管理サーバ3内のプロセッサ36Aは、VNF12の負荷低下を検出したか否かを判定する(ステップS41)。プロセッサ36A内の取得部44は、VNF12の負荷低下を検出した場合(ステップS41肯定)、負荷低下に応じたVNF削除に関わるVNF削除後のサービスチェイン構成の集約LB13Aの分配割合及び転送経路を算出する(ステップS42)。取得部44は、設定テーブル35AからVNF削除前のサービスチェイン構成の集約LB13Aの分配割合及び転送経路を取得する(ステップS43)。
比較部45は、サービスチェイン構成の最後段のVNF群20を指定する(ステップS44)。尚、最後段のVNF群20は、図26Aに示す配置構成の場合、VNF群#3である。比較部45は、指定されたVNF群20内のVNF12を指定する(ステップS45)。比較部45は、指定VNF12の削除前後の転送経路同士を比較する(ステップS46)。
第1の更新部46Aは、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路であるか否かを判定する(ステップS47)。尚、宛先アドレス宛は、図26Bの配置構成の場合、例えば、Proxy1〜3等の最終宛先アドレスである。第1の更新部46Aは、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合(ステップS47肯定)、指定VNF12の削除後の該当転送経路を設定テーブル35Aに登録する(ステップS48)。比較部45は、該当転送経路を設定テーブル35A内に登録した後、指定VNF群20内に未指定のVNF12があるか否かを判定する(ステップS49)。
比較部45は、指定VNF群20内に未指定のVNF12がある場合(ステップS49肯定)、指定VNF群20内に未指定のVNF12の内、次のVNF12を指定する(ステップS50)。比較部45は、次のVNF12を指定した後、指定VNF12の削除前後の転送経路同士を比較すべく、ステップS46に移行する。
第2の更新部46Bは、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路でない場合(ステップS47否定)、ステップS51に移行する。第2の更新部46Bは、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路であるか否かを判定する(ステップS51)。第2の更新部46Bは、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路の場合(ステップS51肯定)、ステップS52に移行する。第2の更新部46Bは、指定VNF12の削除後の転送経路に基づき、設定テーブル35A内の該当転送経路を更新する(ステップS52)。そして、比較部45は、未指定のVNF12があるか否かを判定すべく、ステップS49に移行する。
第3の更新部46Cは、指定VNF12の削除後の転送経路が削除前の転送経路と同一の宛先アドレス宛であって出力先が異なる転送経路でない場合(ステップS51否定)、ステップS53に移行する。第3の更新部46Cは、指定VNF12の削除前の転送経路が削除後に該当なしの転送経路であるか否かを判定する(ステップS53)。第3の更新部46Cは、指定VNF12の削除前の転送経路が削除後に該当なしの転送経路である場合(ステップS53肯定)、指定VNF12の該当なしの転送経路を保持テーブル34Aに保持する(ステップS54)。そして、比較部45は、未指定のVNF群20があるか否かを判定すべく、ステップS49に移行する。
比較部45は、指定VNF12の削除前の転送経路が削除後に該当なしの転送経路でない場合(ステップS53否定)、未指定のVNF12があるか否かを判定すべく、ステップS49に移行する。
比較部45は、指定VNF群20内に未指定のVNF12がない場合(ステップS49否定)、指定VNF群20がLBであるか否かを判定する(ステップS55)。比較部45は、指定VNF群20がLBでない場合(ステップS55否定)、指定VNF群20を除いて、最後段のVNF群20を指定し(ステップS56)、指定VNF群20内のVNF12を指定すべく、ステップS45に移行する。尚、ステップS56の最後段のVNF群20は、指定VNF群20がVNF群#3の場合、VNF群#2に相当し、指定VNF群20がVNF群#2の場合、VNF群#1に相当し、指定VNF群20がVNF群#1の場合、LBに相当する。
設定部43は、指定VNF群20がLBの場合(ステップS55肯定)、削除後の集約LB13Aの分配割合を更新する(ステップS57)。更に、第3の更新部46Cは、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する(ステップS58)。更に、設定部43は、削除前のサービスチェインシステム1から削除対象のVNF12を停止して削除し(ステップS59)、図28に示す処理動作を終了する。
つまり、先ず、比較部45は、最後段のVNF群#3を指定し、VNF群#3内の各Proxy1〜3を順次指定し、VNF群#3内の指定Proxyの削除前後の転送経路同士を比較する。尚、比較部45は、最後段のVNF群#3のVNF12がProxyであるため、受信パケットを転送することがないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部45は、VNF群#3内の全Proxyの削除前後の転送経路同士の比較が完了した場合、VNF群#2を指定する。
比較部45は、指定したVNF群#2内の各VNF12、すなわちIDS1〜3を順次指定し、VNF群#2内の指定IDSの削除前後の転送経路同士を比較する。尚、比較部45は、VNF群#2のVNF12がIDSであるため、FW5の追加前後でも転送経路の変更がないため、追加前後の転送経路同士の比較を実行しなくても良い。比較部45は、VNF群#2内の全IDSの削除前後の転送経路同士の比較が完了した場合、VNF#1を指定する。
比較部45は、指定したVNF群#1内の各VNF12、すなわちFW1〜5を順次指定し、VNF群#1内の指定FWの削除前後の転送経路同士を比較する。この際、記憶制御部46は、ステップS47、S51及びS53の判定処理を実行する。そして、第1の更新部46Aは、ステップS47の判定処理にて、FW2の「Proxy1宛をIDS1経由で送信」、FW3の「Proxy2宛をIDS2経由で送信」、FW4の「Proxy3宛をIDS3経由で送信」の該当転送経路と判断する。そして、第1の更新部46Aは、FW2の「Proxy1宛をIDS1経由で送信」、FW3の「Proxy2宛をIDS2経由で送信」、FW4の「Proxy3宛をIDS3経由で送信」の転送経路を設定テーブル35Aに追加登録する。
更に、第3の更新部46Cは、ステップS53の判定処理にてFW3の「Proxy1宛をIDS1経由で送信」、FW4の「Proxy2宛をIDS2経由で送信」を削除後に該当なし転送経路として保持テーブル34Aに保持する。更に、第3の更新部46Cは、FW5の「Proxy3宛をIDS3経由で送信」を削除後に該当なし転送経路として保持テーブル34Aに保持する。
次に比較部45は、VNF群#1内の全FW1〜5の削除前後の転送経路同士の比較が完了した場合、LBのVNF群20を指定する。比較部45は、指定されたLBのVNF群20内の指定VNF12、すなわちLB1及びLB2を順次指定する。比較部45は、LBのVNF群20内の指定LBの削除前後の転送経路同士を比較する。この際、比較部45は、ステップS47、S51及びS53の判定処理を実行する。そして、第2の更新部46Bは、ステップS51の判定処理にて、LB2の「Proxy1宛をFW2経由で送信」、「Proxy2宛をFW3経由で送信」及び「Proxy3宛をFW4経由で送信」を該当転送経路として判断する。そして、第2の更新部46Bは、ステップS51の判定結果に基づき、設定テーブル35A内のLB2の「Proxy1宛をFW3経由で送信」の転送経路を「Proxy1宛をFW2経由で送信」に更新する。更に、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy2宛をFW4経由で送信」の転送経路を「Proxy2宛をFW3経由で送信」に更新する。更に、第2の更新部46Bは、設定テーブル35A内のLB2の「Proxy3宛をFW5経由で送信」の転送経路を「Proxy3宛をFW4経由で送信」に更新する。
設定部43は、集約LB13AのVNF群20内の全ての集約LB13Aの削除前後の転送経路同士の比較が完了した場合、削除後の集約LB13Aの分配割合を各VNF12に設定する。そして、第3の更新部46Cは、削除後の集約LB13Aの分配割合を各VNF12に設定した後、保持テーブル34Aに保持中の該当なし転送経路を設定テーブル35Aから削除する。例えば、第3の更新部46Cは、設定テーブル35AからFW3の「Proxy1宛をIDS1経由で送信」、FW4の「Proxy2宛をIDS2経由で送信」、FW5の「Proxy3宛をIDS3経由で送信」を削除する。その結果、設定テーブル35Aには、FW5削除後の各VNF12の転送経路が更新されたことになる。そして、設定部43は、サービスチェインシステム1から削除対象のFW5を停止して削除する。つまり、サービスチェインシステム1からFW5を削除する場合でも集約LB13A及び各VNF12の設定完了時刻の時間差による通信断の発生を回避できる。
実施例3の管理サーバ3は、サービスチェインシステム1からVNF12を削除する場合、削除前後の集約LB13A及び各VNF12の転送経路を取得する。管理サーバ3は、最後段のVNF群20からVNF群20を順次指定し、指定VNF群20内のVNF12を順次指定し、指定VNF12の削除前後の転送経路同士を比較する。管理サーバ3は、指定VNF12の削除後の転送経路が削除前に未設定の宛先アドレス宛の転送経路の場合、指定VNF12の削除後の該当転送経路を設定テーブル35Aに追加登録する。また、管理サーバ3は、指定VNF12の削除後の転送経路が削除前の転送経路と同一宛先アドレス宛であって出力先が異なる転送経路の場合、指定VNF12削除後の該当転送経路に基づき、設定テーブル35Aの削除前の該当転送経路を更新する。
更に、管理サーバ3は、指定VNF12の削除前の転送経路が削除後の転送経路内に該当なしの転送経路の場合、指定VNF12の該当なしの転送経路を保持テーブル34Aに保持する。更に、管理サーバ3は、全てのVNF群20内の全てのVNF12の削除前後の転送経路同士の比較が完了した場合、削除後の集約LB13Aの分配割合を設定した後、設定テーブル35Aから保持テーブル34Aに保持中の該当なしの転送経路を削除する。つまり、管理サーバ3は、設定テーブル35Aに対して、削除前に未設定の宛先アドレス宛の転送経路を追加、削除前と同一の宛先アドレス宛であって出力先が異なる転送経路を更新する。更に、管理サーバ3は、削除後の集約LB13Aの分配割合の設定を実行した後、削除後に該当なしの削除前の転送経路を設定テーブル35Aから削除する。そして、管理サーバ3は、サービスチェインシステム1から削除対象のVNF12を停止して削除する。その結果、サービスチェインシステム1からVNF12を削除する場合でも、集約LB13A及び各VNF12の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
実施例1では、例えば、VNF#1のFW5を削除する場合、集約LB13Aの分配割合や転送経路の変更が求められるため、LB2、FW3及びFW4の設定変更が生じ、例えば、FW4が他の処理を実行中等で同時に設定変更ができず、通信断が生じる。また、FW4の変更処理が遅れてLB2での設定変更が先行して行われた場合、トラヒックがFW4に到着したとしてもFW4にはProxy2宛の転送経路が登録されていないため、パケットが廃棄されてしまう。しかしながら、実施例3では、未設定の宛先アドレスの転送経路の追加、削除前と同一宛先アドレスであって出力先が異なる転送経路の更新、削除後の集約LB13Aの分配割合の設定を実行した後、削除後に該当なしの転送経路を設定テーブル35Aから削除する。その結果、サービスチェインシステム1内にVNF12を削除する場合でも、集約LB13A及び各VNF12の転送経路の設定完了時刻の時間差による通信断の発生を回避できる。
尚、実施例3では、VNF群#1からFW5を削除した場合を例示したが、VNF群#1に限定されるものではなく、他のVNF群20のIDS、ProxyやLB等のVNF12であっても良い。
また、比較部45は、指定VNF20群内の各VNF12を個別に指定して削除前後の転送経路同士を比較したが、指定VNF群20内のVNF12を複数個単位又は一括で指定して各指定VNF12の削除前後の転送経路同士を比較しても良い。
第3の更新部46Cは、ステップS53にて指定VNF12の削除前の転送経路が削除後の転送経路内に該当なしの転送経路であるか否かを判定し、その該当なし転送経路を保持テーブル34Aに保持したが、これに限定されるものではない。第3の更新部46Cは、ステップS57にて削除後の集約LB13の分配割合を設定した後、各VNF12につき、ステップS53の削除前の転送経路が削除後の転送経路内に該当なしの転送経路であるか否かを判定する。そして、第3の更新部46Cは、該当なしの転送経路を保持テーブル34Aに保持した後、その保持テーブル34Aに保持中の該当なしの転送経路を設定テーブル35Aから削除するステップS58に移行しても良い。
第3の更新部46Cは、削除後に該当なしの転送経路を設定テーブル35Aから削除したが、設定部43にてFW5をサービスチェインシステム1から停止して削除するため、設定テーブル35Aから削除しなくても良い。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU等で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良い。
各種情報を記憶する領域は、例えば、ROM(Read Only Memory)や、SDRAM(Synchronous Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)やNVRAM(Non Volatile Random Access Memory)等のRAM(Random Access Memory)で構成しても良い。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータ内のCPU等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図29は、サービスチェイン構築プログラムを実行する情報処理装置の一例を示す説明図である。
図29に示すサービスチェイン構築プログラムを実行する情報処理装置100は、通信部110と、HDD(Hard Disc Drive)120と、ROM130と、RAM140と、CPU150とを有する。通信部110、HDD120、ROM130、RAM140及びCPU150は、バス160を介して接続される。通信部110は、図示せぬ他の情報処理装置と接続し、他の情報処理装置と通信する。そして、情報処理装置100は、他の情報処理装置と通信し、他の情報処理装置内の仮想領域上に仮想通信機能群を複数段に配置してサービスチェインを構成する。
そして、ROM130には、上記実施例と同様の機能を発揮するサービスチェイン構築プログラムが予め記憶されている。ROM130は、サービスチェイン構築プログラムとして第1の決定プログラム130A、第2の決定プログラム130B及び設定プログラム130Cが記憶されている。尚、ROM130ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体にサービスチェイン構築プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
そして、CPU150は、第1の決定プログラム130AをROM130から読み出し、RAM140上で第1の決定プロセス140Aとして機能させる。更に、CPU150は、第2の決定プログラム130BをROM130から読み出し、RAM140上で第2の決定プロセス140Bとして機能させる。更に、CPU150は、設定プログラム130CをROM130から読み出し、RAM140上で設定プロセス140Cとして機能させる。
CPU150は、他の情報処理装置の仮想領域上に仮想通信機能群を複数段に配置する際に複数段の内の最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する。CPU150は、仮想分散機能から複数段の仮想通信機能群の内、終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて通信経路を決定する。CPU150は、決定された通信経路を仮想領域上に配置された仮想分散機能及び各仮想通信機能に設定する。その結果、サービスチェインを構築する際に仮想分散機能の数を少なくして転送遅延を抑制できる。
1 サービスチェインシステム
2B 汎用サーバ
3 管理サーバ
12 VNF
13 LB
13A 集約LB
41 第1の決定部
42 第2の決定部
42A 第3の決定部
42B 第4の決定部
42C 第5の決定部
43 設定部
43A 配置部
43B 割合設定部
44 取得部
45 比較部
46 記憶制御部
46A 第1の更新部
46B 第2の更新部
46C 第3の更新部

Claims (12)

  1. 仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定し、
    前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定し、
    決定された前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する
    処理を実行することを特徴とする設定方法。
  2. 前記仮想分散機能を決定する処理として、
    前記仮想領域上に前記仮想通信機能群を複数段に配置する際に指定する各仮想通信機能群内の仮想通信機能の数に基づき、前記最前段の仮想通信機能群の前段に配置する前記仮想分散機能の数を決定することを特徴とする請求項1に記載の設定方法。
  3. 前記仮想分散機能を決定する処理として、
    前記指定された各仮想通信機能群の任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項2に記載の設定方法。
  4. 前記仮想分散機能を決定する処理として、
    前記指定された各仮想通信機能群の任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群の内、仮想通信機能の数が最大数の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項3に記載の設定方法。
  5. 前記仮想分散機能を決定する処理として、
    前記指定された各仮想通信機能群から、機能特性の内、上位レイヤ特性の仮想通信機能群を特定し、特定された仮想通信機能群内の仮想通信機能の数に応じて、前記仮想分散機能の数を決定することを特徴とする請求項2に記載の設定方法。
  6. 前記仮想分散機能を決定する処理として、
    前記仮想領域上に前記仮想通信機能群を複数段に配置する際に指定する前記仮想通信機能群毎の仮想分散機能の数に基づき、複数の仮想通信機能群の内、任意の機能特性の仮想通信機能群を特定し、特定された仮想通信機能群に対応する前記仮想分散機能の数に応じて、前記仮想分散機能の数を決定すると共に、前記指定された仮想分散機能の数を削除することを特徴とする請求項2に記載の設定方法。
  7. 前記通信経路を決定する処理として、
    前記複数の仮想通信機能群のうちの終端となる仮想通信機能を決定すると共に、前記仮想分散機能から各終端の仮想通信機能までの最適経路を決定し、
    各最適経路に配置する前記仮想通信機能群のうち、その仮想通信機能の数が最大数の仮想通信機能群の各仮想通信機能へのトラヒック量が均等になるように、前記仮想分散機能から各最前段の仮想通信機能へのトラヒックの分配割合に関わる前記仮想分散機能の通信経路を決定し、
    前記最適経路毎に配置する各仮想通信機能のトラヒック量の割合が最適になるように各仮想通信機能のトラヒック割合に関わる前記仮想通信機能の通信経路を決定し
    前記通信経路を前記仮想分散機能及び前記各仮想通信機能に設定する処理として、
    決定された前記仮想分散機能の数及び前記最適経路に基づき、前記仮想分散機能及び前記各仮想通信機能を前記仮想領域上に配置し、
    決定された前記仮想分散機能の通信経路を前記仮想領域上に配置された前記仮想分散機能に設定すると共に、決定された各仮想通信機能の通信経路を前記仮想領域上に配置された前記仮想通信機能に設定する
    ことを特徴とする請求項2に記載の設定方法。
  8. 前記仮想分散機能を決定する処理として、
    前記指定された各仮想通信機能群の機能特性の内、任意の機能特性の前記仮想分散機能の数を決定し、
    前記最適経路を決定する処理として、
    前記仮想通信機能群の内、前記任意の機能特性で終端となる仮想通信機能を決定すると共に、前記仮想分散機能から各終端の仮想通信機能までの最適経路を決定し、
    前記仮想分散機能の通信経路を決定する処理として、
    前記各最適経路の前記任意の機能特性の前記仮想通信機能群のうち、その仮想通信機能の数が最大数の仮想通信機能群を特定し、特定された仮想通信機能群内の各仮想通信機能のトラヒック量が均等になるように、前記仮想分散機能から各最前段の仮想通信機能への分配割合を決定することを特徴とする請求項7に記載の設定方法。
  9. 前記仮想領域上に配置された前記仮想分散機能及び前記仮想通信機能の内、前記仮想分散機能から各終端の仮想通信機能までの前記仮想分散機能毎及び前記仮想通信機能毎の転送経路を設定テーブルに登録し、
    前記仮想領域上の前記仮想通信機能を変更する場合に、当該仮想領域上に配置された前記仮想分散機能及び前記仮想通信機能毎の変更前後の転送経路を取得し、
    前記終端の仮想通信機能群から前記最前段の仮想通信機能群までの仮想通信機能群を順次指定し、指定された前記仮想通信機能群内の各仮想通信機能の変更前後の転送経路を比較すると共に、前記最前段の仮想通信機能群内の全ての仮想通信機能の変更前後の転送経路の比較が完了した場合に前記仮想分散機能の変更前後の転送経路を比較し、
    前記指定された前記仮想通信機能群内の前記仮想通信機能毎又は前記仮想分散機能毎の変更前後の転送経路の比較結果に基づき、前記変更後の転送経路で前記設定テーブル内の転送経路を更新すると共に、前記比較結果に基づき、前記変更後の各トラヒック量の割合を前記仮想領域上に配置された前記仮想分機能及び前記各仮想通信機能に設定した後、前記比較結果に基づき、前記変更前の転送経路が前記変更後の転送経路に該当なしの転送経路を前記設定テーブルから削除する
    処理をさらに実行することを特徴とする請求項1に記載の設定方法。
  10. 前記設定テーブル内の前記転送経路を更新する処理として、
    前記指定された前記仮想通信機能群内の前記仮想通信機能毎又は前記仮想分散機能毎の変更前後の転送経路の比較結果に基づき、前記変更後の転送経路の内、前記変更前に未設定の終端宛先の転送経路を前記設定テーブルに登録し、
    前記比較結果に基づき、前記変更後の転送経路の内、前記変更前の転送経路と同一の終端宛先であって出力先の仮想通信機能が異なる転送経路に基づき、前記設定テーブル内の該当転送経路を更新し、
    前記変更後の各トラヒックの割合を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定した後、前記比較結果に基づき、前記変更前の転送経路が前記変更後の転送経路に該当なしの転送経路を前記設定テーブルから削除する
    ことを特徴とする請求項9に記載の設定方法。
  11. 仮想領域上に仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する第1の決定部と、
    前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する第2の決定部と、
    前記第2の決定部で決定した前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する設定部と
    を有することを特徴とするサーバ装置。
  12. サーバ装置が仮想領域上に仮想通信機能群を複数段に配置してサービスチェインを構築するサービスチェインシステムであって、
    前記サーバ装置は、
    前記仮想領域上に前記仮想通信機能群を複数段に配置する際に前記複数段のうちの最前段の仮想通信機能群の前段に配置する仮想分散機能を決定する第1の決定部と、
    前記仮想分散機能から前記複数段の仮想通信機能群のうちの終端の仮想通信機能群内の各仮想通信機能までの負荷に基づいて、通信経路を決定する第2の決定部と、
    前記第2の決定部で決定した前記通信経路を前記仮想領域上に配置された前記仮想分散機能及び前記各仮想通信機能に設定する設定部と
    を有することを特徴とするサービスチェインシステム。
JP2016160310A 2015-09-25 2016-08-18 設定方法、サーバ装置及びサービスチェインシステム Pending JP2017063409A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16188937.3A EP3148125A1 (en) 2015-09-25 2016-09-15 Setting method, server device and service chain system
US15/270,802 US10129152B2 (en) 2015-09-25 2016-09-20 Setting method, server device and service chain system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015188947 2015-09-25
JP2015188947 2015-09-25

Publications (1)

Publication Number Publication Date
JP2017063409A true JP2017063409A (ja) 2017-03-30

Family

ID=58429324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160310A Pending JP2017063409A (ja) 2015-09-25 2016-08-18 設定方法、サーバ装置及びサービスチェインシステム

Country Status (1)

Country Link
JP (1) JP2017063409A (ja)

Similar Documents

Publication Publication Date Title
EP3148125A1 (en) Setting method, server device and service chain system
US9762494B1 (en) Flow distribution table for packet flow load balancing
JP7456057B2 (ja) 強化されたsd-wanパスの品質測定および選択
EP3323228B1 (en) Highly available service chains for network services
EP3122004B1 (en) Traffic switching method, device, and system
US20170019303A1 (en) Service Chains for Network Services
US11463511B2 (en) Model-based load balancing for network data plane
EP2901308B1 (en) Load distribution in data networks
EP2817926B1 (en) Delegate forwarding and address resolution in fragmented network
BR112020023244A2 (pt) mensagem e sistema para influência de função de aplicativo na rota de tráfego
EP3586494A1 (en) Load balancing in distributed computing systems
WO2021143239A1 (zh) 路由控制方法、装置、电子设备和存储介质
WO2015106729A1 (zh) 一种负载均衡方法、装置和系统、计算机存储介质
WO2012041604A1 (en) Aggregation of mobile broadband network interfaces
CN113439428A (zh) 操作具有dns高速缓存的装置的系统和方法
US11689431B2 (en) SLA packet steering in network service function chaining
WO2022042505A1 (zh) 转发报文、发布转发指示信息和通告报文的方法及设备
JP5673057B2 (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
KR102376404B1 (ko) Sfc 네트워크에서 토폴로지 정보를 동기화하기 위한 방법, 및 라우팅 네트워크 엘리먼트
JP6772751B2 (ja) 設定方法及びサーバ装置
JP6717122B2 (ja) サービスチェイン構築方法及びサーバ装置
JP2017063409A (ja) 設定方法、サーバ装置及びサービスチェインシステム
JP6724651B2 (ja) サーバ装置及び仮想通信構築方法
US10251105B2 (en) Dynamic mobility management system
CN105765903A (zh) 一种拓扑发现方法及设备