JP2018032245A - 計算機システム及びリソース制御方法 - Google Patents
計算機システム及びリソース制御方法 Download PDFInfo
- Publication number
- JP2018032245A JP2018032245A JP2016164570A JP2016164570A JP2018032245A JP 2018032245 A JP2018032245 A JP 2018032245A JP 2016164570 A JP2016164570 A JP 2016164570A JP 2016164570 A JP2016164570 A JP 2016164570A JP 2018032245 A JP2018032245 A JP 2018032245A
- Authority
- JP
- Japan
- Prior art keywords
- event
- information
- business system
- monitoring unit
- network service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】突発的な通信量の増加時に伴って、ネットワークへの接続不良及び通信速度の低下等の問題が発生する。【解決手段】ネットワークサービスを構成する業務システムにリソースを提供する第1システム及び第1システムを管理する第2システムを含む計算機システムであって、第1システムには業務システムが構築され、第2システムは、スケーリングを実行するリソース管理部と、ネットワークサービスに影響を与えるイベントの発生を監視する監視部とを含み、監視部は、検出された第1イベントの後に発生する第2イベントの発生予測日時を算出し、第2イベントの影響を受けるネットワークサービスを特定し、ネットワークサービスを構成する業務システムに対するスケーリングの種別、変更リソース量、及び実行日時を含む設定情報を生成する。【選択図】図2
Description
本発明は、ネットワーク仮想化技術におけるスケーリングの制御方法に関する。
近年、ネットワークを介してサーバ群のリソースを活用して、仮想化されたサーバ装置、ストレージ装置、及びネットワーク装置等の運用の自動化を実現するクラウドコンピューティング(以下、クラウド)が普及している。
クラウドを使用することによって、システム管理者は、自前でサーバ等を保持することなく、必要なときに必要な量のリソースを調達し、低コストで柔軟なシステムを構築することができる。
クラウドを利用したシステムの例として、ネットワーク装置の機能を汎用的なサーバ装置上で稼働する仮想マシン(VM)上のソフトウェアを用いて実現するNFV(Network Functions Virtualization)がある。
クラウド環境において、VMの負荷に応じて処理性能を制御する方法として、スケーリングが利用されている。
スケーリングでは、監視装置等が、対象システムの処理負荷を監視し、処理負荷が一定の閾値より大きい場合、対象システム上で稼働するVMの数又はVMに割り当てるリソースを増減させることによって、リソースの利用効率を向上させることができる。
スケーリングには、VMの数を追加するスケールアウト、VMの数を削減するスケールイン、VMに割り当てるリソース量を増やすスケールアップ、VMに割り当てるリソースを減らすスケールダウンがある。
クラウド環境におけるスケーリングについては、特許文献1及び特許文献2に記載されている技術が知られている。
特許文献1には、「本システムは、対象システムの仮想サーバのスケール制御を行う機能を有し、対象システムを利用する顧客企業のカレンダー情報及びスケール制御のための実スケジュールを生成するための定義情報を設定する処理部と、設定情報を参照して、スケール制御のための実スケジュール情報を生成するスケジューリング処理を行う処理部と、実スケジュール情報に従う日時タイミングで、仮想サーバに対するスケール制御の指示を送信する処理を行う処理部とを有する。」ことが記載されている。
また、特許文献2には、「通信システムは通信装置と情報処理装置とを含む。通信装置は、通信インタフェース部を介して伝送されるパケットを処理する1つ以上の機能を含み、自通信装置の負荷の状態を監視し、負荷が閾値より高くなった場合に、負荷が閾値より高くなった状態の要因となっている1つ以上の機能の中の特定機能に関する情報を情報処理装置に供給した後、受信したパケットを情報処理装置に転送する。情報処理装置は、特定機能に関する情報を受信して、特定機能に対応する機能を含む仮想装置を動的に生成し、転送されたパケットを受け取って仮想装置に処理させる。」ことが記載されている。
OpenStack Foundation、"OpenStack Operations Guide"、[online]、[平成28年3月17日検索]、インターネット〈URL: http://docs.openstack.org/openstack-ops/openstack-ops-manual.pdf〉
近年、IoTの普及によって、ネットワークに接続されるIoTデバイスの数が飛躍的に増加している。IoTデバイスは、センサ及び通信機能を内蔵し、センサによって収集された情報をデータ収集装置に送信する。
IoTデバイスとデータ収集装置との間の通信経路には、クラウド上で運用されるネットワーク機能を有するVMが存在し、当該ネットワーク機能によって転送処理が行われる。
IoTデバイスは、センサを用いてリアルタイムに情報を収集し、宛先の装置に収集した情報を送信するため、通信量は一定ではない。そのため、IoTデバイスと宛先の装置との間の通信量が、突発的に増加した場合、スケーリングが間に合わず、ネットワーク機能の処理負荷が増大することによってパケットロスが発生する。したがって、IoTデバイスの情報を有効に活用することが困難となる。
また、停電等、予測が困難な第1イベントが発生した場合、第1イベントが発生してから一定時間経過した後に発生が見込まれるネットワーク復旧等の第2イベントの発生に伴って通信量が増加する。この場合も、ネットワークへの接続不良及び通信速度の低下という問題が発生する。
特許文献1又は特許文献2に記載のシステムでは、第2イベントの予測に基づいてスケーリングが行われない。したがって、大規模なネットワーク障害が復旧した場合等、突発的に通信量が増加した場合、スケーリングが間に合わない可能性がある。ネットワーク機能の処理負荷に伴って発生するネットワークの輻輳によって、ネットワークへの接続不良及び通信速度の低下等の問題を引き起こす。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークサービスを構成する業務システムにリソースを提供する複数の第1システム及び前記複数の第1システムを管理する第2システムを含む計算機システムであって、前記複数の第1システムの各々は、複数の第1計算機を含み、前記第2システムは、少なくとも一つの第2計算機を含み、前記第1システムには、異なるネットワークサービスを提供する業務システムが構築され、前記業務システムは、前記第1計算機のリソースを用いて生成され、かつ、ネットワーク機能を有する仮想計算機を含み、前記複数の第1計算機は、前記仮想計算機を管理する仮想化制御部を含み、前記少なくとも一つの第2計算機は、前記業務システムに割り当てるリソース量を制御するためのスケーリングを実行するリソース管理部と、前記ネットワークサービスに影響を与えるイベントの発生を監視する監視部と、を含み、前記監視部は、第1イベントの発生を検出した場合、前記第1イベントの後に発生する第2イベントの発生予測日時を算出し、前記第2イベントの影響を受けるネットワークサービスを特定し、前記特定されたネットワークサービスを構成する業務システムに対する前記スケーリングの種別、前記スケーリングによって変更される業務システムのリソース量を表す変更リソース量、及び前記スケーリングの実行日時を含む設定情報を生成することを特徴とする。
本発明によれば、監視部は、第2イベントに応じたスケーリングに必要なパラメータ及び実行タイミングを含むスケジュールを設定できる。当該スケジュールに基づいてスケーリングが行われることによって、突発的な通信量の増加に伴うネットワークの接続不良及び通信速度の低下等を防ぐことができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
以下、添付図面を参照して本発明の実施例を説明する。各図において共通の構成については同一の参照符号が付されている。
図1は、実施例1の計算機システムの構成例を示す図である。
計算機システムは、クライアント端末101、イベント分析サーバ102、オーケストレーションサーバ103、クラウド管理サーバ104、イベント情報サーバ105、計算サーバ106、サービスSW107、IoT GW108、及びセンサノード109から構成される。
イベント分析サーバ102は、インターネット110を介してイベント情報サーバ105と接続する。クラウド管理サーバ104は、サービスSW107を介して計算サーバ106と接続する。また、計算サーバ106は、外部NW111及びIoT GW108を介してセンサノード109と接続する。
なお、本実施例は、装置間を接続するネットワークの種別に限定されない。例えば、LAN(Local Area Network)及びWAN(Wide Area Network)等を用いてもよい。装置間の接続形式は、無線又は有線のいずれであってもよい。また、各装置は、直接接続されてもよい。
クライアント端末101は、イベント分析サーバ102に接続し、監視対象のイベント情報サーバ105に関する情報等を登録する。また、クライアント端末101は、オーケストレーションサーバ103に接続し、計算サーバ106のリソースを制御するためのオーケストレーション処理に必要な情報を登録する。
計算サーバ106は、クラウドを実現する計算機基盤を構成する計算機であり、仮想ネットワークサービスを実現するシステムを構成するためのリソースを提供する。計算サーバ106は、図示しないCPU、メモリ、記憶装置、及びネットワークインタフェースを有する。計算サーバ106上では、仮想マシン(VM)を管理する仮想化制御部が稼働する。なお、計算サーバ106の詳細は、非特許文献1の8ページの9行目に「Compute nodes」として記載されている。
本実施例では、仮想化制御部としてハイパバイザを例に説明する。なお、仮想化制御部は、ハイパバイザに限定されない。
なお、計算機基盤は、複数の地域に存在するデータセンタから構成される。データセンタは、複数の計算サーバ106から構成される。また、仮想ネットワークサービスは、仮想ネットワークサービスを実現するシステムであるテナントから構成される。テナントは、データセンタのリソースを用いて生成された一つ以上のVMから構成される。VMは、所定のネットワーク機能を有する。
オーケストレーションサーバ103は、テナントに提供するリソースを管理する。具体的には、オーケストレーションサーバ103は、クライアント端末101又はイベント分析サーバ102からの指示にしたがって、リソースの制御内容(スケーリングの処理内容)を決定し、決定した制御内容を含むオーケストレーション指示をクラウド管理サーバ104に送信する。
クラウド管理サーバ104は、計算サーバ106のリソースを管理する。本実施例のクラウド管理サーバ104は、オーケストレーションサーバ103から受信したオーケストレーション指示にしたがって、スケーリングを実行する。クラウド管理サーバ104の詳細は、非特許文献の8ページの1行目に、「Cloud controller」として記載されている。クラウド管理サーバ104は、オーケストレーションサーバ103と連携することによってリソース管理機能を実現する。
センサノード109は、図示しないセンサ、CPU、メモリ、及びネットワークインタフェースを有し、センサを用いて計測対象の値を計測する。センサノード109は、IoT GW108及び外部NW111を介して、計算サーバ106上で稼働するVMに計測値を送信する。VMは、計測値を受信した場合、当該VMが有するネットワーク機能に基づいて計測値の転送処理等を実行する。
イベント分析サーバ102は、イベント情報サーバ105に接続して、イベントの発生の有無を監視する。イベント分析サーバ102は、任意のイベントの発生を検出した場合、仮想ネットワークサービスに与える影響を分析し、分析結果に基づいてオーケストレーション指示を行うための情報を生成する。イベント分析サーバ102は、オーケストレーション指示を行うための情報をオーケストレーションサーバ103に送信する。以下の説明では、オーケストレーション指示を行うための設定情報を設定情報と記載する。
イベント情報サーバ105は、イベント分析サーバ102が監視するサーバである。イベント情報サーバ105は、任意のイベントの情報を発信する。例えば、イベント情報サーバ105は、電力会社が運用するWebサーバ等が考えられる。当該Webサーバには、予測することが困難な停電等のイベントの情報が掲載される。
本実施例では、複数の計算サーバ106及びサービスSW107が計算機基盤を構成する一つのデータセンタを構成し、イベント分析サーバ102、オーケストレーションサーバ103、及びクラウド管理サーバ104が計算機基盤の監視及び管理を行うシステムを構成する。
図1では、クライアント端末101、イベント分析サーバ102、オーケストレーションサーバ103、クラウド管理サーバ104、及びイベント情報サーバ105の数は、それぞれ一つずつであるが、二つ以上であってもよい。
本実施例では、クライアント端末101、イベント分析サーバ102、オーケストレーションサーバ103、クラウド管理サーバ104、及びイベント情報サーバ105は、物理計算機として記載しているが、VMを用いて実現してもよい。
また、各装置が有する機能は、一つの装置に集約してもよい。例えば、オーケストレーションサーバ103に、イベント分析サーバ102が有する機能を集約してもよい。また、クラウド管理サーバ104に、オーケストレーションサーバ103が有する機能を集約してもよい。
図2は、実施例1のイベント分析サーバ102のハードウェア構成及びソフトウェア構成の一例を示す図である。
イベント分析サーバ102は、CPU(Central Processing Unit)201、メモリ202、及びネットワークIF203を有する。各ハードウェアは、内部バス等を介して互いに接続される。なお、イベント分析サーバ102は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置を有してもよい。
CPU201は、メモリ202に格納されるプログラムを実行する。CPU201がプログラムを実行することによって、イベント分析サーバ102が有する機能を実現する。以下の説明では、機能部を主語に処理を説明する場合、CPU201が当該機能部を実現するプログラムを実行していることを表す。
メモリ202は、CPU201が実行するプログラム及び当該プログラムによって使用される情報を格納する。また、メモリ202は、プログラムが一時的に使用するワークエリアを含む。
ネットワークIF203は、ネットワークを介して外部装置と接続するインタフェースである。
ここで、メモリ202に格納されるプログラム及び情報について説明する。メモリ202は、監視部211、イベント分析部212、及びオーケストレーション設定部213を実現するプログラムを格納する。また、メモリ202は、イベント種別情報221、イベント監視対象情報222、スケーリング種別情報223、場所管理情報224、サービス情報225、イベント情報226、及びオーケストレーション設定情報227を格納する。
イベント種別情報221は、イベント分析サーバ102が監視するイベントの種別等の情報を格納する。イベント種別情報221の詳細は、図4を用いて説明する。
イベント監視対象情報222は、監視対象のイベント情報サーバ105の情報を格納する。イベント監視対象情報222の詳細は、図5を用いて説明する。
スケーリング種別情報223は、スケーリングの種別を格納する。スケーリング種別情報223の詳細は、図6を用いて説明する。
場所管理情報224は、データセンタの場所等の情報を格納する。場所管理情報224の詳細は、図7を用いて説明する。
サービス情報225は、仮想ネットワークサービスの情報を格納する。サービス情報225の詳細は、図8を用いて説明する。
イベント情報226は、検出されたイベントの情報を格納する。イベント情報226の詳細は、図9を用いて説明する。
オーケストレーション設定情報227は、イベント分析サーバ102によって生成される設定情報を格納する。オーケストレーション設定情報227の詳細は、図10を用いて説明する。
監視部211は、イベント監視対象情報222に基づいて、イベント情報サーバ105を監視する。監視部211は、予測が困難なイベントの発生を検出した場合、当該イベントの後に発生する可能性があるイベントを特定し、イベント情報226に検出したイベント等に関する情報を書き込む。監視部211が実行する処理の詳細は、図19を用いて説明する。
以下の説明では、イベント情報サーバ105から検出されたイベントを第1イベントと記載し、第1イベントの後に発生するイベントを第2イベントと記載する。
イベント分析部212は、監視部211によって検出された第1イベントを解析し、解析結果に基づいて設定情報を生成し、オーケストレーション設定情報227に設定情報を書き込む。イベント分析部212が実行する処理の詳細は、図20及び図21を用いて説明する。
オーケストレーション設定部213は、オーケストレーション設定情報227から設定情報を読み出し、オーケストレーションサーバ103に読み出された設定情報を送信する。オーケストレーション設定部213が実行する処理の詳細は、図22を用いて説明する。
図3は、実施例1のオーケストレーションサーバ103のハードウェア構成及びソフトウェア構成の一例を示す図である。
オーケストレーションサーバ103は、CPU301、メモリ302、及びネットワークIF303を有する。各ハードウェアは、内部バス等を介して互いに接続される。なお、オーケストレーションサーバ103は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置を有してもよい。
CPU301、メモリ302、及びネットワークIF303は、CPU201、メモリ202、及びネットワークIF203と同様のものである。
ここで、メモリ302に格納されるプログラム及び情報について説明する。メモリ302は、スケジュール部311、シナリオ登録部312、及びオーケストレーション実行部313を実現するプログラムを格納する。また、メモリ302は、ネットワーク機能情報321、パッケージ情報322、シナリオ情報323、ハイパバイザ情報324、テナント情報325、ネットワーク機能インスタンス情報326、スケジュール情報327、及び実行中シナリオ情報328を格納する。さらに、メモリ302は、各ネットワーク機能のシナリオとして、MMEシナリオ331、SAE−GWシナリオ332、及びWACシナリオ333を格納する。
ネットワーク機能情報321は、ネットワーク機能を実現するソフトウェア等の情報を格納する。ネットワーク機能情報321の詳細は、図11を用いて説明する。
パッケージ情報322は、ネットワーク機能を実現するソフトウェア及び各種設定を含むパッケージに含まれるVMの設定情報を格納する。パッケージ情報322の詳細は、図12を用いて説明する。
パッケージは、VMの設定情報、ネットワークの設定情報、起動ディスク、及びシナリオ等を一つにまとめたアーカイブファイルである。オーケストレーションサーバ103は、ネットワーク機能及びシナリオの種別の組み合わせの数だけパッケージを含む。
シナリオ情報323は、スケーリングシナリオの情報を格納する。シナリオ情報323の詳細は、図13を用いて説明する。
スケーリングシナリオは、スケーリングの手順及び設定項目を含む情報である。以下の説明では、スケーリングシナリオを単にシナリオと記載する。
ハイパバイザ情報324は、計算サーバ106上で稼働するハイパバイザの情報を格納する。ハイパバイザ情報324の詳細は、図14を用いて説明する。
テナント情報325は、仮想ネットワークサービスを構成するテナントの情報を格納する。テナント情報325の詳細は、図15を用いて説明する。
ネットワーク機能インスタンス情報326は、運用中の仮想ネットワークサービスの情報を格納する。ネットワーク機能インスタンス情報326の詳細は、図16を用いて説明する。
スケジュール情報327は、オーケストレーション指示の具体的な内容を示す情報を格納する。スケジュール情報327の詳細は、図17を用いて説明する。
実行中シナリオ情報328は、実行中のスケーリングの情報を格納する。実行中シナリオ情報328の詳細は、図18を用いて説明する。
MMEシナリオ331は、ネットワーク機能の一つであるMME(Mobility Management Entity)のスケーリングに関するファイル群であり、MMEスケールインシナリオ341、MMEスケールアウトシナリオ342、MMEスケールアップシナリオ343、及びMMEスケールダウンシナリオ344を含む。
SAE−GWシナリオ332は、ネットワーク機能の一つであるSAE−GW(System Architecture Evolution−Gateway)のスケーリングに関するファイル群であり、SAE−GWスケールインシナリオ351、SAE−GWスケールアウトシナリオ352、SAE−GWスケールアップシナリオ353、及びSAE−GWスケールダウンシナリオ354を含む。
WACシナリオ333は、ネットワーク機能の一つであるWAC(WAN Accelerator)のスケーリングに関するファイル群であり、WACスケールインシナリオ361、WACスケールアウトシナリオ362、WACスケールアップシナリオ363、及びWACスケールダウンシナリオ364を含む。
スケジュール部311は、イベント分析サーバ102のオーケストレーション設定部213から設定情報を受信した場合、当該設定情報をスケーリングのスケジュールとしてスケジュール情報327に書き込む。スケジュール部311が実行する処理の詳細は、図23を用いて説明する。
シナリオ登録部312は、スケジュール情報327を参照し、実行日時を経過したスケジュールの情報を実行中シナリオ情報328に書き込む。シナリオ登録部312が実行する処理の詳細は、図24を用いて説明する。
オーケストレーション実行部313は、実行中シナリオ情報328に登録されたスケジュールの情報に基づいて、クラウド管理サーバ104にオーケストレーション指示を送信する。オーケストレーション実行部313が実行する処理の詳細は、図25及び図26を用いて説明する。
なお、クライアント端末101、クラウド管理サーバ104、イベント情報サーバ105、サービスSW107、及びIoT GW108のハードウェア構成は、イベント分析サーバ102と同様のものであるものとする。
次に、図4から図10を用いて、イベント分析サーバ102が管理する情報について説明する。
図4は、実施例1のイベント種別情報221の一例を示す図である。
イベント種別情報221は、クライアント端末101を操作するシステム管理者によって設定される情報であり、イベント種別ID401、イベント種別名402、及び影響度403から構成されるレコードを含む。
イベント種別ID401は、イベントの種別を一意に識別するための識別情報である。イベント種別ID401は、イベント種別情報221のレコードを一意に識別する識別情報としても用いられる。
イベント種別名402は、イベントの種別を表す名称である。本実施例では、停電、強風、及び列車事故等の障害を第1イベントと定義し、また、障害の復旧を第2イベントと定義している。そのため、イベント種別情報221には、第2イベントを識別するカラムを含めていないが、イベント種別情報221に第2イベントを設定するカラムを設けてもよい。なお、第1イベント及び第2イベントの組合わせは、前述したものに限定されない。
影響度403は、レコードに対応するイベント(第1イベント)の後に発生するイベント(第2イベント)が仮想ネットワークサービスに与える影響の大きさを示す数値である。影響度403は、後述するようにシナリオ(スケーリングの制御内容)を決定する場合に使用される。なお、影響度403の値が「1」より大きい場合、リソース量を追加するためのスケーリングが行われ、影響度403の値が「1」より小さい場合、リソース量を削減するためのスケーリングが行われる。
図5は、実施例1のイベント監視対象情報222の一例を示す図である。
イベント監視対象情報222は、クライアント端末101を操作するシステム管理者によって設定される情報であり、イベント監視対象ID501、イベント種別ID502、監視対象名503、及び公開URL504から構成されるレコードを含む。
イベント監視対象ID501は、監視対象を一意に識別するための識別情報である。イベント監視対象ID501は、イベント監視対象情報222のレコードを一意に識別する識別情報としても用いられる。
イベント種別ID502は、イベント種別ID401と同一のものである。
監視対象名503は、監視対象の名称である。監視対象名503には、Webページを公開している企業の名称等が格納される。なお、監視対象名503に格納される企業は、仮想ネットワークサービスを運用するユーザとは必ずしも一致するわけではない。
公開URL504は、監視するWebサイトのURLである。イベント分析サーバ102は、公開URL504に設定されたURLに基づいて、Webサイトにアクセスし、イベントの発生の有無を判定する。
図6は、実施例1のスケーリング種別情報223の一例を示す図である。
スケーリング種別情報223は、クライアント端末101を操作するシステム管理者によって設定される情報であり、スケーリング種別ID601及びスケーリング種別602から構成されるレコードを含む。
スケーリング種別ID601は、スケーリングの種別を一意に識別するための識別情報である。スケーリング種別ID601は、スケーリング種別情報223のレコードを一意に識別するための識別情報としても用いられる。
スケーリング種別602は、スケーリングの種別の名称である。本実施例では、スケーリングの種別は、「スケールイン」、「スケールアウト」、「スケールアップ」、及び「スケールダウン」の四つであるため、スケーリング種別情報223は四つのレコードを含む。
図7は、実施例1の場所管理情報224の一例を示す図である。
場所管理情報224は、クライアント端末101を操作するシステム管理者によって設定される情報であり、場所ID701、イベント監視対象ID702、場所703、及びユーザ数704から構成されるレコードを含む。
場所ID701は、データセンタが存在する場所を一意に識別するための識別情報である。場所ID701は、場所管理情報224のレコードを一意に識別するための識別情報としても用いられる。
イベント監視対象ID702は、イベント監視対象ID501と同一のものである。
場所703は、場所の名称である。場所703には、例えば、データセンタが存在する地域の名称が格納される。
ユーザ数704は、場所703に対応する場所に収容可能なユーザの数である。
図8は、実施例1のサービス情報225の一例を示す図である。
サービス情報225は、クライアント端末101を操作するシステム管理者によって設定される情報であり、サービスID801、サービス名802、及び場所リスト803から構成されるレコードを含む。
サービスID801は、仮想ネットワークサービスを一意に識別するための識別情報である。サービスID801は、サービス情報225のレコードを一意に識別する識別情報としても用いられる。
サービス名802は、仮想ネットワークサービスの名称である。例えば、ネットワーク機能及びサービスの提供地域を組み合わせた名称がサービス名802に設定される。
場所リスト803は、サービス名802に対応する仮想ネットワークサービスを構成するテナントが存在する場所のリストである。場所リスト803には、場所管理情報224に定義された場所ID701が格納される。
図9は、実施例1のイベント情報226の一例を示す図である。
イベント情報226は、監視部211によって生成される情報であり、イベントID901、イベント種別ID902、イベント監視対象ID903、場所ID904、発生日時905、及び次イベント予測日時906から構成されるレコードを含む。なお、レコードは、第2イベントの識別情報を格納するカラムを含んでもよい。
イベントID901は、検出された第1イベントを一意に識別するための識別情報である。イベントID901は、イベント情報226のレコードを一意に識別するための識別情報としても用いられる。
イベント種別ID902は、イベント種別ID401と同一のものである。また、イベント監視対象ID903は、イベント監視対象ID501と同一のものである。場所ID904は、場所ID701と同一のものである。
発生日時905は、第1イベントが発生した日時である。発生日時905には、実際に第1イベントが発生した日時が格納されてもよいし、また、イベント分析サーバ102が第1イベントの発生を検出した日時が格納されてもよい。
次イベント予測日時906は、第2イベントの発生予測日時である。
図10は、実施例1のオーケストレーション設定情報227の一例を示す図である。
オーケストレーション設定情報227は、イベント分析部212によって生成される情報であり、オーケストレーション設定ID1001、実行日時1002、スケーリング種別ID1003、規模1004、及びサービスID1005から構成されるレコードを含む。
オーケストレーション設定ID1001は、設定情報を一意に識別するための識別情報である。オーケストレーション設定ID1001は、オーケストレーション設定情報227のレコードを一意に識別するための識別情報としても用いられる。
実行日時1002は、スケーリングが開始される日時である。例えば、オーケストレーションサーバ103がオーケストレーション指示を送信する日時が、実行日時1002に格納される。
スケーリング種別ID1003は、スケーリング種別ID601と同一のものである。また、サービスID1005は、サービスID801と同一のものである。
規模1004は、テナントに割り当てるリソースの変更量(変更リソース量)を表す情報である。例えば、スケールアウトの場合、規模1004には、追加するVMの数が格納される。スケールアップの場合、規模1004には、VMに追加するCPUコア及びメモリ容量等の値が格納される。スケールインの場合、規模1004には、削除するVMの数が格納される。スケールダウンの場合、規模1004には、VMから削減するCPUコア及びメモリ容量等の値が格納される。
なお、イベント種別情報221、イベント監視対象情報222、スケーリング種別情報223、場所管理情報224、及びサービス情報225は、システム管理者によって設定される情報と記載したが、これに限定されない。例えば、場所管理情報224は、クラウド管理サーバ104から取得してもよい。
次に、図11から図18を用いて、オーケストレーションサーバ103が管理する情報について説明する。
図11は、実施例1のネットワーク機能情報321の一例を示す図である。
ネットワーク機能情報321は、クライアント端末101を操作するシステム管理者によって設定される情報であり、ネットワーク機能ID1101、ネットワーク機能名1102、及び起動イメージファイル1103を含む。
ネットワーク機能ID1101は、ネットワーク機能を一意に識別するための識別情報である。ネットワーク機能ID1101は、ネットワーク機能情報321のレコードを一意に識別するための識別情報としても用いられる。
ネットワーク機能名1102は、ネットワーク機能の名称である。
起動イメージファイル1103は、ネットワーク機能を有するVMを起動するための起動イメージファイルである。
図12は、実施例1のパッケージ情報322の一例を示す図である。
パッケージ情報322は、クライアント端末101を操作するシステム管理者によって設定される情報であり、パッケージID1201、ネットワーク機能ID1202、仮想CPUコア数1203、メモリ容量1204、及びディスク容量1205から構成されるレコードを含む。
パッケージID1201は、パッケージを一意に識別するための識別情報である。パッケージID1201は、パッケージ情報322のレコードを一意に識別するための識別情報としても用いられる。
ネットワーク機能ID1202は、ネットワーク機能ID1101と同一のものである。
仮想CPUコア数1203、メモリ容量1204は、及びディスク容量1205、VMに割り当てるリソース量である。具体的には、仮想CPUコア数1203はVMに割り当てる仮想CPUコアの数であり、メモリ容量1204はVMに割り当てるメモリの記憶容量であり、ディスク容量1205はVMに割り当てる記憶装置の記憶容量である。
図13は、実施例1のシナリオ情報323の一例を示す図である。
シナリオ情報323は、クライアント端末101を操作するシステム管理者によって設定される情報であり、シナリオID1301、スケーリング種別ID1302、ネットワーク機能ID1303、及びシナリオ1304から構成されるレコードを含む。
シナリオID1301は、スケーリングに使用するシナリオを一意に識別するための識別情報である。シナリオID1301は、シナリオ情報323のレコードを一意に識別するための識別情報としても用いられる。
スケーリング種別ID1302は、スケーリング種別ID601と同一のものである。ネットワーク機能ID1303は、ネットワーク機能ID1101と同一のものである。
シナリオ1304は、スケーリング種別ID1302及びネットワーク機能ID1303に対応するシナリオである。
図14は、実施例1のハイパバイザ情報324の一例を示す図である。
ハイパバイザ情報324は、クライアント端末101を操作するシステム管理者によって設定される情報であり、ハイパバイザID1401、ハイパバイザ名1402、CPUコア数1403、メモリ容量1404、及びディスク容量1405から構成されるレコードを含む。
ハイパバイザID1401は、ハイパバイザを一意に識別するための識別情報である。ハイパバイザID1401は、ハイパバイザ情報324のレコードを一意に識別するための識別情報としても用いられる。
ハイパバイザ名1402は、ハイパバイザID1401に対応するハイパバイザの名称である。
CPUコア数1403、メモリ容量1404、及びディスク容量1405は、ハイパバイザID1401に対応するハイパバイザが稼働する計算サーバ106が有するリソース量である。具体的には、CPUコア数1403は計算サーバ106が有するCPUに含まれるコアの総数であり、メモリ容量1404は計算サーバ106が有するメモリの全記憶容量であり、ディスク容量1405は、計算サーバ106が有する記憶装置の記憶容量である。
図15は、実施例1のテナント情報325の一例を示す図である。
テナント情報325は、クライアント端末101を操作するシステム管理者によって設定される情報であり、テナントID1501、テナント名1502、及びハイパバイザリスト1503から構成されるレコードを含む。
テナントID1501は、テナントを一意に識別するための識別情報である。テナントID1501は、テナント情報325のレコードを一意に識別するための識別情報としても用いられる。
テナント名1502は、テナントID1501に対応するテナントの名称である。
ハイパバイザリスト1503は、テナントを構成するVMに割り当てるリソース量を制御するハイパバイザのリストである。すなわち、テナントにリソースを提供する計算サーバ106のリストである。ハイパバイザリスト1503には、ハイパバイザ情報324に定義されたハイパバイザID1401が格納される。
図16は、実施例1のネットワーク機能インスタンス情報326の一例を示す図である。
ネットワーク機能インスタンス情報326は、クライアント端末101を操作するシステム管理者によって設定される情報であり、インスタンスID1601、ネットワーク機能ID1602、パッケージID1603、テナントID1604、及び起動ハイパバイザリスト1605から構成されるレコードを含む。
インスタンスID1601は、任意のネットワーク機能を提供する稼働中の仮想ネットワークサービスのインスタンスを一意に識別するための識別情報である。インスタンスID1601は、ネットワーク機能インスタンス情報326のレコードを一意に識別するための識別情報としても用いられる。また、インスタンスID1601は、サービスID801と対応付けられる。これによって、オーケストレーションサーバ103は、受信した設定情報の対象がどのインスタンス(仮想ネットワークサービス)であるかを把握できる。
ネットワーク機能ID1602は、ネットワーク機能ID1101と同一のものである。パッケージID1603は、パッケージID1201と同一のものである。テナントID1604は、テナントID1501と同一のものである。本実施例では、一つのテナントを用いて、一つの仮想ネットワークサービスが提供されるものとする。
起動ハイパバイザリスト1605は、ネットワーク機能ID1602に対応するネットワーク機能を有するVMが稼働しているハイパバイザのリストである。起動ハイパバイザリスト1605には、ハイパバイザ情報324に定義されたハイパバイザID1401が格納される。
図17は、実施例1のスケジュール情報327の一例を示す図である。
スケジュール情報327は、スケジュール部311によって生成される情報であり、スケジュールID1701、インスタンスID1702、シナリオID1703、パッケージID1704、テナントID1705、実行日時1706、及び規模1707から構成されるレコードを含む。
スケジュールID1701は、スケジュールを一意に識別するための識別情報である。スケジュールID1701は、スケジュール情報327のレコードを一意に識別するための識別情報としても用いられる。
インスタンスID1702は、インスタンスID1601と同一のものである。シナリオID1703は、シナリオID1301と同一のものである。パッケージID1704は、パッケージID1201と同一のものである。テナントID1705は、テナントID1501と同一のものである。実行日時1706は、実行日時1002と同一のものである。規模1707は、規模1004と同一のものである。
図18は、実施例1の実行中シナリオ情報328の一例を示す図である。
実行中シナリオ情報328は、シナリオ登録部312によって生成される情報であり、実行中シナリオID1801、インスタンスID1802、シナリオID1803、パッケージID1804、テナントID1805、及び規模1806から構成されるレコードを含む。
実行中シナリオID1801は、実行中のスケーリングを一意に識別するための識別情報である。実行中シナリオID1801は、実行中シナリオ情報328のレコードを一意に識別するための識別情報としても用いられる。
インスタンスID1802は、インスタンスID1601と同一のものである。シナリオID1803は、シナリオID1301と同一のものである。パッケージID1804は、パッケージID1201と同一のものである。テナントID1805は、テナントID1501と同一のものである。規模1806は、規模1004と同一のものである。
なお、ネットワーク機能情報321、パッケージ情報322、シナリオ情報323、ハイパバイザ情報324、テナント情報325、及びネットワーク機能インスタンス情報326は、システム管理者によって設定される情報と記載したが、これに限定されない。例えば、ハイパバイザ情報324、テナント情報325、及びネットワーク機能インスタンス情報326は、クラウド管理サーバ104から取得してもよい。
イベント分析サーバ102及びオーケストレーションサーバ103が保持する情報は、図4から図18に示すようにテーブル形式の情報であるが、本実施例はこれに限定されない。
次に、図19から図22を用いてイベント分析サーバ102が実行する処理について説明する。以下の説明では、符号を含まないカラムの名称は、カラムから取得された値を表すものとする。例えば、イベントIDは、イベント情報226に含まれるレコードのイベントID901の値を示す。
図19は、実施例1のイベント分析サーバ102の監視部211が実行する処理を説明するフローチャートである。
イベント分析サーバ102は、起動後、監視部211を実現するプログラムをメモリ202にロードし、実行する。これによって、監視部211は、処理を開始する(ステップS1901)。
監視部211は、プログラムの終了指示を受け付けたか否かを判定する(ステップS1902)。
プログラムの終了指示を受け付けたと判定された場合、監視部211は、処理を終了する(ステップS1910)。
プログラムの終了指示を受け付けていないと判定された場合、監視部211は、第1ループ処理を開始する(ステップS1903)。このとき、監視部211は、イベント監視対象情報222からレコードを一つ選択し、選択されたレコードについてステップS1904からステップS1908までの処理を実行する。なお、監視部211は、周期的に第1ループ処理を実行する場合、前回の第1ループ処理が終了してから一定時間経過した後に第1ループ処理を開始する。
監視部211は、イベント監視対象情報222から選択されたレコードの公開URLに基づいてイベント情報サーバ105にアクセスして、イベント発生情報を取得する(ステップS1904)。例えば、監視部211は、障害情報を提示するWebページにアクセスし、当該Webページに表示された情報(例えば、テキストデータ)をイベント発生情報として取得する。
監視部211は、取得されたイベント発生情報に基づいて、監視対象のイベントが発生しているか否かを判定する(ステップS1905)。すなわち、第1イベントが発生したか否かが判定される。例えば、以下のような処理が実行される。
監視部211は、Webページが更新されているか否かを判定する。例えば、監視部211は、前回のイベント発生情報の更新日時を履歴情報として保持し、新たに取得したイベント発生情報の更新日時と履歴情報とを比較し、Webページが更新されているか否かを判定する。
Webページが更新されていると判定された場合、監視部211は、イベント種別情報221を参照して、イベント種別ID401がイベント監視対象情報222から選択されたレコードのイベント種別IDに一致するレコードを検索する。監視部211は、イベント種別情報221から検索されたレコードのイベント種別名402に対応するイベントがイベント発生情報に含まれるか否かを判定する。例えば、監視部211は、イベント種別名402に設定された文字がテキストデータに含まれるか否かを判定する。
なお、前述の処理は一例であって、これに限定されない。以上がステップS1905の処理の説明である。
監視対象のイベントが発生していないと判定された場合、監視部211は、イベント監視対象情報222の全てのレコードについて処理が完了したか否かを判定する(ステップS1909)。
イベント監視対象情報222の全てのレコードについて処理が完了していないと判定された場合、監視部211は、ステップS1903に戻り、イベント監視対象情報222から新たなレコードを選択し、ステップS1904からステップS1908までの処理を実行する。
イベント監視対象情報222の全てのレコードについて処理が完了したと判定された場合、監視部211は、第1ループ処理を終了する。その後、監視部211は、ステップS1902に戻り、同様の処理を実行する。
ステップS1905において、監視対象のイベントが発生していると判定された場合、監視部211は、イベント発生情報から第1イベントの発生場所及び発生日時を取得し、また、イベント発生情報に基づいて第2イベントの予測日時を算出する(ステップS1906)。
第2イベントの予測日時の算出方法は、様々な方法が考えられる。例えば、イベント発生情報に第2イベントの発生日時が含まれる場合、監視部211は、当該発生日時を第2イベントの予測日時として算出する。他の方法としては、監視部211は、第1イベントの発生日時に所定の時間を加算することによって、第2イベントの予測日時を算出する。なお、本実施例は、第2イベントの予測日時の算出方法に限定されない。
次に、監視部211は、第1イベントの発生場所に基づいて場所管理情報224を参照し、発生場所の識別情報を取得する(ステップS1907)。
具体的には、監視部211は、イベント監視対象ID702がイベント監視対象情報222から選択されたレコードのイベント監視対象IDに一致し、かつ、場所703が第1イベントの発生場所に一致するレコードを検索し、検索されたレコードの場所ID701の値を取得する。
次に、監視部211は、イベント情報226を更新する(ステップS1908)。その後、監視部211は、ステップS1909に進む。具体的には、以下のような処理が実行される。
監視部211は、イベント情報226にレコードを一つ追加し、追加されたレコードのイベントID901に識別情報を設定する。なお、監視部211は、採番機能を有し、当該採番機能に基づいて、他のレコードと重複しないように識別情報を設定する。
監視部211は、追加されたレコードのイベント種別ID902及びイベント監視対象ID903に、イベント監視対象情報222から選択されたレコードのイベント種別ID及びイベント監視対象IDを設定する。
また、監視部211は、追加されたレコードの場所ID904に、場所管理情報224から取得された場所IDを設定する。さらに、監視部211は、追加されたレコードの発生日時905にイベント発生情報から取得された第1イベントの発生日時を設定し、追加されたレコードの次イベント予測日時906に算出された第2イベントの予測日時を設定する。以上が、ステップS1908の処理の説明である。
図20は、実施例1のイベント分析サーバ102のイベント分析部212が実行する処理を説明するフローチャートである。
なお、本実施例のイベント分析部212は、イベント情報226の更新日時を更新履歴として管理しているものとする。
イベント分析サーバ102は、起動後、イベント分析部212を実現するプログラムをメモリ202にロードし、実行する。これによって、イベント分析部212は、処理を開始する(ステップS2001)。
イベント分析部212は、プログラムの終了指示を受け付けたか否かを判定する(ステップS2002)。
プログラムの終了指示を受け付けたと判定された場合、イベント分析部212は、処理を終了する(ステップS2012)。
プログラムの終了指示を受け付けていないと判定された場合、イベント分析部212は、イベント情報226を参照し(ステップS2003)、イベント情報226が更新されているか否かを判定する(ステップS2004)。なお、イベント分析部212は、周期的にイベント情報226を参照する場合、前回、イベント情報226を参照してから一定時間経過した後にイベント情報226を参照する。
具体的には、イベント分析部212は、現在のイベント情報226の更新日時と更新履歴とを比較することによって、イベント情報226が更新されているか否かを判定する。このとき、イベント分析部212は、現在のイベント情報226の更新日時を更新履歴に設定する。
イベント情報226が更新されていないと判定された場合、イベント分析部212は、ステップS2002に戻り、同様の処理を実行する。
イベント情報226が更新されていると判定された場合、イベント分析部212は、第1ループ処理を開始する(ステップS2005)。このとき、イベント分析部212は、イベント情報226からレコードを一つ選択し、選択されたレコードについてステップS2006からステップS2010までの処理を実行する。
イベント分析部212は、イベント情報226から選択されたレコードの値を取得し、イベント情報226から選択されたレコードを削除する(ステップS2006)。具体的には、以下のような処理が実行される。
イベント分析部212は、選択されたレコードに含まれる全てのカラムの値を取得する。すなわち、イベントID、イベント種別ID、イベント監視対象ID、場所ID、発生日時、及び次イベント予測日時が取得される。
また、イベント分析部212は、イベント種別情報221を参照し、イベント種別ID401がイベント情報226から選択されたレコードのイベント種別IDに一致するレコードを検索する。イベント分析部212は、検索されたレコードの影響度403の値を取得する。以上がステップS2006の処理の説明である。
次に、イベント分析部212は、サービス情報225を参照し、第2イベントの影響を受ける仮想ネットワークサービスを特定する(ステップS2007)。
具体的には、イベント分析部212は、サービス情報225を参照し、場所リスト803に、イベント情報226から選択されたレコードの場所IDを含むレコードを検索する。イベント分析部212は、検索されたレコードのサービスID801の値を取得する。取得されたサービスIDに対応する仮想ネットワークサービスが第2イベントの影響を受ける仮想ネットワークサービスとなる。
次に、イベント分析部212は、第2ループ処理を開始する(ステップS2008)。このとき、イベント分析部212は、ステップS2007において取得したサービスIDの中から、対象のサービスIDを一つ選択する。イベント分析部212は、選択されたサービスIDに対してステップS2010の処理を実行する。
イベント分析部212は、選択されたサービスIDに対して、オーケストレーション設定情報227の更新処理を実行する(ステップS2009)。これによって、第2イベントの影響を受ける仮想ネットワークサービスに対するスケーリングに必要な設定情報が生成される。当該処理の詳細は、図21を用いて説明する。
オーケストレーション設定情報227の更新処理が終了した後、イベント分析部212は、ステップS2007において特定された全ての仮想ネットワークサービスについて処理が完了したか否かを判定する(ステップS2010)。
ステップS2007において特定された全ての仮想ネットワークサービスについて処理が完了していないと判定された場合、イベント分析部212は、ステップS2008に戻り、新たなサービスIDを選択し、ステップS2009の処理を実行する。
ステップS2007において特定された全ての仮想ネットワークサービスについて処理が完了したと判定された場合、イベント分析部212は、第2ループ処理を終了する。その後、イベント分析部212は、イベント情報226の全てのレコードについて処理が完了したか否かを判定する(ステップS2011)。
イベント情報226の全てのレコードについて処理が完了していないと判定された場合、イベント分析部212は、ステップS2005に戻り、イベント情報226から新たなレコードを選択し、ステップS2006からステップS2010までの処理を実行する。
イベント情報226の全てのレコードについて処理が完了したと判定された場合、イベント分析部212は、ステップS2002に戻り、同様の処理を実行する。
図21は、実施例1のイベント分析サーバ102のイベント分析部212が実行するオーケストレーション設定情報227の更新処理を説明するフローチャートである。
イベント分析部212は、次イベント予測日時、影響度、及びサービスIDを入力パラメータとして処理を開始する(ステップS2101)。なお、次イベント予測日時はイベント情報226から選択されたレコードから取得された値であり、影響度はイベント種別情報221から検索されたレコードから取得された値であり、サービスIDはステップS2008において選択された値である。
イベント分析部212は、次イベント予測日時に基づいて実行日時を算出する(ステップS2102)。
具体的には、イベント分析部212は、次イベント予測日時から所定の時間前を実行日時として算出する。例えば、イベント分析部212は、次イベント予測日時の2時間前を実行日時として算出する。
次に、イベント分析部212は、影響を受けるテナントの使用リソース量を算出する(ステップS2103)。具体的には以下のような処理が実行される。
イベント分析部212は、サービスIDを含むリソース量の算出要求をオーケストレーションサーバ103に送信する。オーケストレーションサーバ103は、当該算出要求を受信した場合、以下の(1)、(2)、(3)の処理を実行する。
(1)オーケストレーションサーバ103は、影響を受けるテナントを特定する。具体的には、オーケストレーションサーバ103は、ネットワーク機能インスタンス情報326を参照し、インスタンスID1601が算出要求に含まれるサービスIDに一致するレコードを検索する。オーケストレーションサーバ103は、検索されたレコードのテナントID1604の値を取得する。取得されたテナントIDに対応するテナントが影響を受けるテナントとなる。
(2)オーケストレーションサーバ103は、特定されたテナントについて、テナントを構成するVMが稼働するハイパバイザのリソース量、当該ハイパバイザの使用リソース量、及び当該ハイパバイザの残りリソース量を算出する。なお、各リソース量の算出方法は以下の通りである。
(ハイパバイザのリソース量)
オーケストレーションサーバ103は、(1)において、ネットワーク機能インスタンス情報326から検索されたレコードの起動ハイパバイザリスト1605からハイパバイザIDを取得する。オーケストレーションサーバ103は、取得したハイパバイザIDの中から対象のハイパバイザIDを選択する。オーケストレーションサーバ103は、ハイパバイザ情報324を参照し、ハイパバイザID1401が選択されたハイパバイザIDに一致するレコードを検索する。オーケストレーションサーバ103は、検索されたレコードのCPUコア数1403、メモリ容量1404、及びディスク容量1405の値を、ハイパバイザのリソース量として算出する。オーケストレーションサーバ103は、起動ハイパバイザリスト1605から取得された全てのテナントIDについて同様の処理を実行する。
オーケストレーションサーバ103は、(1)において、ネットワーク機能インスタンス情報326から検索されたレコードの起動ハイパバイザリスト1605からハイパバイザIDを取得する。オーケストレーションサーバ103は、取得したハイパバイザIDの中から対象のハイパバイザIDを選択する。オーケストレーションサーバ103は、ハイパバイザ情報324を参照し、ハイパバイザID1401が選択されたハイパバイザIDに一致するレコードを検索する。オーケストレーションサーバ103は、検索されたレコードのCPUコア数1403、メモリ容量1404、及びディスク容量1405の値を、ハイパバイザのリソース量として算出する。オーケストレーションサーバ103は、起動ハイパバイザリスト1605から取得された全てのテナントIDについて同様の処理を実行する。
(ハイパバイザの使用リソース量)
オーケストレーションサーバ103は、起動ハイパバイザリスト1605から取得されたハイパバイザIDの中から対象のハイパバイザIDを選択する。オーケストレーションサーバ103は、ネットワーク機能インスタンス情報326を参照し、起動ハイパバイザリスト1605に選択されたハイパバイザIDを含むレコードを検索する。オーケストレーションサーバ103は、検索された各レコードについて以下の処理を実行する。
オーケストレーションサーバ103は、起動ハイパバイザリスト1605から取得されたハイパバイザIDの中から対象のハイパバイザIDを選択する。オーケストレーションサーバ103は、ネットワーク機能インスタンス情報326を参照し、起動ハイパバイザリスト1605に選択されたハイパバイザIDを含むレコードを検索する。オーケストレーションサーバ103は、検索された各レコードについて以下の処理を実行する。
オーケストレーションサーバ103は、検索されたレコードの中から対象のレコードを選択し、選択されたレコードのネットワーク機能ID1602及びパッケージID1603の値を取得する。オーケストレーションサーバ103は、パッケージ情報322を参照し、パッケージID1201及びネットワーク機能ID1202が取得したパッケージID及びネットワーク機能IDに一致するレコードを検索する。オーケストレーションサーバ103は、検索されたレコードの仮想CPUコア数1203、メモリ容量1204、及びディスク容量1205の値を取得する。オーケストレーションサーバ103は、ネットワーク機能インスタンス情報326から検索された全てのレコードについて同様の処理を実行し、取得された値の合計値を選択されたハイパバイザIDに対応するハイパバイザの使用リソース量として算出する。
(ハイパバイザの残りリソース量)
オーケストレーションサーバ103は、ハイパバイザのリソース量からハイパバイザの使用リソース量を減算することによって、ハイパバイザの残りリソース量を算出する。以上が、リソース量の算出方法の説明である。
オーケストレーションサーバ103は、ハイパバイザのリソース量からハイパバイザの使用リソース量を減算することによって、ハイパバイザの残りリソース量を算出する。以上が、リソース量の算出方法の説明である。
なお、リソース量はクラウド管理サーバ104によって管理されているため、イベント分析部212は、オーケストレーションサーバ103を介してクラウド管理サーバ104から各種リソース量を取得してもよい。
(3)オーケストレーションサーバ103は、サービスID、テナントID、ハイパバイザのリソース量、ハイパバイザの使用リソース量、及びハイパバイザの残りリソース量を含む応答をイベント分析サーバ102に送信する。以上がステップS2103の処理の説明である。
次に、イベント分析部212は、影響を受けるテナントの予測リソース量を算出する(ステップS2104)。
具体的には、イベント分析部212は、テナントを構成するVMが稼働するハイパバイザの使用リソース量に影響度を乗算することによって予測リソース量を算出する。なお、前述した算出方法は一例であってこれに限定されない。ハイパバイザのリソース量及び影響度を用いた算出方法であればよい。
なお、ユーザ数704を重みとして用いてもよい。これによって、より適切な予測リソース量を算出することができる。
次に、イベント分析部212は、影響を受けるテナントのスケーリング種別を決定する(ステップS2105)。ステップS2105の処理は、以下で説明するように、入力された影響度の大きさに応じて二通りの処理に分かれる。なお、以下で示す数式に用いるリソース量は、CPUコア数であるものとする。
影響度が「1」より大きい場合は以下のような処理が実行される。イベント分析部212は、各ハイパバイザの残りリソース量の合計値及び各ハイパバイザの使用リソース量の合計値を算出する。イベント分析部212は、式(1)及び式(2)のいずれを満たすかを判定する。式(1)を満たす場合、イベント分析部212は、スケーリング種別を「スケールアウト」に決定する。式(2)を満たす場合、イベント分析部212は、スケーリング種別を「スケールアップ」に決定する。
影響度が「1」より小さい場合は以下のような処理が実行される。イベント分析部212は、式(3)及び式(4)のいずれを満たすかを判定する。式(3)を満たす場合、イベント分析部212は、スケーリング種別を「スケールイン」に決定する。式(4)を満たす場合、イベント分析部212は、スケーリング種別を「スケールダウン」に決定する。
なお、前述した判定方法は一例であってこれに限定されない。
イベント分析部212は、スケーリング種別情報223を参照し、スケーリング種別602が決定されたスケーリング種別に一致するレコードを検索する。イベント分析部212は、検索されたレコードのスケーリング種別ID601の値を取得する。以上がステップS2105の処理の説明である。
次に、イベント分析部212は、影響を受けるテナントのスケーリングの規模を算出する(ステップS2106)。具体的には、以下のような処理が実行される。
スケーリング種別が「スケールアウト」である場合、イベント分析部212は、式(5)に基づいて規模を算出する。なお、予測リソース量の合計値は、各ハイパバイザの予測リソース量の合計値を表す。式(5)に基づいてテナントに追加するVMの数が規模として算出される。ここで、式(5)の(VMのリソース量)は、テナントを構成するVMの仮想CPUコア数の最小を用いるものとする。なお、VMの仮想CPUコア数の平均値を(VMのリソース量)としてもよい。
スケーリング種別が「スケールアップ」である場合、イベント分析部212は、式(6)に基づいて規模を算出する。この場合、既存のVMに追加するリソース量が規模として算出される。
スケーリング種別が「スケールイン」である場合、イベント分析部212は、式(7)に基づいて規模を算出する。この場合、テナントから削除するVMの数が規模として算出される。ここで、(VMのリソース量)は、式(5)の(VMのリソース量)と同一のものである。
スケーリング種別が「スケールダウン」である場合、イベント分析部212は、式(8)に基づいて規模を算出する。この場合、既存のVMから削減するリソース量が規模として算出される。
なお、前述した算出方法は一例であってこれに限定されない。以上がステップS2106の処理の説明である。
次に、イベント分析部212は、オーケストレーション設定情報227を更新する(ステップS2107)。その後、イベント分析部212は、オーケストレーション設定情報の更新処理を終了する(ステップS2108)。ステップS2107では、以下のような処理が実行される。
イベント分析部212は、オーケストレーション設定情報227に、影響を受けるテナントの数だけレコードを追加する。本実施例では、一つの仮想ネットワークサービスは一つのテナントから構成されるため、オーケストレーション設定情報227には一つのレコードが追加される。イベント分析部212は、追加されたレコードのオーケストレーション設定ID1001に識別情報を設定する。なお、イベント分析部212は、採番機能を有し、当該採番機能に基づいて、他のレコードと重複しないように識別情報を設定する。
イベント分析部212は、追加されたレコードの実行日時1002にステップS2102において算出された実行日時を設定する。イベント分析部212は、追加されたレコードのサービスID1005に入力パラメータであるサービスIDを設定する。また、イベント分析部212は、追加されたレコードのスケーリング種別ID1003にステップS2105において決定されたスケーリング種別IDを設定し、追加されたレコードの規模1004にステップS2106において算出された規模を設定する。一つのレコードが一つの設定情報に対応する。
なお、イベント分析部212は、オーケストレーション設定情報227にテナントIDを設定してもよい。この場合、オーケストレーション設定情報227のレコードは、テナントIDのカラムを含む。以上がステップS2107の処理の説明である。
以上の処理によって、影響を受ける仮想ネットワークサービスに対するスケーリングの制御内容が決定される。これによって、第2イベントの発生前に適切なスケーリングを行うことができる。
図22は、実施例1のイベント分析サーバ102のオーケストレーション設定部213が実行する処理を説明するフローチャートである。
なお、本実施例のオーケストレーション設定部213は、更新前のオーケストレーション設定情報227を更新履歴として管理しているものとする。
イベント分析サーバ102は、起動後、メモリ202にオーケストレーション設定部213を実現するプログラムをロードし、実行する。これによって、オーケストレーション設定部213は、処理を開始する(ステップS2201)。
オーケストレーション設定部213は、プログラムの終了指示を受け付けたか否かを判定する(ステップS2202)。
プログラムの終了指示を受け付けたと判定された場合、オーケストレーション設定部213は、処理を終了する(ステップS2208)。
プログラムの終了指示を受け付けていないと判定された場合、オーケストレーション設定部213は、オーケストレーション設定情報227を参照し(ステップS2203)、オーケストレーション設定情報227が更新されているか否かを判定する(ステップS2204)。なお、周期的にオーケストレーション設定情報227を参照する場合、オーケストレーション設定部213は、前回、オーケストレーション設定情報227を参照してから一定時間経過した後にオーケストレーション設定情報227を参照する。
具体的には、オーケストレーション設定部213は、現在のオーケストレーション設定情報227と更新履歴とを比較することによって、オーケストレーション設定情報227が更新されているか否かを判定する。
オーケストレーション設定情報227が更新されていないと判定された場合、オーケストレーション設定部213は、ステップS2202に戻り、同様の処理を実行する。
オーケストレーション設定情報227が更新されたと判定された場合、オーケストレーション設定部213は、第1ループ処理を開始する(ステップS2205)。このとき、オーケストレーション設定部213は、オーケストレーション設定情報227の更新されたレコードを特定し、特定されたレコードの中から対象のレコードを一つ選択し、選択されたレコードについてステップS2206の処理を実行する。
オーケストレーション設定部213は、オーケストレーションサーバ103に設定情報を送信する(ステップS2206)。
具体的には、オーケストレーション設定部213は、選択されたレコードの実行日時1002、スケーリング種別ID1003、規模1004、及びサービスID1005の値を取得し、オーケストレーションサーバ103に、設定情報として取得した値を送信する。なお、選択されたレコードにテナントIDが含まれる場合、テナントIDも送信される。
次に、オーケストレーション設定部213は、更新された全てのレコードについて処理が完了したか否かを判定する(ステップS2207)。
更新された全てのレコードについて処理が完了していないと判定された場合、オーケストレーション設定部213は、ステップS2205に戻り、新たなレコードを選択し、選択されたレコードに対してステップS2206の処理を実行する。
更新された全てのレコードについて処理が完了したと判定された場合、オーケストレーション設定部213は、第1ループ処理を終了する。このとき、オーケストレーション設定部213は、現在のオーケストレーション設定情報227を更新履歴に設定する。その後、オーケストレーション設定部213は、ステップS2202に戻り、同様の処理を実行する。
次に、図23から図26を用いてオーケストレーションサーバ103が実行する処理について説明する。以下の説明では、符号を含まないカラムの名称は、カラムから取得された値を表すものとする。例えば、シナリオIDは、シナリオ情報323に含まれるレコードのシナリオID1301の値を示す。
図23は、実施例1のオーケストレーションサーバ103のスケジュール部311が実行する処理を説明するフローチャートである。
オーケストレーションサーバ103は、起動後、メモリ302にスケジュール部311を実現するプログラムをロードし、実行する。これによって、スケジュール部311は、処理を開始する(ステップS2301)。
スケジュール部311は、プログラムの終了指示を受け付けたか否かを判定する(ステップS2302)。
プログラムの終了指示を受け付けたと判定された場合、スケジュール部311は、処理を終了する(ステップS2306)。
プログラムの終了指示を受け付けていないと判定された場合、スケジュール部311は、イベント分析サーバ102から設定情報が送信されるまで待ち続ける。スケジュール部311は、設定情報を受信した場合(ステップS2303)、影響を受ける仮想ネットワークサービスのネットワーク機能、テナント、パッケージ、及びシナリオを特定する(ステップS2304)。具体的には、以下のような処理が実行される。
スケジュール部311は、ネットワーク機能インスタンス情報326を参照し、インスタンスID1601が設定情報に含まれるサービスIDと一致するレコードを検索する。スケジュール部311は、検索されたレコードのネットワーク機能ID1602、パッケージID1603、及びテナントID1604の値を取得する。なお、設定情報にテナントIDが含まれる場合、スケジュール部311は、テナントID1604から値を取得しなくてもよい。
スケジュール部311は、シナリオ情報323を参照し、スケーリング種別ID1302が設定情報に含まれるスケーリング種別IDに一致し、かつ、ネットワーク機能ID1303がネットワーク機能インスタンス情報326から検索されたレコードのネットワーク機能IDに一致するレコードを検索する。スケジュール部311は、検索されたレコードのシナリオID1301の値を取得する。以上がステップS2304の処理の説明である。
次に、スケジュール部311は、スケジュール情報327を更新する(ステップS2305)。その後、スケジュール部311は、ステップS2302に戻り、同様の処理を実行する。具体的には、以下のような処理が実行される。
スケジュール部311は、スケジュール情報327にレコードを一つ追加し、追加されたレコードのスケジュールID1701に識別情報を設定する。なお、スケジュール部311は、採番機能を有し、当該採番機能に基づいて、他のレコードと重複しないように識別情報を設定する。
スケジュール部311は、追加されたレコードのインスタンスID1702、実行日時1706、及び規模1707に、設定情報に含まれるサービスID、実行日時、及び規模を設定する。
また、スケジュール部311は、追加されたレコードのシナリオID1703、パッケージID1704、及びテナントID1705に、ステップS2305において取得したシナリオID、パッケージID、及びテナントIDを設定する。以上がステップS2306の処理の説明である。
図24は、実施例1のオーケストレーションサーバ103のシナリオ登録部312が実行する処理を説明するフローチャートである。
オーケストレーションサーバ103は、起動後、メモリ302にシナリオ登録部312を実現するプログラムをロードし、実行する。これによって、シナリオ登録部312は、処理を開始する(ステップS2401)。
シナリオ登録部312は、プログラムの終了指示を受け付けたか否かを判定する(ステップS2402)。
プログラムの終了指示を受け付けたと判定された場合、シナリオ登録部312は、処理を終了する(ステップS2408)。
プログラムの終了指示を受け付けていないと判定された場合、シナリオ登録部312は、第1ループ処理を開始する(ステップS2403)。このとき、シナリオ登録部312は、スケジュール情報327のレコードの中から対象のレコードを一つ選択し、選択されたレコードに対してステップS2404からステップS2406までの処理を実行する。なお、周期的に第1ループ処理が実行される場合、シナリオ登録部312は、前回の第1ループ処理が終了してから一定時間経過した後に第1ループ処理を開始する。
次に、シナリオ登録部312は、現在時刻が実行日時を経過しているか否かを判定する(ステップS2404)。
具体的には、シナリオ登録部312は、スケジュール情報327から選択されたレコードの実行日時1706と現在時刻とを比較し、現在時刻が実行日時を経過しているか否かを判定する。
現在時刻が実行日時を経過していないと判定された場合、シナリオ登録部312は、スケジュール情報327の全てのレコードについて処理が完了したか否かを判定する(ステップS2407)。
スケジュール情報327の全てのレコードについて処理が完了していないと判定された場合、シナリオ登録部312は、ステップS2403に戻り、スケジュール情報327から新たなレコードを選択し、選択されたレコードに対してステップS2404からステップS2406の処理を実行する。
スケジュール情報327の全てのレコードについて処理が完了したと判定された場合、シナリオ登録部312は、ステップS2402に戻り、同様の処理を実行する。
ステップS2404において、現在時刻が実行日時を経過していると判定された場合、シナリオ登録部312は、実行中シナリオ情報328を更新する(ステップS2405)。具体的には、以下のような処理が実行される。
シナリオ登録部312は、実行中シナリオ情報328にレコードを一つ追加し、追加されたレコードの実行中シナリオID1801に識別情報を設定する。なお、シナリオ登録部312は、採番機能を有し、当該採番機能に基づいて、他のレコードと重複しないように識別情報を設定する。
シナリオ登録部312は、追加されたレコードのインスタンスID1802、シナリオID1803、パッケージID1804、テナントID1805、及び規模1806に、スケジュール情報327から選択されたレコードのインスタンスID、シナリオID、パッケージID、テナントID、及び規模を設定する。以上がステップS2405の処理の説明である。
次に、シナリオ登録部312は、スケジュール情報327から選択されたレコードを削除する(ステップS2406)。その後、シナリオ登録部312は、ステップS2407に進む。
図25は、実施例1のオーケストレーションサーバ103のオーケストレーション実行部313が実行する処理を説明するフローチャートである。
なお、本実施例のオーケストレーション実行部313は、実行中シナリオ情報328の更新日時を更新履歴として管理しているものとする。
オーケストレーションサーバ103は、起動後、メモリ302にオーケストレーション実行部313を実現するプログラムをロードし、実行する。これによって、オーケストレーション実行部313は、処理を開始する(ステップS2501)。
オーケストレーション実行部313は、プログラムの終了指示を受け付けたか否かを判定する(ステップS2502)。
プログラムの終了指示を受け付けたと判定された場合、オーケストレーション実行部313は、処理を終了する(ステップS2510)。
プログラムの終了指示を受け付けていないと判定された場合、オーケストレーション実行部313は、実行中シナリオ情報328を参照し(ステップS2503)、実行中シナリオ情報328が更新されているか否かを判定する(ステップS2504)。なお、周期的に実行中シナリオ情報328を参照する場合、オーケストレーション実行部313は、前回、実行中シナリオ情報328を参照してから一定時間経過した後に実行中シナリオ情報328を参照する。
具体的には、オーケストレーション実行部313は、現在の実行中シナリオ情報328の更新日時と更新履歴とを比較することによって、実行中シナリオ情報328が更新されているか否かを判定する。このとき、オーケストレーション実行部313は、現在の実行中シナリオ情報328の更新日時を更新履歴に設定する。
実行中シナリオ情報328が更新されていないと判定された場合、オーケストレーション実行部313は、ステップS2502に戻り、同様の処理を実行する。
実行中シナリオ情報328が更新されたと判定された場合、オーケストレーション実行部313は、第1ループ処理を開始する(ステップS2505)。このとき、オーケストレーション実行部313は、実行中シナリオ情報328の更新されたレコードを特定し、特定されたレコードの中から対象のレコードを一つ選択し、選択されたレコードについてステップS2506からステップS2508までの処理を実行する。
次に、オーケストレーション実行部313は、シナリオ情報323からシナリオを取得する(ステップS2506)。
具体的には、オーケストレーション実行部313は、シナリオID1301が実行中シナリオ情報328から選択したレコードのシナリオIDと一致するレコードを検索し、検索されたレコードのシナリオ1304からシナリオを取得する。
次に、オーケストレーション実行部313は、取得されたシナリオに基づいて、シナリオ処理を実行する(ステップS2507)。なお、インスタンスID、パッケージID、テナントID、及び規模は、シナリオ処理のパラメータとして扱われる。図26を用いてシナリオ処理の一例を説明する。
オーケストレーション実行部313は、シナリオ処理の実行後、実行中シナリオ情報328から選択されたレコードを削除する(ステップS2508)。また、オーケストレーション実行部313は、更新された全てのレコードについて処理が完了したか否かを判定する(ステップS2509)。
更新された全てのレコードについて処理が完了していないと判定された場合、オーケストレーション実行部313は、ステップS2505に戻り、新たなレコードを選択し、選択されたレコードに対してステップS2506からステップS2508までの処理を実行する。
更新された全てのレコードについて処理が完了したと判定された場合、オーケストレーション実行部313は、第1ループ処理を終了する。その後、オーケストレーション実行部313は、ステップS2502に戻り、同様の処理を実行する。
図26は、実施例1のオーケストレーションサーバ103のオーケストレーション実行部313が実行するシナリオ処理の一例を説明するフローチャートである。
ここでは、シナリオID1301が「2」である場合のシナリオ処理(スケールアウト処理)について説明する。
オーケストレーション実行部313は、シナリオを取得した後、シナリオ処理を開始する(ステップS2601)。まず、オーケストレーション実行部313は、インスタンスID、パッケージID、テナントID、及び規模を引数として受け取る(ステップS2602)。
次に、オーケストレーション実行部313は、スケールアウト処理に必要なリソース量を算出する(ステップS2603)。
具体的には、オーケストレーション実行部313は、パッケージ情報322を参照し、パッケージID1201が引数として受け取ったパッケージIDと一致するレコードを検索する。オーケストレーション実行部313は、検索されたレコードのネットワーク機能ID、仮想CPUコア数、メモリ容量、及びディスク容量を取得する。取得した値は、スケールアウト処理に必要なリソース量として算出される。
次に、オーケストレーション実行部313は、ネットワーク機能の起動イメージファイル名を取得する(ステップS2604)。
具体的には、オーケストレーション実行部313は、ネットワーク機能情報321を参照し、ネットワーク機能ID1101がパッケージ情報322から検索されたレコードのネットワーク機能IDと一致するレコードを検索する。オーケストレーション実行部313は、検索されたレコードの起動イメージファイル1103から起動イメージファイルを取得する。
次に、オーケストレーション実行部313は、テナントを構成するVMが稼働するハイパバイザを特定する(ステップS2605)。
具体的には、オーケストレーション実行部313は、テナント情報325を参照し、テナントID1501が引数として受け取ったテナントIDと一致するレコードを検索する。オーケストレーション実行部313は、検索されたレコードのハイパバイザリスト1503からハイパバイザIDを取得する。
次に、オーケストレーション実行部313は、特定されたハイパバイザのリソース量を算出する(ステップS2606)。具体的には、以下のような処理が実行される。
オーケストレーション実行部313は、テナント情報325から取得されたハイパバイザIDの中から対象のハイパバイザIDを選択する。
オーケストレーション実行部313は、ハイパバイザ情報324を参照し、ハイパバイザID1401が選択されたハイパバイザIDに一致するレコードを検索する。オーケストレーション実行部313は、検索されたレコードのCPUコア数、メモリ容量、及びディスク容量を取得する。取得された値は、ハイパバイザのリソース量として算出される。
オーケストレーション実行部313は、ハイパバイザリスト1503に含まれる全てのハイパバイザIDについて同様の処理を実行する。これによって、テナントに含まれるVMが稼働するハイパバイザのリソース量を把握できる。以上がステップS2606の処理の説明である。
次に、オーケストレーション実行部313は、ステップS2603において算出されたリソース量と、ステップS2606において算出されたリソース量とを比較し(ステップS2607)、スケールアウト処理に必要なリソース量が不足しているか否かを判定する(ステップS2608)。なお、リソース量に基づく判定処理は公知の技術であるため詳細な説明を省略する。
スケールアウト処理に必要なリソース量が不足していないと判定された場合、オーケストレーション実行部313は、起動イメージファイル、シナリオ、及び引数に基づいてスケールアウト処理を実行する(ステップS2609)。スケールアウト処理は、公知のものであるため詳細な説明は省略する。
オーケストレーション実行部313は、スケールアウト処理の実行後、処理を終了する(ステップS2610)。
ステップS2608において、スケールアウト処理に必要なリソース量が不足していると判定された場合、オーケストレーション実行部313は、エラーを出力し、処理を終了する(ステップS2611)。
以上で説明したように、イベント分析サーバ102は、第1イベントを検出した場合、第1イベントの後に発生する第2イベントの影響を受ける仮想ネットワークサービスを特定し、仮想ネットワークサービスを構成するテナント(VM)のリソース量を変更するためのスケーリングのパラメータ及び実行日時等を含む設定情報を生成する。第2イベントの発生前に、設定情報に基づくスケーリングが行われることによって、ネットワーク機能の処理性能の低下等を回避することができる。
また、突発的な通信量の増加に備えて、予め、余分なリソースを確保する必要がないため、システムの運用にかかるコストの増加を抑えることができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
101 クライアント端末
102 イベント分析サーバ
103 オーケストレーションサーバ
104 クラウド管理サーバ
105 イベント情報サーバ
106 計算サーバ
107 サービスSW
108 IoT GW
109 センサノード
110 インターネット
111 外部NW
201、301 CPU
202、302 メモリ
203、303 ネットワークIF
211 監視部
212 イベント分析部
213 オーケストレーション設定部
221 イベント種別情報
222 イベント監視対象情報
223 スケーリング種別情報
224 場所管理情報
225 サービス情報
226 イベント情報
227 オーケストレーション設定情報
311 スケジュール部
312 シナリオ登録部
313 オーケストレーション実行部
321 ネットワーク機能情報
322 パッケージ情報
323 シナリオ情報
324 ハイパバイザ情報
325 テナント情報
326 ネットワーク機能インスタンス情報
327 スケジュール情報
328 実行中シナリオ情報
102 イベント分析サーバ
103 オーケストレーションサーバ
104 クラウド管理サーバ
105 イベント情報サーバ
106 計算サーバ
107 サービスSW
108 IoT GW
109 センサノード
110 インターネット
111 外部NW
201、301 CPU
202、302 メモリ
203、303 ネットワークIF
211 監視部
212 イベント分析部
213 オーケストレーション設定部
221 イベント種別情報
222 イベント監視対象情報
223 スケーリング種別情報
224 場所管理情報
225 サービス情報
226 イベント情報
227 オーケストレーション設定情報
311 スケジュール部
312 シナリオ登録部
313 オーケストレーション実行部
321 ネットワーク機能情報
322 パッケージ情報
323 シナリオ情報
324 ハイパバイザ情報
325 テナント情報
326 ネットワーク機能インスタンス情報
327 スケジュール情報
328 実行中シナリオ情報
Claims (10)
- ネットワークサービスを構成する業務システムにリソースを提供する複数の第1システム及び前記複数の第1システムを管理する第2システムを含む計算機システムであって、
前記複数の第1システムの各々は、複数の第1計算機を含み、
前記第2システムは、少なくとも一つの第2計算機を含み、
前記第1システムには、異なるネットワークサービスを提供する業務システムが構築され、
前記業務システムは、前記第1計算機のリソースを用いて生成され、かつ、ネットワーク機能を有する仮想計算機を含み、
前記複数の第1計算機は、前記仮想計算機を管理する仮想化制御部を含み、
前記少なくとも一つの第2計算機は、前記業務システムに割り当てるリソース量を制御するためのスケーリングを実行するリソース管理部と、前記ネットワークサービスに影響を与えるイベントの発生を監視する監視部と、を含み、
前記監視部は、
第1イベントの発生を検出した場合、前記第1イベントの後に発生する第2イベントの発生予測日時を算出し、
前記第2イベントの影響を受けるネットワークサービスを特定し、
前記特定されたネットワークサービスを構成する業務システムに対する前記スケーリングの種別、前記スケーリングによって変更される業務システムのリソース量を表す変更リソース量、及び前記スケーリングの実行日時を含む設定情報を生成することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記監視部は、
前記第1イベントの識別情報及び前記第2イベントによって受ける影響の大きさを示す影響度から構成されるレコードを含むイベント種別情報を管理し、
前記第2イベントの発生予測日時に基づいて、前記スケーリングの実行日時を算出し、
前記特定されたネットワークサービスを構成する業務システムを特定し、
前記特定された業務システムの使用リソース量及び前記影響度に基づいて、前記特定された業務システムの予測リソース量を算出し、
前記特定された業務システムの使用リソース量及び前記特定された業務システムの予測リソース量に基づいて、前記スケーリングの種別を決定し、
前記特定された業務システムの使用リソース量、前記特定された業務システムの予測リソース量、及び前記スケーリングの種別に基づいて、前記変更リソース量を算出することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記監視部は、前記ネットワークサービスの識別情報及び前記ネットワークサービスを構成する業務システムが構築された前記第1システムの場所を示す識別情報から構成されるレコードを含むサービス情報を管理し、
前記リソース管理部は、前記ネットワークサービスの識別情報及び前記ネットワークサービスを構成する業務システムの識別情報から構成されるレコードを含むインスタンス情報を管理し、
前記監視部は、
前記第1イベントが発生した場所を特定し、
前記第1イベントが発生した場所に基づいて前記サービス情報を参照して、前記第2イベントの影響を受けるネットワークサービスの識別情報を取得し、
前記リソース管理部を介して前記インスタンス情報を参照することによって、前記取得されたネットワークサービスの識別情報に一致する業務システムを特定することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記監視部は、
イベントが発生する監視対象にアクセスするための情報を含む監視対象情報を管理し、
前記監視対象情報に基づいて、前記監視対象にアクセスすることによって前記第1イベントが発生しているか否かを判定することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記監視部は、前記第1イベントの発生日時に基づいて、前記第2イベントの発生予測日時を算出することを特徴とする計算機システム。 - ネットワークサービスを構成する業務システムにリソースを提供する複数の第1システム及び前記複数の第1システムを管理する第2システムを含む計算機システムにおけるリソース制御方法であって、
前記複数の第1システムの各々は、複数の第1計算機を含み、
前記第2システムは、少なくとも一つの第2計算機を含み、
前記第1システムには、異なるネットワークサービスを提供する業務システムが構築され、
前記業務システムは、前記第1計算機のリソースを用いて生成され、かつ、ネットワーク機能を有する仮想計算機を含み、
前記複数の第1計算機は、前記仮想計算機を管理する仮想化制御部を含み、
前記少なくとも一つの第2計算機は、前記業務システムに割り当てるリソース量を制御するためのスケーリングを実行するリソース管理部と、前記ネットワークサービスに影響を与えるイベントの発生を監視する監視部と、を含み、
前記リソース制御方法は、
前記監視部が、第1イベントの発生を検出した場合、前記第1イベントの後に発生する第2イベントの発生予測日時を算出する第1のステップと、
前記監視部が、前記第2イベントの影響を受けるネットワークサービスを特定する第2のステップと、
前記監視部が、前記特定されたネットワークサービスを構成する業務システムに対する前記スケーリングの種別、前記スケーリングによって変更される業務システムのリソース量を表す変更リソース量、及び前記スケーリングの実行日時を含む設定情報を生成する第3のステップと、を含むことを特徴とするリソース制御方法。 - 請求項6に記載のリソース制御方法であって、
前記監視部は、前記第1イベントの識別情報及び前記第2イベントによって受ける影響の大きさを示す影響度から構成されるレコードを含むイベント種別情報を管理し、
前記第3のステップは、
前記監視部が、前記第2イベントの発生予測日時に基づいて、前記スケーリングの実行日時を算出する第4のステップと、
前記監視部が、前記特定されたネットワークサービスを構成する業務システムを特定する第5のステップと、
前記監視部が、前記特定された業務システムの使用リソース量及び前記影響度に基づいて、前記特定された業務システムの予測リソース量を算出する第6のステップと、
前記監視部が、前記特定された業務システムの使用リソース量及び前記特定された業務システムの予測リソース量に基づいて、前記スケーリングの種別を決定する第7のステップと、
前記監視部が、前記特定された業務システムの使用リソース量、前記特定された業務システムの予測リソース量、及び前記スケーリングの種別に基づいて、前記変更リソース量を算出する第8のステップと、を含むことを特徴とするリソース制御方法。 - 請求項7に記載のリソース制御方法であって、
前記監視部は、前記ネットワークサービスの識別情報及び前記ネットワークサービスを構成する業務システムが構築された前記第1システムの場所を示す識別情報から構成されるレコードを含むサービス情報を管理し、
前記リソース管理部は、前記ネットワークサービスの識別情報及び前記ネットワークサービスを構成する業務システムの識別情報から構成されるレコードを含むインスタンス情報を管理し、
前記第1のステップは、前記監視部が、前記第1イベントが発生した場所を特定するステップを含み、
前記第2のステップは、前記監視部が、前記第1イベントが発生した場所に基づいて前記サービス情報を参照して、前記第2イベントの影響を受けるネットワークサービスの識別情報を取得するステップを含み、
前記第5のステップは、前記監視部が、前記リソース管理部を介して前記インスタンス情報を参照することによって、前記取得されたネットワークサービスの識別情報に一致する業務システムを特定するステップを含むことを特徴とするリソース制御方法。 - 請求項8に記載のリソース制御方法であって、
前記監視部は、イベントが発生する監視対象にアクセスするための情報を含む監視対象情報を管理し、
前記第1のステップは、前記監視部が、前記監視対象情報に基づいて、前記監視対象にアクセスすることによって前記第1イベントが発生しているか否かを判定するステップを含むことを特徴とするリソース制御方法。 - 請求項7に記載のリソース制御方法であって、
前記第1のステップは、前記監視部が、前記第1イベントの発生日時に基づいて、前記第2イベントの発生予測日時を算出するステップを含むことを特徴とするリソース制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016164570A JP2018032245A (ja) | 2016-08-25 | 2016-08-25 | 計算機システム及びリソース制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016164570A JP2018032245A (ja) | 2016-08-25 | 2016-08-25 | 計算機システム及びリソース制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018032245A true JP2018032245A (ja) | 2018-03-01 |
Family
ID=61303423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016164570A Pending JP2018032245A (ja) | 2016-08-25 | 2016-08-25 | 計算機システム及びリソース制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018032245A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2020234917A1 (ja) * | 2019-05-17 | 2020-11-26 | ||
| CN116627618A (zh) * | 2023-07-21 | 2023-08-22 | 北京万界数据科技有限责任公司 | 一种计算资源预调度方法及系统 |
-
2016
- 2016-08-25 JP JP2016164570A patent/JP2018032245A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2020234917A1 (ja) * | 2019-05-17 | 2020-11-26 | ||
| JP7367758B2 (ja) | 2019-05-17 | 2023-10-24 | 日本電信電話株式会社 | 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム |
| CN116627618A (zh) * | 2023-07-21 | 2023-08-22 | 北京万界数据科技有限责任公司 | 一种计算资源预调度方法及系统 |
| CN116627618B (zh) * | 2023-07-21 | 2023-09-19 | 北京万界数据科技有限责任公司 | 一种计算资源预调度方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250071023A1 (en) | Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment | |
| US10693740B2 (en) | Data transformation of performance statistics and ticket information for network devices for use in machine learning models | |
| EP3028406B1 (en) | Profile-based sla guarantees under workload migration in a distributed cloud | |
| EP3281360B1 (en) | Virtualized network function monitoring | |
| Dam et al. | Genetic algorithm and gravitational emulation based hybrid load balancing strategy in cloud computing | |
| US8424059B2 (en) | Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment | |
| US11093296B2 (en) | System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program | |
| US20120167081A1 (en) | Application Service Performance in Cloud Computing | |
| US20140215076A1 (en) | Allocation of Virtual Machines in Datacenters | |
| JP6558374B2 (ja) | スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム | |
| US20180176289A1 (en) | Information processing device, information processing system, computer-readable recording medium, and information processing method | |
| JP2011258098A (ja) | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 | |
| Marques et al. | Proactive resource management for cloud of services environments | |
| Barve et al. | FECBench: A holistic interference-aware approach for application performance modeling | |
| JP2017097707A (ja) | 仮想マシン動的配置システム及びサーバ | |
| US20170149615A1 (en) | Client-space network monitoring | |
| JP6279816B2 (ja) | ストレージ監視システムおよびその監視方法 | |
| JP2006285316A (ja) | サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム | |
| JP2011013711A (ja) | サービスシステム、クラウドコンピューティングシステム及びサービスプログラム | |
| US11212174B2 (en) | Network management device and network management method | |
| JP2018032245A (ja) | 計算機システム及びリソース制御方法 | |
| JP5377775B1 (ja) | システム管理装置、ネットワークシステム、システム管理方法およびプログラム | |
| Nema et al. | A new efficient Virtual Machine load balancing Algorithm for a cloud computing environment | |
| JP6070717B2 (ja) | 分散データ処理システム、及び、分散データ処理方法 | |
| WO2012117471A1 (ja) | 仮想サーバシステム、管理サーバ装置及びシステム管理方法 |