[go: up one dir, main page]

JP7768337B2 - リソース決定装置、方法およびプログラム - Google Patents

リソース決定装置、方法およびプログラム

Info

Publication number
JP7768337B2
JP7768337B2 JP2024502255A JP2024502255A JP7768337B2 JP 7768337 B2 JP7768337 B2 JP 7768337B2 JP 2024502255 A JP2024502255 A JP 2024502255A JP 2024502255 A JP2024502255 A JP 2024502255A JP 7768337 B2 JP7768337 B2 JP 7768337B2
Authority
JP
Japan
Prior art keywords
virtual machine
quality
predicted value
service
web conference
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.)
Active
Application number
JP2024502255A
Other languages
English (en)
Other versions
JPWO2023162000A1 (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2023162000A1 publication Critical patent/JPWO2023162000A1/ja
Application granted granted Critical
Publication of JP7768337B2 publication Critical patent/JP7768337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の実施形態は、リソース決定装置、方法およびプログラムに関する。
サーバコンピュータ(server computer)のリソース(resource)を制御するために、オートスケーリング(Auto-scaling)が比較的多く用いられている(例えば非特許文献1、2参照)。このオートスケーリングでは、インスタンス(instance)であるVM(Virtual Machine:仮想マシン)のリアルタイム(real time)の状態、例えば(CPU(Central Processing Unit)の使用率等)をベースにして、リソースの調整について決定する。
Lorido-Botran, et, al. A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments. J Grid Computing 12, 559-592 (2014). M. Mao, et al. Auto-scaling to minimize cost and meet application deadlines in cloud workflows,International Conference for High Performance Computing, Networking, Storage and Analysis, 2011, pp. 1-12.
上記の既存のオートスケーリングの技術では、上記のようにVMのリアルタイムの状態をベースにして、リソースの調整について決定するので、プロアクティブ(proactive)にリソースを制御することはできない。
また、オートスケーリングにはdeadlineやbudgetを考慮した多くの技術が存在するが、ユーザ(user)体感品質の要件は考慮されていなかった。
従って、オートスケーリングをWeb会議サービス(service)に適用する際で、同時に複数のWeb会議が発生する際に、プロアクティブにリソースを配置できないため、突発的な高い処理負荷によりリソースが枯渇し、ユーザ体感品質が低下する可能性がある。
この発明は、上記事情に着目してなされたもので、その目的とするところは、インスタンスの状態に応じて適切にリソースを決定することができるようにしたリソース決定装置、方法およびプログラムを提供することにある。
本発明の一態様に係るリソース決定装置は、ユーザによりリクエストされるサービスであって仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、前記仮想マシンのリソース配置、および前記リクエストされるサービスが前記仮想マシンに配置されたと仮定したときの前記リクエストされるサービスに係る品質の予測値の関係が示されるモデルが格納されるモデル格納装置と、前記モデルにおける前記仮想マシンに新たなサービスが配置されたと仮定したときの前記品質の予測値が適切な品質の要件を満たすか否かを判定する判定部と、前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように前記仮想マシンのリソース配置の変更を制御する制御部と、を備える。
本発明の一態様に係るリソース決定方法は、ユーザによりリクエストされるサービスであって仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、前記仮想マシンのリソース配置、および前記リクエストされるサービスが前記仮想マシンに配置されたと仮定したときの前記リクエストされるサービスに係る品質の予測値の関係が示されるモデルが格納される格納装置を備えるリソース決定装置により行れる方法であって、前記リソース決定装置の判定部により、前記モデルにおける前記仮想マシンに新たなサービスが配置されたと仮定したときの前記品質の予測値が適切な品質の要件を満たすか否かを判定することと、前記リソース決定装置の制御部により、前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように前記仮想マシンのリソース配置の変更を制御することと、を備える。
本発明によれば、インスタンスの状態に応じて適切にリソースを決定することができる。
図1は、本発明の一実施形態に係るリソース決定システム(system)の適用例を示す図である。 図2は、Web会議品質モデル(model)の入出力データ(data)の一例を示す図である。 図3は、本発明の一実施形態に係るリソース決定装置による垂直スケール(scale)に係る手順の一例を示すシーケンス(sequence)図である。 図4は、本発明の一実施形態に係るリソース決定装置による水平スケールに係る手順の一例を示すシーケンス図である。 図5は、Web会議品質に応じた垂直スケールの具体例を示す図である。 図6は、Web会議品質に応じた垂直スケールの具体例を示す図である。 図7は、Web会議品質に応じた垂直スケールの具体例を示す図である。 図8は、Web会議品質に応じた水平スケールの具体例を示す図である。 図9は、Web会議品質に応じた水平スケールの具体例を示す図である。 図10は、Web会議品質に応じた水平スケールの具体例を示す図である。 図11は、Web会議品質に応じた水平スケールの具体例を示す図である。 図12は、Web会議品質に応じた水平スケールの具体例を示す図である。 図13は、本発明の一実施形態に係るリソース決定装置のハードウエア(hardware)構成の一例を示すブロック図(block diagram)である。
以下、図面を参照しながら、この発明に係わる一実施形態を説明する。
図1は、本発明の一実施形態に係るリソース決定システムの適用例を示す図である。
図1に示されるように、本発明の一実施形態に係るリソース決定システムは、リソース決定装置であるWeb会議スケジューリング(scheduling)装置100、およびクラウドリソースコントローラ(cloud resource controller)200を有する。
Web会議スケジューリング装置100は、Web会議スケジューラ(scheduler)10、Web会議予約保存部20、およびWeb会議配置部30を有する。また、Web会議スケジューラ10は、コントローラ11、インスタンス(VM)状態監視部12、およびWeb会議品質モデルDB(database)13を有する。
Web会議予約保存部20の図示しないデータベースには、予約済みかつ終了前のWeb会議、すなわち新たなWeb会議の予約内容が示される予約情報、すなわち新たな処理負荷の予約情報が保存される。この予約情報は、例えば、予約情報毎に付与された識別情報(ID(IDentifier))、予約されたWeb会議の参加予定人数、当該Web会議の実施予定の時間帯の情報を含む。終了したWeb会議に係る情報はWeb会議予約保存部20から削除される。
新たなWeb会議を予約したいユーザは、Web会議スケジューラ10に接続可能な図示しないインタフェース(interface)を用いて、Web会議の予約のリクエスト(request)をWeb会議スケジューラ10に送ることができる。
Web会議スケジューラ10は、この予約のリクエストを受けると、このリクエストに係る予約情報をWeb会議予約保存部20に保存した上で(図1の(1―1))、この保存した予約情報を含む、予約済みかつ終了前のWeb会議の予約内容が示される予約情報を取得する(図1の(1―2))。この予約情報では、VMに配置されるWeb会議に係る処理負荷(以下、Web会議負荷と称することがある)、例えば当該Web会議への参加人数、および開催予定時間帯に係る情報が示される。
Web会議スケジューラ10のコントローラ11は、上記予約情報を取得すると、Web会議に用いられるインスタンスである各VMの状態、例えばWeb会議が配置されるVMにおけるリソースの設定状況、例えばCPUのコア(core)数およびメモリ(memory)容量をインスタンス状態監視部12に問い合わせ、この問い合わせた情報を取得する。ここでは、各VMはクラウド上で運用される仮想マシンであるとする。
コントローラ11は、インスタンス状態監視部12から取得した情報をWeb会議品質モデルDB13におけるWeb会議品質モデルに入力する。Web会議品質モデルは、Web会議が配置されるVMにおけるリソースの設定状況、およびVMに配置されるWeb会議およびVMに配置されると仮定されるWeb会議に係る処理負荷を示す情報を入力して、VMに配置されるWeb会議に係るユーザ体感品質の予測値を出力することができ、入出力の関係は事前に学習され得る。
コントローラ11は、Web会議品質モデルから出力されたユーザ体感品質の予測値が、ユーザ体感品質の所定の条件を満たさないときに、このユーザ体感品質が上記条件を満たすようにするための、Web会議が配置されるVMのリソースの調整をシステム管理者にレコメンドする(図1の(2))。
あわせて、コントローラ11は、ユーザ体感品質が上記条件を満たすようにするための、Web会議の配置先であるVMへの当該Web会議の配置をWeb会議配置部30に指示する(図1の(4-1))。
システム管理者は、クラウドリソースコントローラ200への操作により、リソースの調整に係る指示を行なう(図1の(3―1))。
クラウドリソースコントローラ200は、この指示に従い、Web会議が配置される新たなVM(図1の符号a参照)を起動したり、このVMのリソースを変更したりすることができる(図1の(3-2))。
Web会議配置部30は、上記指示に従って、Web会議をVMに配置して、当該Web会議を開始できるようにする(図1の(4-2))。
次に、Web会議品質モデルの構成と、その学習について説明する。
Web会議スケジューラ10のコントローラ11は、インスタンス状態監視部12から、(1)VMに配置されるWeb会議およびVMに配置されると仮定されるWeb会議に係る処理負荷であるWeb会議負荷、(2)Web会議が配置されるVMにおけるリソースの設定状況であるクラウドリソース設定を取得し、この取得結果をWeb会議品質モデルに説明変数として入力する。
上記のWeb会議に係る処理負荷は、例えば、Web会議数、Web会議への参加者数、Web会議への参加中のpublisher数、subscriber数、等である。
上記リソースの設定状況は、例えば、インスタンスであるVMに設けられたCPU数、メモリ量等である。
Web会議品質モデルは、上記入力の結果に基づいて、目的変数として、Web会議の品質(ユーザ体感品質)を表す指標、すなわちWeb会議の品質の予測値を出力することができる。このモデルのパラメータは、回帰分析手法、例えばNeural-Network Regression, Linear Regression, Random Forest Regression等が用いられることで、この入出力の関係が適切となるように、すなわちWeb会議の品質の予測値が正解情報に近づくように学習され得る。
例えば、Web会議の品質(ユーザ体感品質)を表す指標は、例えばWeb会議が配置されるインスタンスであるVMにおけるCPU使用率の予測値、ジッター(jitter)、スループット(throughput)、およびMОS(Mean Opinion Score)などが挙げられる。
次に、上記のように学習されたWeb会議品質モデルを用いた、Web会議品質に関する指標の算出について説明する。図2は、Web会議品質モデルの入出力データの一例を示す図である。ここでは新たなWeb会議の予約に応じて、ユーザ体感品質が算出されることが示される。
図2に示された例では、Web会議モデルに入力される情報で示されるWeb会議負荷は、(1)現在の進行中のWeb会議に係るWeb会議負荷、および(2)新規のWeb会議のリクエストによる、現在時刻から10分後からの開始されるWeb会議の予約である将来10分間Web会議予約に係るWeb会議負荷を含む(図2の符号a参照)。この将来10分間Web会議予約に係る現在時刻から開始予定時刻までの時間である10分間は、インスタンスの実際の運用状態に応じてカスタマイズ(customization)され得る。
上記の、現在の進行中のWeb会議に係るWeb会議負荷は、該当のWeb会議を一意に識別する識別情報(ID)、該当のWeb会議の参加者の人数、ならびに該当のWeb会議の開始時刻から終了時刻までの時間帯を含み得る。
上記の、将来10分間Web会議予約に係るWeb会議負荷は、該当のWeb会議を一意に識別する識別情報、該当のWeb会議の参加予定者の人数、ならびに該当のWeb会議の開始予定時刻から終了予定時刻までの時間帯を含み得る。
上記の、Web会議モデルに入力されるクラウドリソース設定は、インスタンスである1台のVMに搭載されるCPUの数を含み得る。上記の現在の進行中のWeb会議は、上記1台のVMに配置されている。
上記の、Web会議モデルから出力される、Web会議の品質に係る指標は、該当のWeb会議を一意に識別する識別情報、現在の進行中のWeb会議による上記1台のVMのCPUの使用率の予測値、新規会議リクエストにより開催されるWeb会議による上記1台のVMのCPUの使用率の予測値、各Web会議の開始から終了までの時間帯を含む。
図2に示された例では、上記1台のVMに対して上記識別情報が「p」である「Web会議p」が配置されたときの当該VMのCPUの使用率の予測値は50%である。
また、図2に示された例では、上記1台のVMに対して上記識別情報が「a」である「Web会議a」が新たに配置されたと仮定したときの当該VMのCPUの使用率の予測値は10%である。
この「Web会議a」は、「Web会議p」の時間帯と一部重複する時間帯の開催が新規にリクエストされたWeb会議である。
仮に、上記1台のVMのCPUの使用率の閾値が80%に設定されたときは、当該VMに対して「Web会議p」に加えて「Web会議a」が新たに配置されたと仮定したときのCPUの使用率の予測値の合計は60%であり上記閾値の80%を超えないため、「Web会議a」は、「Web会議p」が現在配置されている上記1台のVMに配置することが可能である。
一方で、「Web会議a」が新たに配置されたと仮定したときの当該VMのCPUの使用率の予測値が例えば30%を超えるときは、上記予測値の合計は閾値を超えるため、配置先のVMに係るリソースの調整が必要である。
図3は、本発明の一実施形態に係るリソース決定装置による垂直スケールに係る手順の一例を示すシーケンス図である。
図3に示された例では、Web会議スケジューラによる垂直スケールを行なうときの各処理の流れが示される。
まず、Web会議スケジューラ10のコントローラ11は、Web会議予約保存部20から、現在開催中のWeb会議および新規に開催がリクエストされた会議予約情報を上記のWeb会議負荷として取得する(S11)。
コントローラ11は、インスタンス状態監視部12に対し、既にWeb会議が配置されている既存の各VMの状態であるクラウドリソース設定を問い合わせて、これを取得する(S12)。
コントローラ11は、S11およびS12での取得結果をWeb会議品質モデルに入力することで、上記リクエストされたWeb会議が既存のいずれかのVMに新たに配置されたと仮定したときのユーザ体感品質の変化の予測値を問い合わせ、Web会議品質モデルから出力結果を上記予測値として取得する(S13)。
コントローラ11は、この予測値をScale-upのユーザ体感品質閾値と比較し、予測値が閾値を超えないときは、上記リクエストされたWeb会議を該当の既存のインスタンス(VM)に配置することが可能と判定する。この場合は、リクエストされたWeb会議の配置に伴うリソースの調整は行われない。
一方で、予測値が閾値を超えるときは、上記リクエストされたWeb会議を既存のインスタンスに配置して開催するためには、インスタンスのリソースの調整である垂直スケールが必要であると判定する。このときは、コントローラ11は、垂直スケールとしてのScale-upをシステム管理者にレコメンド(recommendation)するとともに(S14,S15)、既存の各VMから上記リクエストされたWeb会議の配置先のVMを設定して、この設定されたVMに対して上記リクエストされたWeb会議を配置することをWeb会議配置部30に指示する(S16)。すなわち、コントローラ11は、予測値が適切な品質の要件を満たさないと判定されたときに、予測値が適切な品質の要件を満たすように仮想マシンのリソース配置の変更を制御する。
システム管理者は、コントローラ11からのレコメンドに従い、クラウドリソースコントローラ200に各VMのリソースに対するScale-upを指示する(S17)。この指示に従い、クラウドリソースコントローラ200は上記Scale-upを実施に必要な制御を実行する。このScale-upにより、VMのリソースの拡充、例えばCPUのコア数の増強が図られる。
また、上記のScale-upの実施後は、上記のユーザ体感品質の変化の予測値が例えば一定時間ごとに取得され、この取得された予測値が、例えば上記Scale-upのユーザ体感品質閾値より小さいScale-downの閾値以下であるとき、コントローラ11は、インスタンスのScale-downをシステム管理者にレコメンドする(S18)。
システム管理者は、コントローラ11からのレコメンドに従い、クラウドリソースコントローラ200に各VMのリソースに対するScale-downを指示する(S19)。この指示に従い、クラウドリソースコントローラ200は上記Scale-downの実施に必要な制御を実行する。
図4は、本発明の一実施形態に係るリソース決定装置による水平スケールに係る手順の一例を示すシーケンス図である。
図4に示された例では、Web会議スケジューラによる水平スケールを行なうときの各処理の流れが示される。
まず、Web会議スケジューラ10のコントローラ11は、Web会議予約保存部20から、現在開催中のWeb会議および新規に開催がリクエストされた会議予約情報を上記のWeb会議負荷として取得する(S31)。
コントローラ11は、インスタンス状態監視部12に対し、既にWeb会議が配置されている既存の各VMの状態であるクラウドリソース設定を問い合わせて、これを取得する(S32)。
コントローラ11は、S31およびS32での取得結果をWeb会議品質モデルに入力することで、上記リクエストされたWeb会議が既存のいずれかのVMに新たに配置されたと仮定したときのユーザ体感品質の予測値を問い合わせ、Web会議品質モデルから出力結果を上記予測値として取得する(S33)。
コントローラ11は、この予測値をScale-upのユーザ体感品質閾値と比較し、予測値が閾値を超えないときは、上記リクエストされたWeb会議を該当の既存のインスタンス(VM)に配置することが可能と判定する。この場合は、リクエストされたWeb会議の配置に伴うリソースの調整は行われない。
一方で、予測値が閾値を超えるときは、上記リクエストされたWeb会議を既存のインスタンスに配置して開催するためには、インスタンスのリソースの調整である水平スケールが必要であると判定する。
このときは、コントローラ11は、垂直スケールとしてのScale-outをシステム管理者にレコメンドとともに(S34,S35)、既存の各VMとは異なる、上記リクエストされたWeb会議の配置先の新たなVMを設定して、この設定されたVMに対して上記リクエストされたWeb会議を配置することをWeb会議配置部30に指示する(S36)。
システム管理者は、コントローラ11からのレコメンドに従い、クラウドリソースコントローラ200にVMのリソースに対するScale-outを指示する(S37)。
この指示に従い、クラウドリソースコントローラ200は上記Scale-outを実施に必要な制御を実行する。このScale-upにより、VMのリソースの追加、例えば既存のVMに対する新たなVMの追加が図られる。
また、上記のScale-outの実施後は、コントローラ11は、上記追加されたVMに配置されるWeb会議の有無を確認するためにWeb会議配置部30にアクセスし、上記追加されたVMに一定時間にわたりWeb会議が配置されないときは、コントローラ11は、該当のVM休止させるScale-inをシステム管理者にレコメンドする(S38)。
システム管理者は、コントローラ11からのレコメンドに従い、クラウドリソースコントローラ200に該当のVMのリソースに対するScale-inを指示する(S39)。この指示に従い、クラウドリソースコントローラ200は上記Scale-inの実施に必要な制御を実行する。
図5乃至図7は、Web会議品質に応じた垂直スケールの具体例を示す図である。
まず、図5に示された例では、既存のインスタンスである「インスタンスA」はCPUのコア数が2であるVMであり、このVMに8時55分から配置されている既存のWeb会議である「会議X」による現在のCPU使用率の予測値が75%であり、このVMにおけるCPU使用率の上限が80%である例が示される。この上限はユーザ体感品質を満足させるためのCPU使用率である。
図5に示された例では、9時開始の新たなWeb会議「会議A」の配置がリクエストされ、この「会議A」が「インスタンスA」に新たに配置されたと仮定したときに増加するCPU使用率の予測値が35%であるとする。
この場合、「インスタンスA」に「会議A」が新たに配置されたと仮定したときの全体的なCPU使用率は110%であって上限の80%を超えるため、「インスタンスA」に係る垂直スケール、ここではCPUコア数の増加を要するとして、上記のScale-upが要求される。
図6に示された例では、上記のScale-upにより「インスタンスA」のCPUコア数が2から4に増強されたとする。
この構成では、「インスタンスA」に対応するVMに現在配置されているWeb会議による現在のCPU使用率の予測値が上記の75%から40%に減少し、「会議A」が「インスタンスA」に新たに配置されたと仮定したときに増加するCPU使用率の予測値が上記の35%から18%に減少したとする。
この場合、「インスタンスA」に「会議A」が新たに配置されたと仮定したときの全体的なCPU使用率は上記の110%から58%に減少し、上限の80%を超えないようになるので、「インスタンスA」に「会議A」が新たに配置されて、この「会議A」が上記既存のWeb会議「会議X」とともに実施されることが可能になる。
そして、上記のScale-upにより「インスタンスA」に「会議A」が新たに配置されたと仮定したときの全体的なCPU使用率が減少して上限を超えないようなると、更なる新たなWeb会議が「インスタンスA」に配置できるようになる。
例えば、図7に示された例では、「インスタンスA」に「会議A」に加えて「会議B」が新たに配置されたと仮定したときに増加するCPU使用率の予測値が5%であり、全体的なCPU使用率は63%であり、上限を超えないので、「インスタンスA」に「会議B」が新たに配置されて、この「会議B」が、上記既存のWeb会議「会議X」および先に配置された「会議A」とともに実施されることが可能になる。
図8乃至図12は、Web会議品質に応じた水平スケールの具体例を示す図である。
まず、図8に示された例では、既存のインスタンスである「インスタンスA」であるVMに8時55分から配置されている既存のWeb会議「会議X」による現在のCPU使用率の予測値が75%であり、このVMにおけるCPU使用率の上限が80%である例が示される。
図8に示された例では、9時開始の新たなWeb会議「会議A」の配置がリクエストされ、この「会議A」が「インスタンスA」に新たに配置されたと仮定したときに増加するCPU使用率の予測値が35%であるとする。
この場合、「インスタンスA」に「会議A」が新たに配置されたと仮定したときの全体的なCPU使用率は110%であって上限の80%を超えるため、「インスタンスA」に係る水平スケール、ここではCPUコア数の増加を要するとして、上記のScale-outが要求される。
図9に示された例では、上記のScale-outにより新たな「インスタンスB」が追加されたとする。
この構成では、上記「会議A」が既存の「インスタンスA」でなく新たな「インスタンスB」に対応するVMに新たに配置され、この「会議A」が「インスタンスB」に新たに配置されたと仮定したときのCPU使用率の予測値が上記の35%であるとする。
この場合、「会議A」が新たに配置されたと仮定したときの「インスタンA」の全体的なCPU使用率は上記の75%のままであり、上限の80%を超えないようになるので、「インスタンスB」に「会議A」が新たに配置されて、この「会議A」が、「インスタンスA」に配置される既存のWeb会議「会議X」とともに実施されることが可能になる。
そして、上記のScale-outにより、新たな「インスタンスB」が設けられ、このインスタンスに「会議A」が新たに配置されたと仮定したときの、「インスタンスA」および「インスタンスB」のCPU使用率は上限に対して余裕があるため、更なる新たなWeb会議が各インスタンスに配置できるようになる。
例えば、図10に示された例では、新たな「インスタンスB」に「会議A」に加えて「会議B」が新たに配置されたと仮定したときのCPU使用率の予測値10%であり、全体的なCPU使用率は45%であり、上限を超えないので、「インスタンスB」に「会議B」が新たに配置されて、この「会議B」が上記既存のWeb会議「会議X」および先に配置されたWeb会議「会議A」とともに実施されることが可能になる。
そして、図11に示された例では、上記図10に示されたように「インスタンスB」に「会議B」が新たに配置されたと仮定した状態において、「インスタンスA」に新たなWeb会議「会議C」が配置されたと仮定したときに増加するCPU使用率の予測値が75%であり、「インスタンスA」に「会議A」が新たに配置されたと仮定したときの全体的なCPU使用率は150%であって上限の80%を超えることと、「インスタンスB」に上記「会議C」が新たに配置されたと仮定したときに増加するCPU使用率の予測値が上記の75%であり、「インスタンスB」に「会議C」が新たに配置されたと仮定したときの全体的なCPU使用率は120%であって上限の80%を超えることが示される。このときは、上記「会議C」が実施されるためには、更なるScale-outが必要である。
そして、図12に示された例では、上記の更なるScale-outにより新たな「インスタンスC」が追加され、このインスタンスに上記「会議C」が新たに配置されたと仮定したときは、「インスタンスA」乃至「インスタンスC」における全体的なCPU使用率は上限の80%を超えないので、「会議C」が上記既存のWeb会議「会議X」、先に配置されたWeb会議「会議A」および「会議B」とともに実施されることが可能になる。
図13は、本発明の一実施形態に係るリソース決定装置のハードウエア構成の一例を示すブロック図である。
図13に示された例では、上記の実施形態に係るWeb会議スケジューリング装置100は、例えばサーバコンピュータ(server computer)またはパーソナルコンピュータ(personal computer)により構成され、CPU等のハードウエアプロセッサ(hardware processor)111Aを有する。そして、このハードウエアプロセッサ111Aに対し、プログラムメモリ(program memory)111B、データメモリ(data memory)112、入出力インタフェース113及び通信インタフェース114が、バス(bus)115を介して接続される。クラウドリソースコントローラ200についても同様である。
通信インタフェース114は、例えば1つ以上の無線の通信インタフェースユニットを含んでおり、通信ネットワーク(network)NWとの間で情報の送受信を可能にする。無線インタフェースとしては、例えば無線LAN(Local Area Network)などの小電力無線データ通信規格が採用されたインタフェースが使用される。
入出力インタフェース113には、Web会議スケジューリング装置100に付設される、利用者などにより用いられる入力デバイス(device)500および出力デバイス600が接続される。
入出力インタフェース113は、キーボード(keyboard)、タッチパネル(touch panel)、タッチパッド(touchpad)、マウス(mouse)等の入力デバイス500を通じて利用者などにより入力された操作データを取り込むとともに、出力データを液晶または有機EL(Electro Luminescence)等が用いられた表示デバイスを含む出力デバイス600へ出力して表示させる処理を行なう。なお、入力デバイス500および出力デバイス600には、Web会議スケジューリング装置100に内蔵されたデバイスが使用されてもよく、また、ネットワークNWを介してWeb会議スケジューリング装置100と通信可能である他の情報端末の入力デバイスおよび出力デバイスが使用されてもよい。
プログラムメモリ111Bは、非一時的な有形の記憶媒体として、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込みおよび読出しが可能な不揮発性メモリ(non-volatile memory)と、ROM(Read Only Memory)等の不揮発性メモリとが組み合わせて使用されたもので、一実施形態に係る各種制御処理等を実行する為に必要なプログラムが格納されている。
データメモリ112は、有形の記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリ(volatile memory)とが組み合わせて使用されたもので、各種処理が行なわれる過程で取得および作成された各種データが記憶される為に用いられる。
本発明の一実施形態に係るWeb会議スケジューリング装置100は、ソフトウエア(software)による処理機能部として、図1に示されるWeb会議スケジューラ10、Web会議予約保存部20およびWeb会議配置部30を有するデータ処理装置として構成され得る。
Web会議スケジューリング装置100の各部によるワークメモリ(working memory)などとして用いられる各情報記憶部は、図13に示されたデータメモリ112が用いられることで構成され得る。ただし、これらの構成される記憶領域はWeb会議スケジューリング装置100内に必須の構成ではなく、例えば、USB(Universal Serial Bus)メモリなどの外付け記憶媒体、又はクラウド(cloud)に配置されたデータベースサーバ(database server)等の記憶装置に設けられた領域であってもよい。
上記のWeb会議スケジューラ10、Web会議予約保存部20およびWeb会議配置部30の各部における処理機能部は、いずれも、プログラムメモリ111Bに格納されたプログラムを上記ハードウエアプロセッサ111Aにより読み出させて実行させることにより実現され得る。なお、これらの処理機能部の一部または全部は、特定用途向け集積回路(ASIC(Application Specific Integrated Circuit))またはFPGA(Field-Programmable Gate Array)などの集積回路を含む、他の多様な形式によって実現されてもよい。
以上説明した一実施形態では、例えばクラウドリソース、Web会議サービスの処理負荷、およびユーザ体感品質の関係性を表すモデルを構築し、予約されたWeb会議をVMに配置する際に、ユーザ体感の指標を満たすか否かを判定、満たせない場合は、この指標を満たすように水平スケールまたは垂直スケールによりリソースを制御する。よって、ユーザ体感品質を考慮して最適なリソースを決定することができる。
また、各実施形態に記載された手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク(Floppy disk)、ハードディスク(hard disk)等)、光ディスク(optical disc)(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ(Flash memory)等)等の記録媒体に格納し、また通信媒体により伝送して頒布され得る。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段(実行プログラムのみならずテーブル(table)、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
100…Web会議スケジューリング装置
200…クラウドリソースコントローラ
10…Web会議スケジューラ
11…コントローラ
12…インスタンス状態監視部
13…Web会議品質モデルDB
20…Web会議予約保存部
30…Web会議配置部

Claims (8)

  1. ユーザによりリクエストされるサービスであって仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、前記仮想マシンのリソース配置、および前記リクエストされるサービスが前記仮想マシンに配置されたと仮定したときの前記リクエストされるサービスに係る品質の予測値の関係が示されるモデルが格納されるモデル格納装置と、
    前記モデルにおける前記仮想マシンに新たなサービスが配置されたと仮定したときの前記品質の予測値が適切な品質の要件を満たすか否かを判定する判定部と、
    前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように前記仮想マシンのリソース配置の変更を制御する制御部と、
    を備えるリソース決定装置。
  2. 前記モデルは、前記仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、および前記仮想マシンのリソース配置を示す情報を説明変数として入力し、前記サービスが前記仮想マシンに配置されたと仮定したときの前記品質の予測値が目的変数として出力されるモデルであって、
    前記品質の予測値が正解情報に近づくように前記モデルのパラメータが更新される、
    請求項1に記載のリソース決定装置。
  3. 前記制御部は、
    前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように、前記仮想マシンの台数を変更せずに性能を拡充するように前記リソース配置の変更を制御する、
    請求項1に記載のリソース決定装置。
  4. 前記制御部は、
    前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように、前記サービスが配置される仮想マシンの台数が追加されるように前記リソース配置の変更を制御する、
    請求項1に記載のリソース決定装置。
  5. 前記仮想マシンへの配置がリクエストされた新たなサービスの予約情報が格納される予約情報格納装置をさらに備え、
    前記判定部は、
    前記予約情報格納装置に格納される予約情報で示されるサービスが前記仮想マシンに配置されたと仮定したときの前記品質の予測値が適切な品質の要件を満たすか否かを判定する、
    請求項1に記載のリソース決定装置。
  6. ユーザによりリクエストされるサービスであって仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、前記仮想マシンのリソース配置、および前記リクエストされるサービスが前記仮想マシンに配置されたと仮定したときの前記リクエストされるサービスに係る品質の予測値の関係が示されるモデルが格納される格納装置を備えるリソース決定装置により行れる方法であって、
    前記リソース決定装置の判定部により、前記モデルにおける前記仮想マシンに新たなサービスが配置されたと仮定したときの前記品質の予測値が適切な品質の要件を満たすか否かを判定することと、
    前記リソース決定装置の制御部により、前記予測値が前記適切な品質の要件を満たさないと前記判定部により判定されたときに、前記予測値が前記適切な品質の要件を満たすように前記仮想マシンのリソース配置の変更を制御することと、
    を備えるリソース決定方法。
  7. 前記モデルは、前記仮想マシンに配置されるサービスおよび前記仮想マシンに配置されると仮定されるサービスに係る処理負荷、および前記仮想マシンのリソース配置を示す情報を説明変数として入力し、前記サービスが前記仮想マシンに配置されたと仮定したときの前記品質の予測値が目的変数として出力されるモデルであって、
    前記品質の予測値が正解情報に近づくように前記モデルのパラメータが更新される、
    請求項6に記載のリソース決定方法。
  8. 請求項1乃至5のいずれか1項に記載のリソース決定装置の部としてプロセッサを機能させるリソース決定処理プログラム。
JP2024502255A 2022-02-22 2022-02-22 リソース決定装置、方法およびプログラム Active JP7768337B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/007259 WO2023162000A1 (ja) 2022-02-22 2022-02-22 リソース決定装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2023162000A1 JPWO2023162000A1 (ja) 2023-08-31
JP7768337B2 true JP7768337B2 (ja) 2025-11-12

Family

ID=87765201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024502255A Active JP7768337B2 (ja) 2022-02-22 2022-02-22 リソース決定装置、方法およびプログラム

Country Status (3)

Country Link
US (1) US20250181412A1 (ja)
JP (1) JP7768337B2 (ja)
WO (1) WO2023162000A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240411603A1 (en) * 2023-06-08 2024-12-12 Gram Labs, Inc. Automated rightsizing of containerized application with optimized horizontal scaling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003736A (ja) 2006-06-21 2008-01-10 Hitachi Ltd 計算機資源不足を警告する方法
JP2020123003A (ja) 2019-01-29 2020-08-13 日本電信電話株式会社 仮想化基盤および仮想化基盤のスケーリング管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003736A (ja) 2006-06-21 2008-01-10 Hitachi Ltd 計算機資源不足を警告する方法
JP2020123003A (ja) 2019-01-29 2020-08-13 日本電信電話株式会社 仮想化基盤および仮想化基盤のスケーリング管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
呉 超 ほか,クラウド環境のリソース設計を効率化するIntent-Based Service Management(IBSM)フレームワーク,NTT技術ジャーナル,一般社団法人電気通信協会,2018年12月01日,第30巻,第12号,pp.48-52

Also Published As

Publication number Publication date
JPWO2023162000A1 (ja) 2023-08-31
US20250181412A1 (en) 2025-06-05
WO2023162000A1 (ja) 2023-08-31

Similar Documents

Publication Publication Date Title
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
CN111344688B (zh) 云计算中资源提供的方法及系统
US8856797B1 (en) Reactive auto-scaling of capacity
US8458500B2 (en) Server allocation to workload based on energy profiles
US20200174844A1 (en) System and method for resource partitioning in distributed computing
CN109947532B (zh) 一种教育云平台中的大数据任务调度方法
US20190102716A1 (en) Crowd sourced resources as selectable working units
Yao et al. LsPS: A job size-based scheduler for efficient task assignments in Hadoop
CN110597639A (zh) Cpu分配控制方法、装置、服务器及存储介质
JP2019057213A (ja) 調整プログラム、調整装置および調整方法
US8832263B2 (en) Dynamic resource adaptation
CN106664259A (zh) 虚拟网络功能扩容的方法和装置
JP7768337B2 (ja) リソース決定装置、方法およびプログラム
JP6957194B2 (ja) サービスシステム、その制御方法、およびそのプログラム
CN109739634A (zh) 一种原子任务执行方法及装置
JP6094594B2 (ja) 情報システム構築支援装置、情報システム構築支援方法および情報システム構築支援プログラム
CN114175602A (zh) 云资源的权限管理
Yang et al. Multi-policy-aware MapReduce resource allocation and scheduling for smart computing cluster
JP7768393B2 (ja) データ処理装置、方法およびプログラム
Jiang et al. AMS: Adaptive multiget scheduling algorithm for distributed key-value stores
JP5997659B2 (ja) 分散処理システムおよび分散処理方法
Primas et al. A framework and task allocation analysis for infrastructure independent energy-efficient scheduling in cloud data centers
JP2015161956A (ja) メンテナンス管理装置
Zhang et al. Utility functions in autonomic workload management for DBMSs
CN114090201A (zh) 资源调度方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251013

R150 Certificate of patent or registration of utility model

Ref document number: 7768337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150