JPWO2018131556A1 - リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、リソース設定制御プログラム - Google Patents

リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、リソース設定制御プログラム Download PDF

Info

Publication number
JPWO2018131556A1
JPWO2018131556A1 JP2018561355A JP2018561355A JPWO2018131556A1 JP WO2018131556 A1 JPWO2018131556 A1 JP WO2018131556A1 JP 2018561355 A JP2018561355 A JP 2018561355A JP 2018561355 A JP2018561355 A JP 2018561355A JP WO2018131556 A1 JPWO2018131556 A1 JP WO2018131556A1
Authority
JP
Japan
Prior art keywords
resource
service
version
resource setting
request
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.)
Granted
Application number
JP2018561355A
Other languages
English (en)
Other versions
JP6798564B2 (ja
Inventor
巧 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2018131556A1 publication Critical patent/JPWO2018131556A1/ja
Application granted granted Critical
Publication of JP6798564B2 publication Critical patent/JP6798564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Abstract

サービスのバージョン間の移行過程で複数バージョンのサービスを並行して提供するシステムにおいて、バージョン間のリソース分配を適切に行う。a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求されたバージョン、およびサービス実行中のリソース使用量の情報を含む要求履歴と、b)サービス要求の負荷の基準パターンを格納する稼働情報記憶手段内の要求履歴から、所定期間内のサービス要求の負荷パターンを抽出し、基準パターンとの所定範囲以上の変化を検出すると基準パターンを更新するリソース設定変更判断手段と、負荷パターンの変化検出時に、バージョン毎に、所定期間内のリソース使用量のピーク値とバージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力するリソース設定変更手段と、を備えるリソース設定制御装置。

Description

本発明は、リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、コンピュータ読み取り可能記録媒体、特に、システム内に複数バージョンのサービスが混在する状況における、リソース配分を行うリソース設定制御に関する。
近年、クラウドの環境の整備や仮想化技術・コンテナ技術の発達に伴い、REST(Representational State Transfer)やSOAP(Simple Object Access Protocol)などのWebサービスの活用が進んでいる。Webサービスでは、新たなバージョンのサービスがリリースされた後も、既存のバージョンのサービスがすぐに廃止されるわけではなく、複数のバージョンのサービスが同一マシン上に混在する状況が発生する。一般に、利用者が既存のバージョンのサービスから、新しいバージョンに移行するには、ある程度の時間が必要だからである。
それぞれのバージョンのサービスは疎結合であるが、提供する基本機能はほぼ同じである。そのため、サービスへのリクエストの待ち受けスレッドやDB(Data Base)コネクションなどのリソースのプール管理機能がある場合、バージョン毎のサービスでリソースの確保が必要となる。
このとき、全てのバージョンが一律同じリソース量を必要とするわけではなく、メインで動くバージョンのサービスが有る一方、下位互換のために残ってはいるがほぼ使われないバージョンのサービスなども有る。バージョン毎にリソースを消費する量が異なるため、バージョン毎に適切なリソース割り当てを行うことが重要である。
リソースの配分に関連して、下記のような技術が開示されている。
特許文献1は、サーバ装置の仮想化環境の利便性を向上させる仮想化実行装置を開示する。この装置は、システム構成情報を決定するさい、同じサービスの利用履歴が或るユーザに対しては、過去と同じシステム構成情報を推奨する。また、この装置は、サービス実行時にリソースが不足した場合、仮想計算機やコンテナを追加して、リソース量を拡張する。
特許文献2は、準最適なグリッド環境内でアプリケーションの動作を維持するシステムを開示する。このシステムにおいては、サービス可用性管理エージェントが、リソースノードのパフォーマンス状態を監視する。パフォーマンス状態が規定された動作要件を満たさないとき、サービス可用性管理エージェントはアプリケーションのリソースノードの使用を調整する。
特開2016-110248号公報 特表2007-518169号公報
複数のバージョンのサービスが同一マシン上に混在する状況において、それぞれのサービスがどの程度のリソース量を必要とするのかは、稼働しているバージョン数、それぞれのサービスを利用するクライアント装置数など、利用者のバージョン移行の進み具合により変化する。このため、システム全体の状況から最適な設定を算出することは難しい。
マシン台数、サービスバージョン数、または、クライアント数が増えた場合、最適な設定値の算出には膨大な処理コストがかかるため、人間がリアルタイムで必要リソース量を算出するのは難しい。
また、クライアントアプリが利用するWebサービスの新バージョンが追加されと、サービス提供を行うサーバ全体の負荷状況が変わるため、これらの契機に合わせて、サーバ全体のリソースの設定が最適化されるように見直しを行うべきである。しかし、クライアント/サーバ間は疎結合であり、クライアントが呼び出すWebサービスはクライアントの実装に依存するため、サーバ側でWebサービスの各バージョンの利用クライアント数を把握することは難しく、設定変更の適切な契機が把握できない。
前述の特許文献1および特許文献2に開示された技術は、いずれも、使用されるサービスのバージョン間の負荷の変化、すなわち、利用者のバージョン移行の進行を契機としてリソースの再配分を行うものではなく、上記課題を解決しない。
本発明は、上記課題を解決し、サービスの移行などに伴い並行して使用されるサービスのバージョン間の負荷の変化を契機としてリソースの配分を見直す、リソース設定制御装置等を提供することを目的とする。
本発明の1実施の形態のリソース設定制御装置は、a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを格納する稼働情報記憶手段内の前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新するリソース設定変更判断手段と、前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力するリソース設定変更手段と、を備える。
本発明の1実施の形態のリソース設定制御方法は、a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを記憶し、前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新し、前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力する。
本発明の1実施の形態のコンピュータ読み取り可能記録媒体は、a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを格納する稼働情報記憶手段内の前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新するリソース設定変更判断処理と、前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力するリソース設定変更処理と、をコンピュータに実行させるリソース設定制御プログラムを非一時的に格納する。
本発明にかかるリソース設定制御装置は、サービスのバージョン間の移行過程で複数バージョンのサービスを並行して提供するシステムにおいて、バージョン間のリソース分配を適切に行うことが出来る。
図1は、第1の実施の形態にかかるリソース設定制御システム400の構成を示す図である。 図2は、バージョン特定ルール記憶部301に格納されるバージョン特定ルールの例を示す図である。 図3は、グルーピングルール記憶部302に格納されるグルーピングルールの例を示す図である。 図4は、稼働情報記憶部206に格納されるワークロード情報の例を示す図である。 図5は、構成情報記憶部207に格納されるバージョン毎のサービス稼働状況情報の例を示す図である。 図6は、コンピュータ装置600の構成を示す図である。 図7は、RESTサーバ装置100がリクエストを受信してサービスを実行し、リクエストの履歴がリソース設定制御装置200の稼働情報記憶部206に蓄積されるまでの動作を示すフローチャートである。 図8は、リクエスト解析部101が行うリクエスト解析の詳細を示すフローチャートである。 図9は、リソース設定変更判断部205による設定変更判断処理のフローチャートである。 図10は、リソース設定変更部204による各バージョンのリソース設定値の計算処理のフローチャートである。 図11は、第2の実施の形態にかかるリソース設定制御システム400の構成を示す図である。 図12は、第3の実施の形態にかかるリソース設定制御装置200の構成を示す図である。
<第1の実施の形態>
<構成>
図1は、第1の実施の形態にかかるリソース設定制御システム400の構成を示す図である。リソース設定制御システム400は、通信ネットワークで相互に接続されたRESTサーバ装置100とリソース設定制御装置200、並びに、RESTサーバ装置100に接続されたサービスクライアント装置300を包含する。RESTサーバ装置100とサービスクライアント装置300は、複数台存在しても良い。
RESTサーバ装置100は、複数バージョンのサービスをサービスクライアント装置300に対して提供する。リソース設定制御装置200は、バージョン間のリソース配分を決定する。ここで、リソースは、例えば、プール管理されている、サービスへのリクエストの待ち受けスレッドやDBコネクション、メモリ領域、通信パスである。
RESTサーバ装置100は、サービス実行部103、リクエスト解析部101、および、リソース使用量採取部102を備えている。RESTサーバ装置100は、バージョン特定ルール記憶部301とグルーピングルール記憶部302を備えている、または、他の装置と共有している。
サービス実行部103は、サービスクライアント装置300から、サービスリクエスト(以降、リクエストと略記する)を受信して、指定されたバージョンのサービスを実行する。RESTサーバ装置100が複数存在するとき、各サービスクライアント装置300のリクエストは、例えば、図示しないロードバランサにより、適宜、何れかのRESTサーバ装置100に振り分けられる。
リクエスト解析部101は、サービスへのリクエストを解析し、利用サービスのバージョン特定および、リクエストのグルーピングを行う。この時、リクエスト解析部101は、バージョン特定ルール記憶部301とグルーピングルール記憶部302を参照する。
リソース使用量採取部102は、サービスの実行時のリソース使用量をバージョン単位でグループを識別できるように採取して、リソース設定制御装置200に送信する。
リソース設定制御装置200は、ワークロード情報採取部201、ノイズ判定部202、サービス構成管理部203、リソース設定変更部204、および、リソース設定変更判断部205を備えている。リソース設定制御装置200は、さらに、稼働情報記憶部206と構成情報記憶部207を備えている。
ワークロード情報採取部201は、各々のRESTサーバ装置100のリソース使用量採取部102からサービスの実行時のリソース使用量を受信して、稼働情報記憶部206に格納し、リソース設定制御システム400の統合された記録として蓄積する。
サービス構成管理部203は、構成情報記憶部207を利用して、リソース設定制御システム400全体でバージョン毎のサービス稼働状況を把握する。
リソース設定変更判断部205は、稼働情報記憶部206に蓄積された情報を基に、分散環境で発生して処理されたリクエストの負荷パターンを抽出し、その状況に基づいて、バージョン間のリソースの配分変更の要否をチェックする。このとき、ノイズ判定部202は、負荷パターンのノイズ的な情報から、長期的な負荷パターンの変化の有無をチェックする。
リソース設定変更部204は、リソース設定制御システム400全体でのバージョン毎のサービス稼働状況とリクエストのグループのリソース使用状況から、バージョン毎のリソースの適切な設定値を算出する。そして、リソース設定変更部204は、算出値に基づくリソース配分変更指示を、RESTサーバ装置100に送信する。
図2は、バージョン特定ルール記憶部301に格納されるバージョン特定ルールの例を示す図である。リクエスト解析部101は、バージョン特定ルール記憶部301に格納されているバージョン特定ルールに従って、リクエストの情報から要求されているサービスのバージョンを特定する。バージョン特定ルールは、リクエストのどの情報のどの部分からバージョン情報を抽出するかを指定する。
図2のa)は、URL(Uniform Resource locator)でバージョン判定する設定例である。このルールは、リクエストのURLパスの”version”で示された、”rest/”に続く部分からバージョン情報を抽出することを指定している。
図2のb)は、ポート番号でバージョン判定する設定例である。このルールは、リクエストのポート番号の”version”で示された、”//<host>/”に続く部分からバージョン情報を抽出することを指定している。
図2のc)は、同様に、クエリパラメータでバージョン判定する設定例である。このルールは、”version=“に続く部分からバージョン情報を抽出することを指定している。
図3は、グルーピングルール記憶部302に格納されるグルーピングルールの例を示す図である。リクエスト解析部101は、グルーピングルール記憶部302に格納されているグルーピングルールに従って、リクエストが属するグループ識別子を特定する。グルーピングルールは、リクエストのどの情報のどの部分からグループ識別子を抽出するかを指定する。
図3のa)は、認証Id(Identification)でグルーピングする設定例である。このルールは、リクエストのHTTP(Hyper Text Transfer Protocol)ヘッダキーのAUTH_IDフィールドからグループ識別子を抽出することを指定している。
図3のb)は、認証Idの一部でグルーピングする設定例である。このルールは、リクエストのHTTPヘッダキーのAUTH_IDフィールドの0乃至5バイト目からグループ識別子を抽出することを指定している。なお、substringは、値の切り取りを指定する関数である。
図3のc)は、クライアントアプリのTypeでグルーピングする設定例である。このルールは、リクエストのパラメータキーCLIENT_TYPEからグループ識別子を抽出することを指定している。
図4は、稼働情報記憶部206に格納されるワークロード情報の例を示す図である。ワークロード情報は、各RESTサーバ装置100が受信して処理したリクエストの履歴である。このリクエスト履歴情報は、各RESTサーバ装置100のリクエスト解析部101と、リソース使用量採取部102が収集した情報である。履歴内の各リクエストレコードは、例えば、処理完了時刻、要求されたサービスのバージョン特定情報、グループ識別子、および、当該リクエストの処理に要したリソースの種類と使用量である。
図5は、構成情報記憶部207に格納されるバージョン毎のサービス稼働状況情報の例を示す図である。サービス稼働状況情報は、例えば、RESTサーバ装置100の識別子(マシンA、マシンB等)と、当該RESTサーバ装置100上で提供されているサービスのバージョン番号を関連付けて格納している。図5の例は、V1で示されるバージョン1は、マシンAとBの2台のRESTサーバ装置100上でサービスされていることを示している。
ここで、RESTサーバ装置100のサービス実行部103、リクエスト解析部101、および、リソース使用量採取部102は、論理回路で構成される。バージョン特定ルール記憶部301とグルーピングルール記憶部302は、ディスク等の不揮発性の記憶装置に記憶される。
RESTサーバ装置100は、コンピュータ装置600により実現されても良い。図6は、コンピュータ装置600の構成を示す図である。コンピュータ装置600は、バス640で相互に接続された、プロセッサ610、主記憶部630、および、外部記憶装置620を備える。プロセッサ610は、バス640を経由して、主記憶部630、および、外部記憶装置620に対してデータの読み書きを行う。また、プロセッサ610は、主記憶部630に格納されているプログラム650を実行する。なお、プログラム650は、当初外部記憶装置620に格納されており、コンピュータ装置600の初期設定時に、プロセッサ610が外部記憶装置620から主記憶部630にロードしても良い。
ここで、主記憶部630は半導体メモリ装置である。外部記憶装置620はディスク装置、または、半導体記憶装置等の記憶装置である。
プロセッサ610は、プログラム650を実行することにより、サービス実行部103、リクエスト解析部101、および、リソース使用量採取部102として機能する。すなわち、プロセッサ610は、プログラム650を実行することにより、サービス実行部103、リクエスト解析部101、および、リソース使用量採取部102が行う処理を実行する。
外部記憶装置620は、バージョン特定ルール記憶部301とグルーピングルール記憶部302として使用されても良い。
さらに、リソース設定制御装置200のワークロード情報採取部201、ノイズ判定部202、サービス構成管理部203、リソース設定変更部204、および、リソース設定変更判断部205は、論理回路で構成される。稼働情報記憶部206と構成情報記憶部207は、ディスク等の不揮発性の記憶装置に記憶される。
リソース設定制御装置200は、図6に示されるコンピュータ装置600により実現されても良い。
プロセッサ610は、プログラム650を実行することにより、ワークロード情報採取部201、ノイズ判定部202、サービス構成管理部203、リソース設定変更部204、および、リソース設定変更判断部205として機能する。すなわち、プロセッサ610は、プログラム650を実行することにより、ワークロード情報採取部201、ノイズ判定部202、サービス構成管理部203、リソース設定変更部204、および、リソース設定変更判断部205が行う処理を実行する。
外部記憶装置620は、稼働情報記憶部206や構成情報記憶部207として使用されても良い。
<動作>
図7は、RESTサーバ装置100がリクエストを受信してサービスを実行し、リクエストの履歴がリソース設定制御装置200の稼働情報記憶部206に蓄積されるまでの動作を示すフローチャートである。
まず、サービスクライアント装置300は、サービス(REST API)を実行するため、クライアントの認証を行う(S1)。RESTサーバ装置100は、クライアントを認証し、認証済のトークンをサービスクライアント装置300に払い出す。以降のサービスクライアント装置300からのリクエストは、認証済のトークンを付与されて、RESTサーバ装置100へ送付される。
RESTサーバ装置100のサービス実行部103は、リクエストを受け取るとサービスを実行する(S2)。サービス実行に際し、リクエスト解析部101は、リクエストを解析して、リクエストから、呼び出しているサービスのバージョンの特定、および、グルーピングを行うためのグループ識別子抽出を行い、リソース設定制御装置200に送信する(S3)。
図8は、図7bのS3において、リクエスト解析部101が行うリクエスト解析の詳細を示すフローチャートである。
リクエスト解析部101は、先ず、バージョン特定ルール記憶部301に保存されたバージョン特定ルールを用いて(S11)、送信されたリクエストの情報から、そのリクエストがどのバージョンのサービス要求であるかを特定し、リソース設定制御装置200に送信する(S12)。
バージョンは、URLパスによって指定されることがある。この場合、RESTサーバ装置100は、例えば、バージョン1のAPIを「http://host/api/v1/service」のようなパスで、バージョン2のAPIを「http://host/api/v2/service」のようなパスで、公開する。そして、リクエスト解析部101は、http://host/api/v1/はバージョン1のAPI、http://host/api/v2/はバージョン2のAPIと、パス内に含まれた情報を用いてバージョンを認識する。
この場合、バージョン特定ルールは、バージョンの識別に「URLパス」を利用することと、URLパスの文字列の中でバージョンを示す場所を記載する(図2のa)参照)。
次に、リクエスト解析部101は、グルーピングルール記憶部302に保存されたグルーピングルールを用いて(S13)、送信されたリクエストの情報から、そのリクエストが属するグループの識別子を抽出し、リソース設定制御装置200に送信する(S14)。
リクエストは、意味のある単位でグルーピングされる。例えば、同一Idのユーザからきたリクエストを1つのグループとして利用する場合、リクエスト解析部101は、リクエスト内からユーザIdをグループ識別子として抽出する。別の例として、ユーザが属する会社毎にリクエストを束ねる場合は、リクエスト解析部101は、Id内に含まれる会社コードを抽出する。
リソース設定制御システム400の管理者は、先ず、バージョン間のリソース配分決定の為に、リグエストをどのようにグルーピングするかを決定する。次に、管理者は、そのグループの識別情報をリクエストのどこから抽出すべきかを、グルーピングルールとして予めグルーピングルール記憶部302内に格納しておくのである(図3参照)。
リクエスト解析(図7のS3)が終了すると、リソース使用量採取部102は、リクエストの実行に使用したリソース使用量を、例えば、サービス実行部103から取得し、リソース設定制御装置200に送信する(S4)。具体的には、サービス実行部103が、リクエスト実行中にリソース使用量を監視してリクエストに記録し、リソース使用量採取部102が、その記録を参照すれば良い。
リソース設定制御装置200では、ワークロード情報採取部201が、リクエスト解析部101とリソース使用量採取部102から送られてきた情報を受信して(S5)、稼働情報記憶部206にリクエスト履歴として蓄積していく(S6、図4参照)。このとき、ワークロード情報採取部201は、ログインからログアウトを1つのワークロードと見なし、リクエストを時間帯別にグループ毎に記録していく。
図9は、リソース設定変更判断部205による設定変更判断処理のフローチャートである。リソース設定変更判断部205は、所定の期間毎に起動され、稼働情報記憶部206のリクエスト履歴から負荷パターンを抽出する(S21)。定常化された運用の多くの場合、ある一定の周期でリクエスト送信をパターン化することができる。リソース設定変更判断部205は、リクエストの履歴から、所定の期間ごとにこのパターンを抽出するのである。
この所定期間は、1日、1週間、1か月など、リクエストをある時系列の固まりで意味づけしたときに、リクエストの送信タイミングに傾向が出てくる単位期間であり、例えば、以下のような期間である。
・1日の中で特定の時間のみ負荷が高く/低くなるときは、所定期間は日単位とし、リソース設定変更判断部205は、時間ごとの負荷のパターンを抽出する。
・1週間の中で特定の曜日のみ負荷が高く/低くなるときは、所定期間は1週間単位とし、リソース設定変更判断部205は、曜日ごとの負荷のパターンを抽出する。
・1ヶ月の中で、月初めや月終わりの週や日で負荷が高く/低くなるときは、所定期間は1か月単位とし、リソース設定変更判断部205は、週や日ごとの負荷のパターンを抽出する。
・四半期(3ヶ月)の中で、期の初めや終わりの月、週や日で負荷が高く/低くなるときは、所定期間は四半期単位とし、リソース設定変更判断部205は、月や週や日ごとの負荷のパターンを抽出する。
・半年や年の中で、特定の月や週や日で負荷が高く/低くなるときは、所定期間は、半年や年単位とし、月や週や日ごとの負荷のパターンを抽出する。
リソース設定変更判断部205は、S21で、最新周期のリクエスト履歴から負荷パターンを抽出した後に、このパターンを基準パターンと比較し、有意差が有れば(S22で”Yes”)、基準パターンを更新して(S23)、リソース設定変更部204を起動する(S24)。無ければ(S22で”No”)、リソース設定変更判断部205は、ノイズ判定部202を起動する(S26)。
上記説明から明らかなように、基準パターンは、過去の周期で確立された最新の負荷パターンであり、最新周期のリクエスト履歴から抽出される負荷パターンの変化を判定する為の基準となるものである。基準パターンは、例えば、稼働情報記憶部206に格納されており、初期値は管理者により与えられる。
起動されると、ノイズ判定部202は、抽出した負荷パターンと基準パターンと差異をノイズとして記録し(S26)、過去の数周期分の差異との比較を行い、差異が定常的であれば(S27で”Yes”)、リソース設定変更判断部205に通知する。リソース設定変更判断部205はその通知を受けて、基準パターンを更新して(S23)、リソース設定変更部204を起動する(S24)。差異が定常的でなければ(S27で”No”)、リソース設定変更判断部205およびノイズ判定部202は、この周期の動作を終了する。
なお、リソース設定変更判断部205は、バージョン毎にパターンの抽出、有意判定、および、基準パターン変更を、バージョン毎に実行しても良いし、全バージョン横断的に実行しても良い。バージョン毎に実行した場合、リソース設定変更判断部205は、何れかのバージョンの負荷パターンに有意差が有れば(S22で”Yes”)、当該バージョンの基準パターンを更新して(S23)、リソース設定変更部204を起動する(S24)。
なお、ここで、リソース設定変更判断部205が、a)リクエスト履歴から抽出する負荷パターン、b)有意差の判定に使用する閾値、ノイズ判定部202が、c)記録する基準パターンとの差異は、例えば以下の通りである。
例1:
a)各グループの最頻度要求バージョン、b)各グループの新最頻度要求バージョンの要求出現率の基準パターンとの差異(例えば、新たに最頻度要求バージョンとなったもの出現率が20%以上増加していたら有意差とする)、c)今周期の各グループの最頻度要求バージョン
例2:
a)ピークリソース使用量の出現タイミング(時間、曜日、日付、月)、b)出現タイミングの変化量(例えば、2日以上タイミングが変化したら有意差とする)、c)今周期のピークリソース使用量の出現タイミング
例3:
a)所定期間内の各タイミングにおけるリソース使用量分布、b)各タイミングでのリソース使用量差異の絶対値の総和(例えば、各曜日のスレッド使用量の差の総和が50以上なら有意差とする)、c)今周期のリソース使用量分布
例4:
a)出現グループ、b)およびc)無(グループの消滅、新規登場は、無条件に有意差と判定する)
ノイズ判定部202は、記録する基準パターンとの差異が、所定数の周期の間、全く変化が無ければ、S27で差異は定常的と判断しても良いし、或る範囲の変動を許容して定常的と判断しても良い。ノイズ判定部202は、基準パターンとの差異を、例えば、稼働情報記憶部206に記録する。
S24で起動されたリソース設定変更部204は、バージョン毎のピーク値(例えば、ピ時間帯と使用量)を、時系列データを用いて算出し、それらのリソース消費量から全バージョン累計のシステム全体のリソース使用状況を時系列データとして算出する。
図10は、リソース設定変更部204による各バージョンのリソース設定値の計算処理のフローチャートである。
リソース設定変更部204は、サービス構成管理部203からリソース設定制御システム400において、各バージョンのサービスを提供しているRESTサーバ装置100の台数を取得する(S31)。
次に、リソース設定変更部204は、稼働情報記憶部206のリクエスト履歴からバージョン毎のピーク時のリソース使用量を算出し、バージョン毎に稼働しているRESTサーバ装置100の台数で割って数値(a)を算出する(S32)。また、リソース設定変更部204は、バージョン毎にピーク時に最もリソースを消費しているグループのリソース消費量(b)を算出する(S33)。
リソース設定変更部204は、バージョンごとに、(a)の情報と(b)の情報を比較し、(a)が大きい場合は(a)をリソース設定値とする。リソース設定変更部204は(b)のほうが大きい場合、(b)の値をリソースの設定値とする(S34乃至S36)。これは、(b)の値が大きなときは、特定のマシンに高負荷がかかることが考えられ、均等に割り振ったリソース設定では、処理がさばききれなくなる恐れが有るからである。
最後に、リソース設定変更判断部205は、上記の方法で算出したリソース設定値を各RESTサーバ装置100にリソース要求量として配信する(図9のS25)。
各RESTサーバ装置100では、例えば、サービス実行部103がこのリソース要求量を受信して、指定されたバージョンのリソースプールのリソース量を変更する。
<効果>
本実施の形態にかかるリソース設定制御装置200は、サービスのバージョン間の移行過程で複数バージョンのサービスを並行して提供するリソース設定制御システム400において、バージョン間のリソース分配を適切に行うことが出来る。
その理由は、リソース設定変更判断部205が、リクエスト履歴に基づいて負荷パターンの変化(移行の進展)を検知し、リソース設定変更部204が、バージョン毎のリソース使用量に基づいて、各バージョンに割当てられるリソース量を決定するからである。
さらに、本実施の形態にかかるリソース設定制御装置200は、クライアントが有る程度の数でサービス移行した時は、早いタイミングで、バージョン間のリソース設定の再配分を実施できる。
その理由は、負荷パターンが所定閾値以上変動した場合は、リソース設定変更判断部205が、所定周期ごとに変動を検知するからである。
さらに、本実施の形態にかかるリソース設定制御装置200は、クライアントが少しずつサービス移行した場合でも、バージョン間のリソース設定の再配分を、適切に実施できる。
その理由は、負荷パターンが所定閾値以内で変動した場合は、ノイズ判定部202が、複数の所定周期ごとに変動を検知するからである。
<第2の実施形態>
図11は、第2の実施の形態にかかるリソース設定制御システム400の構成を示す図である。第1の実施の形態にかかるリソース設定制御システム400は、リソース設定制御装置200とRESTサーバ装置100を別に設けているが、本実施の形態では両者を統合する。例えば、第1の実施の形態におけるリソース設定制御装置200内の構成要素を全て各RESTサーバ装置100上に配置する。配置の変更は、逆でも良い。
ログインからログアウトまでの処理をまとめて稼働情報記憶部206に記録するため、RESTサーバ装置100は、相互に協調して、記録前の稼働情報を共有する。協調動作はワークロード情報共有部208によって実現され、各RESTサーバ装置100で稼働情報記憶部206を共有する。
情報の共有は、リクエストを受けたバージョンと同じバージョンのサービスが動作しているRESTサーバ装置100のみでなされれば良い。このため、ワークロード情報共有部208は、サービス構成管理部203から構成情報を得て共有範囲を決定する。
<第3の実施形態>
図12は、第3の実施の形態にかかるリソース設定制御装置200の構成を示す図である。リソース設定制御装置200は、リソース設定変更判断部205、リソース設定変更部204、および、稼働情報記憶部206を備える。リソース設定制御装置200は、稼働情報記憶部206を備える代わりに、通信網を経由して、例えば遠隔地の稼働情報記憶部206に接続されていても良い。
稼働情報記憶部206は、複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求されたバージョン、およびサービス実行中のリソース使用量の情報を含む要求履歴を格納している。これらの情報は、当該サービスを提供するサーバ装置からリアルタイムに、あるいは、定期的に一括して送信されてくる。リソース設定変更判断部205の処理周期が長い時は、可換媒体による人手によるデータ移動でも良い。さらに、稼働情報記憶部206は、サービス要求の負荷の基準パターンを格納する。
リソース設定変更判断部205は、稼働情報記憶部206内の要求履歴から、所定期間内のサービス要求の負荷パターンを抽出し、基準パターンとの所定範囲以上の変化を検出すると基準パターンを更新する。
負荷パターンの変化が検出された時に、リソース設定変更部204は、バージョン毎に、所定期間内のリソース使用量のピーク値とバージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力する。
出力されたリソース要求量は、例えば、サーバ装置がこのリソース要求量を受信して、指定されたバージョンのリソース量を変更する。
本実施の形態にかかるリソース設定制御装置200は、サービスのバージョン間の移行過程で複数バージョンのサービスを並行して提供するリソース設定制御システム400において、バージョン間のリソース分配を適切に行うことが出来る。
その理由は、リソース設定変更判断部205が、リクエスト履歴に基づいて負荷パターンの変化(移行の進展)を検知し、リソース設定変更部204が、バージョン毎のリソース使用量に基づいて、各バージョンに割当てられるリソース量を決定するからである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年1月12日に出願された日本出願特願2017−3083を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 RESTサーバ装置
101 リクエスト解析部
102 リソース使用量採取部
103 サービス実行部
200 リソース設定制御装置
201 ワークロード情報採取部
202 ノイズ判定部
203 サービス構成管理部
204 リソース設定変更部
205 リソース設定変更判断部
206 稼働情報記憶部
207 構成情報記憶部
208 ワークロード情報共有部
300 サービスクライアント装置
301 バージョン特定ルール記憶部
302 グルーピングルール記憶部
400 リソース設定制御システム
600 コンピュータ装置
610 プロセッサ
620 外部記憶装置
630 主記憶部
640 バス
650 プログラム

Claims (10)

  1. a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを格納する稼働情報記憶手段内の前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新するリソース設定変更判断手段と、
    前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力するリソース設定変更手段と、を備えるリソース設定制御装置。
  2. 前記グループは、前記サービス要求の送信元に基づいて構成されており、
    前記リソース設定変更判断手段は、前記グループと、要求する前記バージョンの対応関係を前記負荷パターンとして抽出する、請求項1のリソース設定制御装置。
  3. 前記所定期間は、日であり、前記リソース設定変更判断手段は、所定の時刻における前記サービス要求の負荷を前記負荷パターンとして抽出する、
    前記所定期間は、週であり、前記リソース設定変更判断手段は、所定の曜日における前記サービス要求の負荷を前記負荷パターンとして抽出する、
    前記所定期間は、月であり、前記リソース設定変更判断手段は、前記所定期間における所定の順番の日、若しくは週における前記サービス要求の負荷を前記負荷パターンとして抽出する、または、
    前記所定期間は、複数の月であり、前記リソース設定変更判断手段は、前記所定期間における所定の順番の日、週、若しくは月における前記サービス要求の負荷を前記負荷パターンとして抽出する、請求項1乃至請求項2のいずれか1項のリソース設定制御装置。
  4. 前記負荷パターンと前記基準パターンとの差異をノイズとして記録し、複数の前記所定期間の前記ノイズに基づいて、前記基準パターンの更新要否を判定するノイズ判定手段を、さらに備える、請求項1乃至請求項3のいずれか1項のリソース設定制御装置。
  5. 前記リソース設定変更手段は、前記バージョンごとに、a)前記所定期間内の前記リソース使用量のピーク値を前記バージョンの前記サービスを提供する前記サーバ装置数で除した値と、b)前記バージョンを要求する前記グループの中の最大の前記リソース使用量との大きな方の値を前記リソース要求量に決定する、請求項1乃至請求項4のいずれか1項のリソース設定制御装置。
  6. 前記サービス要求から要求された前記バージョンの前記サービスを実行するサービス実行手段と、
    前記サービス要求から、前記グループと前記バージョンの情報を抽出して送信するリクエスト解析手段と、
    前記サービス要求が前記サービスの実行中に使用した前記リソース使用量を採取して送信するリソース使用量採取手段と、を備える複数の前記サーバ装置、並びに、
    前記稼働情報記憶手段と、
    前記グループと前記バージョンの情報、および、前記使用リソース量を受信して前記稼働情報記憶手段に追記するワークロード情報採取手段を備える、請求項1乃至請求項5のいずれか1項のリソース設定制御装置と、を包含するリソース設定制御システム。
  7. 前記リクエスト解析手段は、a)前記サービス要求から要求された前記サービスの前記バージョンの情報を抽出する第1のルールを格納するバージョン特定ルール記憶手段から前記第1のルールを、b)前記サービス要求から前記グループの情報を抽出する第2のルールを格納するグルーピングルール記憶手段から前記第2のルールを、取得し、前記第1のルールと前記第2のルールを適用して、前記サービス要求から、前記グループと前記バージョンの情報を抽出する、請求項6のリソース設定制御システム。
  8. a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを記憶し、
    前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新し、
    前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力する、リソース設定制御方法。
  9. 前記グループは、前記サービス要求の送信元に基づいて構成されており、
    前記グループと、要求する前記バージョンの対応関係を前記負荷パターンとして抽出する、請求項8のリソース設定制御方法。
  10. a)複数バージョンの内の何れかのサービスを要求するサービス要求の、グループ、要求された前記バージョン、および前記サービス実行中のリソース使用量の情報を含む要求履歴と、b)前記サービス要求の負荷の基準パターンを格納する稼働情報記憶手段内の前記要求履歴から、所定期間内の前記サービス要求の負荷パターンを抽出し、前記基準パターンとの所定範囲以上の変化を検出すると前記基準パターンを更新するリソース設定変更判断処理と、
    前記負荷パターンの変化検出時に、前記バージョン毎に、前記所定期間内の前記リソース使用量のピーク値と前記バージョンを提供するサーバ装置数とに基づいてリソース要求量を決定して出力するリソース設定変更処理と、をコンピュータに実行させるリソース設定制御プログラムを格納するコンピュータ読み取り可能記録媒体。
JP2018561355A 2017-01-12 2018-01-09 リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、リソース設定制御プログラム Active JP6798564B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017003083 2017-01-12
JP2017003083 2017-01-12
PCT/JP2018/000162 WO2018131556A1 (ja) 2017-01-12 2018-01-09 リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、コンピュータ読み取り可能記録媒体

Publications (2)

Publication Number Publication Date
JPWO2018131556A1 true JPWO2018131556A1 (ja) 2019-11-07
JP6798564B2 JP6798564B2 (ja) 2020-12-09

Family

ID=62839926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018561355A Active JP6798564B2 (ja) 2017-01-12 2018-01-09 リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、リソース設定制御プログラム

Country Status (3)

Country Link
US (1) US10891164B2 (ja)
JP (1) JP6798564B2 (ja)
WO (1) WO2018131556A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210103830A1 (en) * 2019-10-08 2021-04-08 At&T Intellectual Property I, L.P. Machine learning based clustering and patterning system and method for network traffic data and its application
CN113727366A (zh) * 2020-05-25 2021-11-30 索尼公司 电子设备、无线通信方法和计算机可读存储介质
US11782895B2 (en) 2020-09-07 2023-10-10 Mellanox Technologies, Ltd. Cuckoo hashing including accessing hash tables using affinity table
US11917042B2 (en) * 2021-08-15 2024-02-27 Mellanox Technologies, Ltd. Optimizing header-based action selection
US11929837B2 (en) 2022-02-23 2024-03-12 Mellanox Technologies, Ltd. Rule compilation schemes for fast packet classification
US11968285B2 (en) 2022-02-24 2024-04-23 Mellanox Technologies, Ltd. Efficient memory utilization for cartesian products of rules

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018694A1 (en) * 2000-09-01 2003-01-23 Shuang Chen System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US8239876B2 (en) 2007-06-12 2012-08-07 Ricoh Company, Ltd. Efficient web services application status self-control system on image-forming device
JP2016110248A (ja) 2014-12-03 2016-06-20 日本電信電話株式会社 仮想化実行装置、仮想化システム、および、リソース最適化方法
JP2017004235A (ja) 2015-06-10 2017-01-05 富士ゼロックス株式会社 管理装置及びプログラム
US10372926B1 (en) * 2015-12-21 2019-08-06 Amazon Technologies, Inc. Passive distribution of encryption keys for distributed data stores

Also Published As

Publication number Publication date
JP6798564B2 (ja) 2020-12-09
US10891164B2 (en) 2021-01-12
WO2018131556A1 (ja) 2018-07-19
US20190340028A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
WO2018131556A1 (ja) リソース設定制御装置、リソース設定制御システム、リソース設定制御方法、および、コンピュータ読み取り可能記録媒体
Fu et al. DRS: Auto-scaling for real-time stream analytics
US9794135B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US9276959B2 (en) Client-configurable security options for data streams
US9858322B2 (en) Data stream ingestion and persistence techniques
JP5614226B2 (ja) 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
JP5327220B2 (ja) 管理プログラム、管理装置および管理方法
JP6729399B2 (ja) システム、仮想化制御装置、仮想化制御装置の制御方法及びプログラム
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US10178046B1 (en) Reducing quota access
JP2016133964A (ja) 計算資源割当て方法およびシステム
Konstantinou et al. Tiramola: elastic nosql provisioning through a cloud management platform
US9535749B2 (en) Methods for managing work load bursts and devices thereof
US20190028375A1 (en) Prioritized client-server communications based on server health
KR20150030332A (ko) 데이터 분산 처리 시스템 및 이의 동작 방법
WO2013185175A1 (en) Predictive analytics for resource provisioning in hybrid cloud
US10866838B2 (en) Cluster computing service assurance apparatus and method
JP2014509036A (ja) メトリックデータに動的にタグを付けるための方法およびシステム
CN109960579B (zh) 一种调整业务容器的方法及装置
Ravindra et al. Latency aware elastic switching-based stream processing over compressed data streams
US9349012B2 (en) Distributed processing system, distributed processing method and computer-readable recording medium
JP6094272B2 (ja) 管理システム、管理方法、管理プログラム及び管理装置
JPWO2017017774A1 (ja) ストレージ監視システムおよびその監視方法
JP2014081925A (ja) クラウド管理装置、クラウド管理システム、クラウド管理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201102

R150 Certificate of patent or registration of utility model

Ref document number: 6798564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150